ステートフルnat64変換
ステートフルなNAT64機能を使用すると,Citrix ADCアプライアンスでセッション情報を維持しながら,IPv6からIPv4へのパケット変換(またはその逆)を介してIPv6クライアントとIPv4サーバー間の通信が可能になります。
Citrix ADCアプライアンスのステートフルなNAT64構成には,次のコンポーネントがあります。
- nat64ルール——ACL6ルールとネットプロファイルで構成されるエントリで,Citrix ADCが所有する剪アドレスのプールで構成されます。
- NAT64 IPv6プレフィクス——アプライアンス上で構成されている長さ96ビット32 =(128 ~ 96)のグローバルIPv6プレフィクス。注:現在,Citrix ADCアプライアンスは,すべてのNAT 64ルールで一般的に使用される接頭辞を1つだけサポートしています。
Citrix ADCアプライアンスは,次の条件がすべて満たされた場合に,NAT64変換用の受信IPv6パケットを考慮します。
- 着信IPv6パケットは,NAT64ルールにバインドされたACL6ルールと一致します。
- IPv6パケットの宛先IPアドレスは,NAT64 IPv6プレフィクスと一致します。
Citrix ADCアプライアンスによって受信されたIPv6要求パケットがNAT64ルールで定義されたACL6と一致し,パケットの宛先IPがNAT64 IPv6プレフィックスと一致する場合,Citrix ADCアプライアンスはIPv6パケットを変換対象とみなします。
アプライアンスは,このIPv6パケットを,NAT64ルールで定義されたネットプロファイルにバインドされたIPアドレスと一致する送信元IPアドレスと,IPv6要求パケットの宛先IPv6アドレスの最後の32ビットで構成される宛先IPアドレスを持つIPv4パケットに変換します。Citrix ADCアプライアンスは,この特定のフローの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クライアントは,IPv4サーバS1と通信するためにDNSサーバからマッピングされたIPv6アドレスを取得します。
次の表に,この例で使用される設定を示します。ステートフルnat64変換の例の設定。
次に,この例のトラフィックフローを示します。
IPv6クライアントCL1は,マップサーバIPv6 (2001: DB 8:300:: 192.0.2.60)アドレスに要求パケットを送信します。
Citrix ADCアプライアンスは要求パケットを受信します。要求パケットがNAT64ルールで定義されたACL6と一致し,パケットの宛先IPアドレスがNAT64 IPv6プレフィックスと一致する場合,Citrix ADCはIPv6パケットを変換対象とみなします。
アプライアンスは,次のように変換されたIPv4要求パケットを作成します。
- IPv6要求の宛先アドレスから削除されたNAT64プレフィクスを含む宛先IPアドレスフィールド(Sevr_IPv4 = 192.0.2.60)
- Netprofile-1にバインドされたIPv4アドレスのいずれかを含む送信元IPアドレスフィールド(この例では192.0.2.100)
Citrix ADCアプライアンスは,このフローのNAT64セッションを作成し,変換されたIPv4要求をサーバーS1に送信します。
IPv64サーバーS1は,以下の方法でIPv4パケットをCitrix ADCアプライアンスに送信することで応答します。
- 192.0.2.100を含む宛先IPアドレスフィールド
- Sevr_IPv4のアドレスを含む送信元IPアドレスフィールド(192.0.2.60)
アプライアンスはIPv4応答パケットを受信し,すべてのセッションエントリを検索し,IPv6応答パケットがステップ4で作成したNAT64セッションエントリと一致することを検出します。アプライアンスはIPv4パケットを変換対象と見なします。
アプライアンスは,次のように変換されたIPv6応答パケットを作成します。
- 宛先IPアドレスフィールド=クライアントIPv6 = 2001: DB 8:5001:30
- 送信元IPアドレスフィールド= NAT64プレフィクス(最初の96ビット)とサーバ_IPv4(最後の32ビット)の連結= 2001:DB 8:300:: 192.0.2.60
アプライアンスは,変換されたIPv6応答をクライアントCL1に送信します。
ステートフルnat64の制限事項
ステートフルnat64には,次の制限が適用されます。
- IPv4オプションの変換はサポートされていません。
- IPv6ルーティングヘッダーの変換はサポートされていません。
- IPv6パケットのホップバイホップ拡張ヘッダーの変換はサポートされていません。
- IPv6パケットのESPおよびEHヘッダーの変換はサポートされていません。
- マルチキャストパケットの変換はサポートされていません。
- SCTP (packet of Stream Control Transmission Protocol), DCCP (Datagram拥塞控制协议),およびIPSecのパケットは変換されません。
ステートフルnat64の設定
Citrix ADCアプライアンスでステートフルNAT64構成に必要なエンティティを作成するには,次の手順に従います。
- アクションが許可されたacl6ルールを追加します。
- 複数のIPアドレスをバインドするipsetを追加します。
- ネットプロファイルを追加し,ipsetをバインドします。1つのIPアドレスだけをバインドする場合は,ipsetエンティティを作成する必要はありません。その場合は,IPアドレスをnetprofileに直接バインドします。
- Nat64ルールを追加します。これには,ACl6ルールとネットプロファイルをNAT 64ルールにバインドすることが含まれます。
- NAT64 IPv6プレフィクスを追加します。
Cliのプロシージャ
Cliを使用してacl6ルールを追加するには,次の手順を実行します。
コマンドプロンプトで入力します。
- 添加ns acl6
…
Cliを使用してIPセットを追加し,複数のIPをバインドするには,次の手順を実行します。
コマンドプロンプトで入力します。
- 添加ipset <名称>
- 绑定ipset
Cliを使用してネットプロファイルを追加するには,次の手順を実行します。
コマンドプロンプトで入力します。
- 添加netprofile
-srcIP
Cliを使用してnat64ルールを追加するには,次の手順を実行します。
コマンドプロンプトで入力します。
- 添加nat64
-netProfile
Cliを使用してnat64プレフィクスを追加するには,次の手順を実行します。
コマンドプロンプトで入力します。
- 设置ipv6 -natprefix
例:
> add acl6 acl6 - ALLOW -srcIPv6 2001:DB8:5001::30完成> apply acls6完成> add ip 192.0.2.100 255.255.255.0 -type SNIP完成> add ip 192.0.2.102 255.255.255.0 -type SNIP完成> add ipset ipset -1完成> bind ipset ipset -1 192.0.2.100 192.0.2.102 IPAddress "192.0.2.100" bound IPAddress "192.0.2.102" bound完成> add netprofile netprofile -1完成> add nat64 nat64 -1 acl6 -netprofile netprofile -1完成> set ipv6 -natprefix 2001:DB8:300::/96完成
guiのプロシージャ
GUIを使用してnat64ルールを追加するには,次の手順を実行します。
[システム]>[ネットワーク]>[ルート]> [NAT64]に移動して,新しいNAT64ルールを作成するか,既存のルールを編集します。
GUIを使用してnat64プレフィクスを追加するには,次の手順を実行します。
システムに移動>[ネットワーク]の[設定]グループで,[INATパラメーターの構成]をクリックし,[プレフィックス]パラメーターを設定します。