ステートフルNAT64の変換
ステートフル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変換の対象と見なします。
- 着信IPv6パケットは、NAT64ルールにバインドされたACL6ルールと一致します。
- IPv6 パケットの宛先 IP アドレスは NAT64 IPv6 プレフィックスと一致します。
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間の通信を可能にするために、Citrix ADCアプライアンスNS1は、NAT64ルールとNAT64プレフィックスを含むステートフルNAT64構成で展開されます。サーバーS1のマッピングされたIPv6アドレスは、NAT64 IPv6プレフィックス [96ビット] とIPv4ソースアドレス [32ビット] を連結することによって形成されます。このマッピングされた IPv6 アドレスは、DNS サーバで手動で構成されます。IPv6クライアントは、マッピングされたIPv6アドレスをDNSサーバーから取得して、IPv4サーバーS1と通信します。
次の表に、この例で使用される設定を示します。 ステートフル NAT64 変換の例の設定。
次に、この例のトラフィックフローを示します。
-
IPv6 クライアント CL1 は、MAP-SEVR-IPv6 (2001: DB 8:300:: 192.0.2.60) アドレスに要求パケットを送信します。
-
NetScalerアプライアンスは要求パケットを受信します。要求パケットがNAT64ルールで定義されているACL6と一致し、パケットの宛先IPアドレスがNAT64 IPv6プレフィックスと一致する場合、NetScalerはIPv6パケットを変換対象と見なします。
-
アプライアンスは、次のように変換されたIPv4リクエストパケットを作成します。
- IPv6 リクエストの宛先アドレスから削除された NAT64 プレフィックスを含む宛先 IP アドレスフィールド (SEVR_IPv4 = 192.0.2.60)
- Netprofile-1 (この場合は 192.0.2.100) にバインドされた IPv4 アドレスのいずれかを含む送信元 IP アドレスフィールド
-
NetScalerアプライアンスはこのフローのNAT64セッションを作成し、変換されたIPv4要求をサーバーS1に送信します。
-
IPv64サーバーS1は、次のようにIPv4パケットをNetScalerアプライアンスに送信することで応答します。
- 192.0.2.100 を含む宛先 IP アドレスフィールド
- SEVR_IPv4 (192.0.2.60) のアドレスを含む送信元 IP アドレスフィールド
-
アプライアンスはIPv4応答パケットを受信し、すべてのセッションエントリを検索し、IPv6応答パケットが手順4で作成したNAT64セッションエントリと一致することを確認します。アプライアンスはIPv4パケットを変換対象と見なします。
-
アプライアンスは、次のように変換されたIPv6応答パケットを作成します。
- 宛先 IP アドレスフィールド=CLIENT_IPv6=2001: DB 8:5001:30
- 送信元 IP アドレスフィールド = NAT64 プレフィックス (最初の 96 ビット) と SEVR_IPv4 (最後の 32 ビット) を連結したもの =2001: DB 8:300:: 192.0.2.60
-
アプライアンスは、変換された IPv6 応答をクライアント CL1 に送信します。
ステートフル NAT64 の制限事項
ステートフル NAT64 には次の制限が適用されます。
- IPv4 オプションの変換はサポートされていません。
- IPv6 ルーティングヘッダーの変換はサポートされていません。
- IPv6 パケットのホップバイホップ拡張ヘッダーの変換はサポートされていません。
- IPv6 パケットの ESP および EH ヘッダーの変換はサポートされていません。
- マルチキャストパケットの変換はサポートされていません。
- ストリーム制御転送プロトコル (SCTP)、データグラム輻輳制御プロトコル (DCCP)、および IPsec のパケットは変換されません。
ステートフル NAT64 の設定
NetScalerアプライアンスでステートフルNAT64構成に必要なエンティティを作成するには、次の手順が必要です。
- アクション ALLOW を含む ACL6 ルールを追加します。
- 複数の IP アドレスをバインドする ipset を追加します。
- ネットプロファイルを追加し、それにIPセットをバインドします。IP アドレスを 1 つだけバインドする場合は、ipset エンティティを作成する必要はありません。その場合は、IPアドレスをネットプロファイルに直接バインドしてください。
- ACl6 ルールとネットプロファイルを NAT 64 ルールにバインドすることを含む NAT64 ルールを追加します。
- NAT64 IPv6 プレフィックスを追加します。
CLI のプロシージャ
CLI を使用して ACL6 ルールを追加するには:
コマンドプロンプトで入力します。
- add ns acl6 <acl6name> <acl6action> …
CLI を使用して IP セットを追加し、複数の IP をそのセットにバインドするには:
コマンドプロンプトで入力します。
- add ipset <name>
- bind ipset <name> <IPaddress …>
CLIを使用してネットプロファイルを追加するには:
コマンドプロンプトで入力します。
- add netprofile <name> -srcIP <IPaddress or IPset>
CLI を使用して NAT64 ルールを追加するには:
コマンドプロンプトで入力します。
- add nat64 <name> <acl6name> -netProfile <string>
CLI を使用して NAT64 プレフィックスを追加するには:
コマンドプロンプトで入力します。
- set ipv6 -natprefix <ipv6_addr|*>
例:
> add acl6 ACL6-1 ALLOW -srcIPv6 2001:DB8:5001::30
Done
> apply acls6
Done
> add ip 192.0.2.100 255.255.255.0 –type SNIP
Done
> add ip 192.0.2.102 255.255.255.0 –type SNIP
Done
> add ipset IPset-1
Done
> bind ipset IPset-1 192.0.2.100 192.0.2.102
IPAddress "192.0.2.100" bound
IPAddress "192.0.2.102" bound
Done
> add netprofile Netprofile-1 -srcIP IPset-1
Done
> add nat64 NAT64-1 ACL6-1 -netprofile Netprofile-1
Done
> set ipv6 -natprefix 2001:DB8:300::/96
Done
<!--NeedCopy-->
GUIのプロシージャ
GUI を使用して NAT64 ルールを追加するには:
[システム] > [ネットワーク] > [ルート] > [NAT64] に移動して新しい NAT64 ルールを作成するか、既存のルールを編集します。
GUI を使用して NAT64 プレフィックスを追加するには:
システムに移動 > [ネットワーク]の[設定] グループで、[ INATパラメーターの構成]をクリックし、[ プレフィックス] パラメーターを設定します。