大規模NAT64
IPv4 アドレスの枯渇が間もなく、ISP は IPv6 インフラストラクチャに移行し始めています。しかし、移行中、ISPはIPv6とともにIPv4をサポートし続ける必要があります。なぜなら、パブリックインターネットの大半は依然としてIPv4を使用しているからです。大規模な NAT64 は、IPv6 インフラストラクチャを備えた ISP 向けの IPv6 移行ソリューションです。IPv6 のみのサブスクライバを IPv4 インターネットに接続できます。DNS64は、IPv6のみのクライアントによるIPv4のみのドメインの検出を可能にするソリューションです。DNS64 は大規模な NAT64 とともに使用され、IPv6 のみのクライアントと IPv4 のみのサーバー間のシームレスな通信が可能になります。
Citrix ADCアプライアンスは、大規模なNAT64およびDNS64を実装し、RFC6145、6146、6147、6052、3022、2373、2765、および2464に準拠しています。
アーキテクチャ
Citrix ADCアプライアンスを使用するISPのNAT64アーキテクチャは、ISPのコアネットワークに展開されたCitrix ADCアプライアンスを介してIPv4インターネットにアクセスするIPv6サブスクライバで構成されています。IPv6 サブスクライバは、ISP の IPv6 専用アクセスネットワークを介して ISP コアネットワークに接続されます。
Citrix ADCアプライアンスの大規模なNAT64機能は、Citrix ADCアプライアンス上でセッション情報を維持しながら、IPv6からIPv4へのパケット変換を介してIPv6クライアントとIPv4サーバー間の通信を可能にします。Citrix ADC DNS64機能は、IPv6へのIPv4のみのドメインを表します。サブスクライバは、IPv4 専用ドメインの DNS AAAA レコードを合成し、サブスクライバに送信します。
大規模な NAT64 には、NAT64 プレフィクスと NAT IPv4 プールという 2 つの主要コンポーネントがあります。DNS64 には、NAT64 プレフィクスと同じ値を持つ DNS 64 プレフィクスというメインコンポーネントが 1 つあります。
Citrix ADC DNS64機能は、IPv6のみの加入者からインターネット上のIPv4のみのWebサーバー上でホストされているドメイン名に対するAAAA要求を受信すると、そのドメイン名のAAAAレコードを合成し、加入者に送信します。AAAA レコードは、DNS64 プレフィクス(NAT64 プレフィクスに設定)とドメイン名の実際の IPv4 アドレスを連結することによって合成されます。
これで、加入者には、目的のドメイン名に対応する IPv6 宛先アドレスが割り当てられます。加入者は、合成された IPv6 アドレスに要求を送信します。IPv6要求を受信すると、大規模なCitrix ADC NAT64機能は、IPv6要求パケットをIPv4要求パケットに変換します。大規模な NAT64 は、IPv4 要求の宛先アドレスを IPv4 アドレスに設定します。IPv4 アドレスは、IPv6 アドレスから NAT64 プレフィクスを取り除き、IPv6 要求の宛先アドレスから抽出されます。宛先ポートは、IPv6 要求から保持されます。また、大規模な NAT64 は、IPv4 パケットの送信元 IP アドレス:送信元ポートを、設定された NAT プールから選択された NAT IP アドレス:NAT ポートに設定します。
アプライアンスは、大規模な NAT64 機能を使用するすべてのアクティブセッションの記録を保持します。これらのセッションは、大規模な NAT64 セッションと呼ばれます。アプライアンスは、大規模な NAT64 セッションごとに、サブスクライバ IPv6 アドレスとポート、および NAT IPv4 アドレスとポート間のマッピングも維持します。これらのマッピングは、大規模な NAT64 マッピングと呼ばれます。大規模なNAT64セッションエントリと大規模なNAT64マッピングエントリから、Citrix ADCアプライアンスは、(インターネットから受信した)応答パケットを特定のNAT64セッションに属するものとして認識します。
アプライアンスは、特定の NAT64 セッションに属する IPv4 応答パケットを受信すると、NAT64 セッションに格納されている情報を使用して IPv4 パケットを IPv6 パケットに変換し、IPv6 応答パケットをサブスクライバに送信します。
例:NAT64 および DNS64 配置のトラフィックフロー
ISPのコアネットワーク内のCitrix ADCアプライアンスNS-1と2つのローカルDNSサーバー(DNS-1とDNS-2)、およびIPv6サブスクライバSUB-1で構成される大規模なNAT64およびDNS64展開の例を考えてみましょう。SUB-1は、ISPのIPv6アクセス・ネットワークを介してNS-1に接続されています。 NS-1には、IPv6サブスクライバSUB-1ホストとIPv4ホスト(内部および外部)間の通信を可能にするための大規模なNAT64およびDNS64構成が含まれています。
大規模な NAT64 設定には、IPv6 要求を IPv4 要求に変換するための NAT64 プレフィクス(2001:DB 8:300:: /96)と NAT IPv4 プールが含まれます。
DNS64 構成には、DNS ロードバランシング仮想サーバー LBVS-DNS64-1 (2001: DB 8:9999:: 99) とDNS64 プレフィックス (2001: DB 8:300:: /96) が含まれています。LBVS-DNS64-1 は、ISP の加入者に対するローカル DNS サーバ DNS-1 および DNS-2 を表します。NAT64 プレフィクスと同じ値を持つ DNS64 プレフィクスは、DNS サーバ DNS-1 および DNS-2 から受信した DNS A レコードからの DNS AAAA レコードの合成に使用されます。NS-1 は、IPv4 ホストを解決するための DNS 要求に対して、合成された AAAA レコードで SUB-1 に応答します。
DNS64 トラフィックフロー
トラフィックは、IPv6 サブスクライバ SUB-1 と、インターネット上の IPv4 専用の Web サーバ上にあるサイトwww.example.com
の間で次のように流れます。
- IPv6 サブスクライバ SUB-1 は、
www.example.com
の DNS AAAA 要求を、その指定された DNS サーバ(2001:DB 8:9999:: 99)に送信します。 - DNS ロードバランシング仮想サーバー LBVS-DNS64-1 (2001: DB 8:9999:: 99) は、Citrix ADC アプライアンス NS1 の AAAA 要求を受信します。LBVS-DNS64-1 の負荷分散アルゴリズムは、DNS サーバー DNS-1 を選択し、AAAA 要求をそれに転送します。
-
www.example.com
で使用可能な AAAA レコードがないため、DNS-1 は空のレコードまたはエラーメッセージを返します。 - LBVS-DNS64-1 で DNS64 オプションが有効になっており、CL1 からの AAAA 要求は DNS64-ポリシー 1 で指定された条件と一致するため、NS1 は
www.example.com
の IPv4 アドレスの DNS A 要求を DNS-1 に送信します。 - DNS-1 は、
www.example.com
に対して 192.0.2.60 の A レコードで応答します。 - NS1 上の DNS64 モジュールは、LBVS-DNS64-1 に関連付けられた DNS64 プレフィックス (2001: DB 8:300:: /96) と、
www.example.com
= 2001: DB 8:300:: 192.0.2.60 の IPv4 アドレス (192.0.2.60) を連結 することにより、www.example.com
の AAAA レコードを合成します。 - NS1 は、統合された AAAA レコードを IPv6 クライアント CL1 に送信します。NS1は、Aレコードをメモリにキャッシュします。NS1 は、キャッシュされた A レコードを使用して、後続の AAAA 要求に対して AAAA レコードを合成します。
NAT64 トラフィックフロー
-
IPv6 サブスクライバ SUB-1 は、2001: DB 8:5001:30
www.example.com
に要求を送信します。IPv6 パケットには、次のものがあります。- 送信元 IP アドレス = 2001: DB 8:5001:30
- 送信元ポート = 2552
- 宛先 IP アドレス = 2001:DB8:300::192.0.2.60
- 宛先ポート = 80
-
IPv6 サブスクライバ SUB-1 は、2001: DB 8:5001:30
www.example.com
に要求を送信します。IPv6 パケットには、次のものがあります。- 送信元 IP アドレス = 2001: DB 8:5001:30
- 送信元ポート = 2552
- 宛先 IP アドレス = 2001:DB8:300::192.0.2.60
- 宛先ポート = 80
-
NS-1 が IPv6 パケットを受信すると、大規模な NAT64 モジュールは、次のように変換された IPv4 要求パケットを作成します。
- 送信元 IP アドレス = 設定済みの NAT プールで使用可能な IPv4 アドレスのいずれか(203.0.113.61)
- 送信元ポート = 割り当てられた NAT IPv4 アドレスで使用可能なポートの 1 つ(3002)
- 宛先 IP アドレス = IPv6 アドレス (192.0.2.60) から NAT64 プレフィックス (2001: DB 8:300:: /96) を取り除き、IPv6 要求の宛先アドレスから抽出された IPv4 アドレス
- 宛先ポート = IPv6 要求の宛先ポート (80)
-
大規模な NAT64 モジュールは、この大規模な NAT64 フローのマッピングおよびセッションエントリも作成します。セッションおよびマッピングのエントリには、次の情報が含まれます。
- IPv6 パケットの送信元 IP アドレス = 2001: DB 8:5001:30
- IPv6 パケットの送信元ポート = 2552
- NAT IP アドレス= 203.0.113.61
- NATポート= 3002
- NS-1は、結果のIPv4パケットをインターネット上の宛先に送信します。
-
要求パケットを受信すると、
www.example.com
サーバはパケットを処理し、応答パケットをNS-1に送信します。IPv4 応答パケットには、次のものがあります。- 送信元 IP アドレス = 192.0.2.60
- 送信元ポート = 80
- 宛先 IP アドレス = 203.0.113.61
- 宛先ポート = 3002
-
IPv4 応答パケットを受信すると、NS-1 は大規模な NAT64 マッピングおよびセッションエントリを調べ、IPv4 応答パケットが大規模な NAT64 セッションに属していることを検出します。大規模な NAT64 モジュールは、変換された IPv6 応答パケットを作成します。
- Source IP address = 2001:DB8:300::192.0.2.60
- 送信元ポート = 80
- 宛先 IP アドレス = 2001: DB 8:5001:30
- 宛先ポート = 2552
-
NS-1は、変換されたIPv6応答をクライアントSUB-1に送信します。
Citrix ADC アプライアンスでサポートされる大規模な NAT64 機能
Citrix ADCアプライアンスの大規模NAT64は、標準のLSN機能セットをサポートしています。これらの LSN 機能の詳細については、「 LSN アーキテクチャ」を参照してください。
Citrix ADC アプライアンスでサポートされる大規模な NAT64 機能の一部を次に示します。
- ALG。SIP、RTSP、FTP、ICMP、および TFTP プロトコル用のアプリケーション層ゲートウェイ(ALG)のサポート。
- Deterministic /固定 NAT。ロギングを最小限に抑えるために、サブスクライバへのポートブロックの事前割り当てをサポートします。
- マッピング。エンドポイント独立マッピング(EIM)、アドレス依存マッピング(ADM)、およびアドレスポート依存マッピング(APDM)のサポート。
- フィルタリング。エンドポイント独立フィルタリング (EIF)、アドレス依存フィルタリング (ADF)、およびアドレスポート依存フィルタリング (APDF) のサポート。
- クォータ。ポート数、サブスクライバごとのセッション、および LSN グループごとのセッション数に関する設定可能な制限。
- スタティックマッピング。大規模な NAT64 マッピングを手動で定義するサポート。
- ヘアピンの流れ。NAT IP アドレスを使用した加入者または内部ホスト間の通信のサポート。
- 464XLAT接続。IPv6 サブスクライバホスト上の IPv4 専用アプリケーションと、IPv6 ネットワーク経由のインターネット上の IPv4 ホスト間の通信をサポートします。
- 可変長の NAT64 プレフィクスおよび DNS64 プレフィクス。Citrix ADCアプライアンスは、長さが32、40、48、56、64、96のNAT64およびDNS64プレフィックスの定義をサポートしています。
- 複数の NAT64 プレフィクスおよび DNS64 プレフィクス。Citrix ADC アプライアンスは、複数のNAT64およびDNS64プレフィックスをサポートしています。
- LSN クライアント。IPv6 プレフィクスおよび拡張 ACL6 ルールを使用した、大規模な NAT64 の加入者の指定または識別をサポートします。
- ロギング。法執行機関の NAT64 セッションのロギングのサポート。さらに、次のロギングもサポートされています。
- 信頼性の高いシステムログ。より信頼性の高い転送メカニズムを実現するために、TCP 経由で SYSLOG メッセージを外部ログサーバに送信するサポート。
- ログサーバーの負荷分散。冗長ログメッセージの格納を防止するための外部ログサーバのロードバランシングのサポート。
- 最小限のロギング。Deterministic LSN 構成またはポートブロックを使用したDynamic LSN 構成により、大規模な NAT64 ログボリュームが大幅に削減されます。
- MSISDN 情報のロギング。大規模な NAT64 ログにサブスクライバの MSISDN 情報を含めることをサポートし、インターネット上でのサブスクライバアクティビティを識別して追跡します。