ADC

ステートレス NAT46

ステートレスNAT46機能により、NetScalerアプライアンスのセッション情報を維持することなく、IPv4からIPv6へのパケット変換、またはその逆のパケット変換によるIPv4ネットワークとIPv6ネットワーク間の通信が可能になります。

ステートレスNAT46構成の場合、アプライアンスはRFC 6145および2765で定義されているように、IPv4パケットをIPv6に変換するか、IPv6パケットをIPv4に変換します。

NetScalerアプライアンスのステートレスNAT46構成には、次のコンポーネントがあります。

  • IPv4-IPv6 INAT エントリ。IPv4 アドレスと IPv6 アドレスの間の 1:1 の関係を定義する INAT エントリ。つまり、アプライアンス上のIPv4アドレスは、IPv6サーバーに代わって接続要求を受信します。このIPv4アドレスのIPv4要求パケットがIPv6パケットに変換され、IPv6パケットがIPv6サーバーに送信されます。

    アプライアンスは、IPv6応答パケットを、送信元IPアドレスフィールドがINATエントリで指定されたIPv4アドレスとして設定されたIPv4応答パケットに変換します。その後、変換されたパケットはクライアントに送信されます。

  • NAT46 IPv6 prefix. アプライアンスで設定されている長さ96ビット(128-32=96)のグローバルIPv6プレフィクス。IPv4パケットからIPv6パケットへの変換中、アプライアンスは変換されたIPv6パケットの送信元IPアドレスを、要求パケットで受信したNAT46 IPv6プレフィックス [96ビット] とIPv4送信元アドレス [32ビット] を連結して設定します。

    IPv6パケットからIPv4パケットへの変換中、アプライアンスは、変換されたIPv4パケットの宛先IPアドレスを、IPv6パケットの宛先IPアドレスの最後の32ビットに設定します。

企業がIPv6アドレスを持つサーバーS1にサイト www.example.comをホストしている例を考えてみましょう。IPv4クライアントとIPv6サーバーS1間の通信を可能にするために、NetScalerアプライアンスNS1は、サーバーS1のIPv4-IPv6 INATエントリとNAT46プレフィックスを含むステートレスNAT46構成で展開されます。INATエントリには、アプライアンスがIPv6サーバーS1の代わりにIPv4クライアントからの接続要求を受信するIPv4アドレスが含まれています。

stateless nat46

次の表に、この例で使用されている設定の一覧を示します。

エンティティ 名前
クライアントの IP アドレス クライアント_IPv4 (参照用のみ) 192.0.2.60
サーバーの IPv6 アドレス SEVR_IPv6 (参照のみを目的としています) 2001:DB8:5001::30
IPv6 サーバー S1 の INAT エントリで定義されている IPv4 アドレス マップ-SevR-IPv4 (参照用のみ) 192.0.2.180
NAT 46 変換用の IPv6 プレフィックス NAT46_プレフィックス (参照用のみ) 2001:DB8:90:

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

  1. IPv4クライアントCL1は、NetScalerアプライアンス上のMap-SevR-IPv4(192.0.2.180)アドレスにリクエストパケットを送信します。
  2. アプライアンスは要求パケットを受信し、NAT46 INATエントリを検索して、MAP-SEVR-IPv4(192.0.2.180)アドレスにマップされたIPv6アドレスを検索します。SEVR-IPv6 (2001: DB 8:5001::30) アドレスを検索します。
  3. アプライアンスは、次のように変換されたIPv6リクエストパケットを作成します。
    • 宛先 IP アドレスフィールド = SEVR-IPv6 = 2001: DB 8:5001:30
    • 送信元 IP アドレスフィールド = NAT プレフィックス (最初の 96 ビット) と Client_IPv4 (最後の 32 ビット) を連結したもの = 2001: DB 8:90:: 192.0.2.60
  4. アプライアンスは、変換された IPv6 要求を SevR-IPv6 に送信します。
  5. IPv6サーバーS1は、次のようにIPv6パケットをNetScalerアプライアンスに送信することで応答します。
    • 宛先 IP アドレスフィールド = NAT プレフィックス (最初の 96 ビット) と Client_IPv4 (最後の 32 ビット) を連結したもの = 2001: DB 8:90:: 192.0.2.60
    • ソース IP アドレスフィールド = SEVR-IPv6 = 2001: DB 8:5001:30
  6. アプライアンスは IPv6 応答パケットを受信し、その宛先 IP アドレスがアプライアンスに設定されている NAT46 プレフィックスと一致することを確認します。宛先アドレスは NAT46 プレフィックスと一致するため、アプライアンスは NAT46 INAT エントリを検索して SEVR-IPv6 アドレス(2001:DB 8:5001:30)に関連付けられた IPv4 アドレスを検索します。マップサービスの IPv4 アドレス (192.0.2.180) を検索します。
  7. アプライアンスは以下を含むIPv4応答パケットを作成します。
    • 宛先 IP アドレスフィールド = IPv6 応答の宛先アドレスから削除された NAT46 プレフィックス = Client_IPv4 (192.0.2.60)
    • 送信元 IP アドレスフィールド = MAP-SEVR-IPv4 アドレス (192.0.2.180)
  8. アプライアンスは、変換されたIPv4応答をクライアントCL1に送信します。

