ステートフルNAT64機能により、NetScalerアプライアンスのセッション情報を維持したまま、IPv6からIPv4へのパケット変換、またはその逆のパケット変換によるIPv6クライアントとIPv4サーバー間の通信が可能になります。
NetScalerアプライアンスのステートフルNAT64構成には、次のコンポーネントが含まれます。
-
NAT64ルール — ACL6ルールとネットプロファイルで構成されるエントリ。ネットプロファイルは、NetScalerが所有するSNIPアドレスのプールで構成されます。
-
NAT64 IPv6 プレフィックス — アプライアンスに設定された長さ96 ビット (128-32=96) のグローバル IPv6 プレフィックス。 注:現在、NetScalerアプライアンスは、すべてのNAT 64ルールで共通に使用される1つのプレフィックスしかサポートしていません。
NetScalerアプライアンスは、次の条件がすべて満たされている場合、受信IPv6パケットをNAT64変換の対象と見なします。
NetScalerアプライアンスが受信したIPv6要求パケットがNAT64ルールで定義されているACL6と一致し、パケットの宛先IPがNAT64 IPv6プレフィックスと一致する場合、NetScalerアプライアンスはIPv6パケットを変換対象と見なします。
アプライアンスは、このIPv6パケットを、NAT64ルールで定義されているネットプロファイルにバインドされたIPアドレスのいずれかに一致する送信元IPアドレスと、IPv6要求パケットの宛先IPv6アドレスの最後の32ビットで構成される宛先IPアドレスを持つIPv4パケットに変換します。NetScalerアプライアンスは、この特定のフローのNAT64セッションを作成し、パケットをIPv4サーバーに転送します。IPv4サーバーからのその後の応答とIPv6クライアントからの要求は、特定の NAT64 セッションの情報に基づいて、アプライアンスによってそれに応じて変換されます。
企業がIPv4アドレスを持つサーバーS1にサイト www.example.comをホストしている例を考えてみましょう。IPv6クライアントとIPv4サーバーS1間の通信を可能にするために、NetScaler ADCアプライアンスNS1は、NAT64ルールとNAT64プレフィックスを含むステートフルNAT64構成で展開されます。サーバーS1のマッピングされたIPv6アドレスは、NAT64 IPv6プレフィックス
とIPv4ソースアドレス
を連結することによって形成されます。このマッピングされた IPv6 アドレスは、DNS サーバで手動で構成されます。IPv6クライアントは、マッピングされたIPv6アドレスをDNSサーバーから取得して、IPv4サーバーS1と通信します。
次に、この例のトラフィックフローを示します。
-
IPv6 クライアント CL1 は、MAP-SEVR-IPv6 (2001: DB 8:300:: 192.0.2.60) アドレスに要求パケットを送信します。
-
NetScalerアプライアンスは要求パケットを受信します。要求パケットがNAT64ルールで定義されているACL6と一致し、パケットの宛先IPアドレスがNAT64 IPv6プレフィックスと一致する場合、NetScalerはIPv6パケットを変換対象と見なします。
-
アプライアンスは、次のように変換されたIPv4リクエストパケットを作成します。
-
NetScalerアプライアンスはこのフローのNAT64セッションを作成し、変換されたIPv4要求をサーバーS1に送信します。
-
IPv64サーバーS1は、次のようにIPv4パケットをNetScalerアプライアンスに送信することで応答します。
-
アプライアンスはIPv4応答パケットを受信し、すべてのセッションエントリを検索し、IPv6応答パケットが手順4で作成したNAT64セッションエントリと一致することを確認します。アプライアンスはIPv4パケットを変換対象と見なします。
-
アプライアンスは、次のように変換されたIPv6応答パケットを作成します。
-
アプライアンスは、変換された IPv6 応答をクライアント CL1 に送信します。