ADC

ステートフル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

次の表に、この例で使用される設定を示します。 ステートフル NAT64 変換の例の設定

次に、この例のトラフィックフローを示します。

  1. IPv6 クライアント CL1 は、MAP-SEVR-IPv6 (2001: DB 8:300:: 192.0.2.60) アドレスに要求パケットを送信します。

  2. NetScalerアプライアンスは要求パケットを受信します。要求パケットがNAT64ルールで定義されているACL6と一致し、パケットの宛先IPアドレスがNAT64 IPv6プレフィックスと一致する場合、NetScalerはIPv6パケットを変換対象と見なします。

  3. アプライアンスは、次のように変換されたIPv4リクエストパケットを作成します。

    • IPv6 リクエストの宛先アドレスから削除された NAT64 プレフィックスを含む宛先 IP アドレスフィールド (SEVR_IPv4 = 192.0.2.60)
    • Netprofile-1 (この場合は 192.0.2.100) にバインドされた IPv4 アドレスのいずれかを含む送信元 IP アドレスフィールド
  4. NetScalerアプライアンスはこのフローのNAT64セッションを作成し、変換されたIPv4要求をサーバーS1に送信します。

  5. IPv64サーバーS1は、次のようにIPv4パケットをNetScalerアプライアンスに送信することで応答します。

    • 192.0.2.100 を含む宛先 IP アドレスフィールド
    • SEVR_IPv4 (192.0.2.60) のアドレスを含む送信元 IP アドレスフィールド
  6. アプライアンスはIPv4応答パケットを受信し、すべてのセッションエントリを検索し、IPv6応答パケットが手順4で作成したNAT64セッションエントリと一致することを確認します。アプライアンスはIPv4パケットを変換対象と見なします。

  7. アプライアンスは、次のように変換されたIPv6応答パケットを作成します。

    • 宛先 IP アドレスフィールド=CLIENT_IPv6=2001: DB 8:5001:30
    • 送信元 IP アドレスフィールド = NAT64 プレフィックス (最初の 96 ビット) と SEVR_IPv4 (最後の 32 ビット) を連結したもの =2001: DB 8:300:: 192.0.2.60
  8. アプライアンスは、変換された IPv6 応答をクライアント CL1 に送信します。

ステートフル NAT64 の制限事項

ステートフル NAT64 には次の制限が適用されます。

  • IPv4 オプションの変換はサポートされていません。
  • IPv6 ルーティングヘッダーの変換はサポートされていません。
  • IPv6 パケットのホップバイホップ拡張ヘッダーの変換はサポートされていません。
  • IPv6 パケットの ESP および EH ヘッダーの変換はサポートされていません。
  • マルチキャストパケットの変換はサポートされていません。
  • ストリーム制御転送プロトコル (SCTP)、データグラム輻輳制御プロトコル (DCCP)、および IPsec のパケットは変換されません。

ステートフル NAT64 の設定

NetScalerアプライアンスでステートフルNAT64構成に必要なエンティティを作成するには、次の手順が必要です。

  1. アクション ALLOW を含む ACL6 ルールを追加します。
  2. 複数の IP アドレスをバインドする ipset を追加します。
  3. ネットプロファイルを追加し、それにIPセットをバインドします。IP アドレスを 1 つだけバインドする場合は、ipset エンティティを作成する必要はありません。その場合は、IPアドレスをネットプロファイルに直接バインドしてください。
  4. ACl6 ルールとネットプロファイルを NAT 64 ルールにバインドすることを含む NAT64 ルールを追加します。
  5. 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パラメーターの構成]をクリックし、[ プレフィックス] パラメーターを設定します。

ステートフルNAT64の変換