ステートレス NAT46 の制限事項

ステートレス NAT46 には次の制限が適用されます。

  • IPv4 オプションの変換はサポートされていません。
  • IPv6 ルーティングヘッダーの変換はサポートされていません。
  • IPv6 パケットのホップバイホップ拡張ヘッダーの変換はサポートされていません。
  • IPv4 パケットの ESP および EH ヘッダーの変換はサポートされていません。
  • マルチキャストパケットの変換はサポートされていません。
  • 宛先オプションヘッダーとソースルーティングヘッダーの変換はサポートされていません。
  • UDP チェックサムを含まない断片化された IPv4 UDP パケットの変換はサポートされていません。

ステートレス NAT46 の設定

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

  1. ステートレスモードを有効にして IPv4-IPv6 マッピング INAT エントリを作成します。
  2. NAT46 IPv6 プレフィックスを作成します。

CLI のプロシージャ

CLI を使用して INAT マッピングエントリを設定するには:

コマンドプロンプトで入力します。

  • add inat <name> <publicIPv4> <privateIPv6> -mode STATELESS
  • show inat <name>

CLI を使用して NAT46 プレフィックスを作成するには:

コマンドプロンプトで入力します。

  • set inatparam -nat46v6Prefix <ipv6_addr|*>
  • show inatparam

例:

 > add inat exmpl-com-stls-nat46 192.0.2.180
2001:DB8:5001::30 -mode stateless
Done

> set inatparam -nat46v6Prefix 2001:DB8:90::/96
Done
<!--NeedCopy-->

GUIのプロシージャ

GUI を使用して INAT マッピングエントリを作成するには:

  1. [システム] > [ネットワーク] > [ルート] > [INAT] に移動します。

  2. 新しい INAT エントリを追加するか、既存の INAT エントリを編集します。

  3. 次のパラメーターを設定します。

    • 名前*
    • パブリック IP アドレス*
    • プライベート IP アドレス* (IPv6 チェックボックスを選択し、IPv6 形式でアドレスを入力します)
    • モード (ドロップダウンリストから [ステートレス] を選択します。)

    * 必須パラメータ

GUI を使用して NAT46 プレフィックスを作成するには:

[ システム ] > [ ネットワーク] に移動し、[ 設定 ] グループで [ INAT パラメータの設定] をクリックし、[ プレフィックス ] パラメータを設定します。

ステートレス NAT46 のグローバルパラメータの設定

アプライアンスには、ステートレス NAT46 構成用のオプションのグローバルパラメータがいくつか用意されています。

CLI を使用してステートレス NAT46 のグローバルパラメータを設定するには:

コマンドプロンプトで入力します。

  • set inatparam [-**nat46IgnoreTOS** ( **YES** | **NO** )] [-**nat46ZeroCheckSum** ( **ENABLED** | **DISABLED** )] [-**nat46v6Mtu** \<positive_integer>] [-**nat46FragHeader** ( **ENABLED** | **DISABLED** )]
  • show inatparam

例:

> set inatparam -nat46IgnoreTOS YES -nat46ZeroCheckSum DISABLED -nat46v6Mtu 1400 -nat46FragHeader DISABLED
 Done
<!--NeedCopy-->

GUI を使用してステートレス NAT46 のグローバルパラメータを設定するには:

[ システム ] > [ ネットワーク] に移動し、[ 設定 ] グループで [ INAT パラメータの設定] をクリックします。

ステートレス NAT46