このページの目次
例:IPv4アドレス枯渇を処理するためのステートフルNAT64の設定
この例では、サービスDPCを搭載したMXシリーズ3DユニバーサルエッジルーターでステートフルNAT64を設定します。この設定は、draft-ietf-behave-v6v4-xlate-stateful-12およびRFC 6146 Stateful NAT64:IPv6 Clients から IPv4 Serverへのネットワーク アドレスとプロトコルの変換に記載されているフロー例を再現しています。
この例は、次のセクションで構成されています。
要件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
サービスDPCを備えたMXシリーズ3Dユニバーサルエッジルーター、またはサービスPICを備えたMシリーズマルチサービスエッジルーター
Junos OS リリース 10.2 以降
DNS64をサポートするネームサーバー
この設定例は、記載されているソフトウェア リリースを使用してテストされており、それ以降のすべてのリリースで動作することを想定しています。
実装
サービスPICまたはサービス高密度ポートコンセントレータ(DPC)を搭載したジュニパーネットワークスのルーターは、ステートフルNAT64をサポートしています。システムは、IPv6 専用ホストからの IPv6 パケットをサービス DPC に送信し、そこで設定に従ってパケットが IPv4 に変換されます。リバース パスでは、システムは IPv4 パケットをサービス DPC に送信し、そこで追加のシステム プロセスが変換をリバースし、対応する IPv6 パケットをクライアントに送り返します。
構成の概要とトポロジー
図 1 は、2 つのギガビット イーサネット インターフェイスとサービス DPC を備えた NAT64 を実装する MX シリーズ ルーター、ルーター R2 を示しています。IPv4ネットワークに接続 ge-1/3/6
するインターフェイスは であり、IPv6 ge-1/3/5
ネットワークに接続するインターフェイスは です。
また、システムが変換プロセスの一部として使用する DNS64 機能を備えたローカルネームサーバーも示されています。ローカルネームサーバーは、 /96
ローカルNAT64ルーターに割り当てられたプレフィックスを使用して設定されます。
構成
ステートフル NAT64 の設定には、次のタスクが含まれます。
PICとインターフェイスの設定
手順
ルーターR2でPICとインターフェイスを設定するには:
chassis
構成を編集して、レイヤー 3 サービス パッケージを有効にします。サービスパッケージとそれに関連付けられたサービスパッケージ(sp-
)インターフェイスは、宛先に配信される前にトラフィックを操作するために使用されます。パッケージの設定の詳細については、『 Junos OSサービスインターフェイス設定ガイド』を参照してください。階層レベルでサービス パッケージ
[edit chassis fpc pic adaptive-services]
を構成します。この例では、PIC が FPC 5、スロット 0 にあると仮定しています。[edit chassis] fpc 5 { pic 0 { adaptive-services { service-package layer-3; } } }
ge-1/3/5
IPv6ネットワークに接続するインターフェイスを設定します。階層レベルで (
family inet
IPv4) およびfamily inet6
(IPv6) ステートメントを含めます[edit interfaces interface-name unit unit-number]
。階層レベルで IPv6 アドレスを含めます
[edit interfaces unit unit-number family inet6 address]
。および
[edit interfaces interface-name unit unit-number family service output service-set]
階層レベルでサービス セット[edit interfaces interface-name unit unit-number family service input service-set]
を設定します。[edit interfaces] ge-1/3/5 { description "IPv6-only domain"; unit 0 { family inet; family inet6 { service { input { service-set set_0; } output { service-set set_0; } } address 2001:DB8::1/64; } } }
ge-1/3/6
IPv4ネットワークに接続するインターフェイスを設定します。family inet
階層レベルで ステートメントを含めます[edit interfaces unit unit-number]
。階層レベルで IPv4 アドレスを含めます
[edit interfaces unit unit-number family inet]
。[edit interfaces] ge-1/3/6 { description "Internet-IPv4 domain"; unit 0 { family inet { address 192.0.1.1/16; } } }
サービス インターフェイス(この例では)
sp-5/0/0
を設定します。この例では、ローカル ホスト上のサービスのシステム ログを設定します。このインターフェイスに関連付けられているサービス パッケージは、手順 2 で設定されています。階層レベルで IPv4 と IPv6 の両方のアドレス
[edit interfaces interface-name unit unit-number]
ファミリーを指定します。 サービス セットの設定 で設定したサービス セットは、このインターフェイスに関連付けられています。[edit interfaces] sp-5/0/0 { services-options { syslog { host local { services any; log-prefix XXXXXXXX; } } } unit 0 { family inet; family inet6; } }
NAT64 プールの設定
手順
IPv6 アドレス空間内の IPv4 アドレスを表すプレフィックスを使用して /96
、NAT64 ルーター、ルーター R2 を設定するには、この手順を使用します。次に、プレフィックスを含む /96
宛先アドレス宛ての IPv6 パケットは、NAT ルーターの IPv6 インターフェイスにルーティングされます。また、NAT プール用に 1 つ以上の IPv4 トランスポートアドレスを設定します。
次に、IPv4 アドレス 203.0.113.1/32
のネットワーク アドレス変換を設定する例を示します。また、IPv6 プレフィックス 64:FF9B::/96
を設定する方法も示します。NAT64 プールを設定するには:
階層レベルでプール
[edit services nat pool pool-name]
の IPv4 トランスポートアドレスを設定します。NAT プール ポートが自動的に割り当てられるように設定します。[edit services nat] pool src-pool-nat64 { address 203.0.113.0/24; port automatic; }
IPv6 ネットワークからのパケットを変換する NAT ルールを設定します。NATルールは、一致させるトラフィックと、トラフィックがルールに一致したときに実行するアクションを指定します。
この例では、アドレス変換を実行するために必要なルールは 1 つだけです。このルールは、IPv6 ネットワーク上の
2001:DB8::1/128
送信元アドレス から送信されるすべてのトラフィックを選択します。ステップ 1 で設定したトランスポートアドレスは、プレフィックスを使用して/96
変換用に指定されます。次のように、階層レベルでルール
[edit services nat rule rule-name]
を構成します。[edit services nat] rule nat64 { match-direction input; term t1 { from { source-address { 2001:DB8::0/96; } destination-address { 64:FF9B::/96; } } then { translated { source-pool src-pool-nat64; destination-prefix 64:FF9B::/96; translation-type { stateful-nat64; } } } } }
サービスセットの設定
手順
ルーターR2でNATサービスのサービスセットを設定するには、以前に設定したルール(nat64
)とサービスインターフェイス(sp-5/0/0
)をサービスセットに関連付ける必要があります。また、システム ログの設定も含めます。
これらの設定を [edit services service-set service-set-name]
階層レベルで構成するには:
システムログを設定します。
[edit services service-set set_0] syslog { host local { services any; log-prefix XXXSVC-SETYYY; } }
NATルールとサービスインターフェイスを、
[edit services service-set service-set-name]
階層レベルで設定されたサービスに関連付けます。[edit services ] service-set set_0 { nat-rules nat64; interface-service { service-interface sp-5/0/0; } }
ルーター R2 で、設定をコミットします。
user@R2> commit check configuration check succeeds user@R2> commit
NAT64の動作確認
次の機能を使用して、NAT64 の設定を確認できます。
ルーターでの CLI コマンド
ログ
また、既知のプレフィックス(64:FF9B::/96
)を宛先として、MXシリーズルーターに向けられたIPv6フローを生成できるテストツールを使用することもできます。
特に、次の CLI コマンドを使用して NAT64 設定を確認できます。
show services stateful-firewall flows
show services stateful-firewall conversations
show services nat pool detail
show services stateful-firewall statistics extensive
この例では:
入力方向において、IPv4宛先アドレスは、指定されたプレフィックス長から設定した宛先プレフィックスと一致するプレフィックスを持つIPv6宛先アドレスから取得されます。
逆方向または出力方向では、IPv4アドレスには、指定されたプレフィックス長で宛先プレフィックスの接尾辞が付きます。
NAT64 の設定を確認するには、次のタスクを実行します。
NAT64フローの表示
目的
NAT64 フローが作成され、正しいネットワーク アドレス変換が含まれていることを表示して確認します。
アクション
ルーター R2 で NAT64 フローを表示するには、 コマンドを使用します show services stateful-firewall flows
。
user@R2> show services stateful-firewall flows Interface: sp-5/0/0, Service set: set_0 Flow State Dir Frm count TCP 2001:db8::4:1160 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1160 -> 203.0.113.1: NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 2001:db8::2:1166 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1166 -> 203.0.113.1:1420 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1413 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21286 NAT dest 203.0.113.1:1413 -> 2001:db8::4:1167 TCP 2001:db8::3:1123 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1123 -> 203.0.113.1:1385 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1376 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1376 -> 2001:db8::3:1120 TCP 2001:db8::3:1136 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1136 -> 203.0.113.1:1424 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 2001:db8::4:1146 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1146 -> 203.0.113.1:1350 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 2001:db8::3:1110 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1110 -> 203.0.113.1:1346 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1428 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1428 -> 2001:db8::4:1172 TCP 192.0.2.1:80 -> 203.0.113.1:1393 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:80 NAT dest 203.0.113.1:1393 -> 2001:db8::2:1157 TCP 192.0.2.1:80 -> 203.0.113.1:1346 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1346 -> 2001:db8::3:1110 TCP 2001:db8::2:1148 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1148 -> 203.0.113.1:1366 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1363 Forward O 4
意味
サンプル出力には、入力(I)方向と出力(O)方向のNAT送信元アドレスとNAT宛先アドレスが表示されます。この出力にリストされているNAT64フローは、特定の順序ではありません。
NAT64 会話の表示
目的
NAT64 カンバセーション(関連フローのコレクション)を表示して正しいことを確認します。
アクション
ルーター R2 で NAT64 カンバセーションを表示するには、 コマンドを使用します show services stateful-firewall conversations
。すべてのフローを特定の順序で報告しないコマンドとは flows
対照的に、 コマンドの出力 conversations
は、特定のホストペア間の通信のトラブルシューティングを容易にするために、カンバセーションに属するフローをグループ化します。
user@R2> show services stateful-firewall conversations Interface: sp-5/0/0, Service set: set_0 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::3:1188 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1188 -> 203.0.113.1:1580 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1580 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21303 NAT dest 203.0.113.1:1580 -> 2001:db8::3:1188 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::4:1213 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1213 -> 203.0.113.1:1551 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1551 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1551 -> 2001:db8::4:1213 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::3:1169 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::3:1169 -> 203.0.113.1:1523 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1523 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:80 NAT dest 203.0.113.1:1523 -> 2001:db8::3:1169 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::2:1233 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1233 -> 203.0.113.1:1621 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1621 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1621 -> 2001:db8::2:1233 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::2:1218 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1218 -> 203.0.113.1:1575 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1575 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1575 -> 2001:db8::2:1218 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::4:1220 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::4:1220 -> 203.0.113.1:1572 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1572 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21367 NAT dest 203.0.113.1:1572 -> 2001:db8::4:1220 Conversation: ALG protocol: tcp Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count TCP 2001:db8::2:1211 ->64:ff9b::c000:201:80 Forward I 5 NAT source 2001:db8::2:1211 -> 203.0.113.1:1554 NAT dest 64:ff9b::c000:201:80 -> 192.0.2.1:80 TCP 192.0.2.1:80 -> 203.0.113.1:1554 Forward O 4 NAT source 192.0.2.1:80 -> 64:ff9b::c000:201:21286 NAT dest 203.0.113.1:1554 -> 2001:db8::2:1211
意味
サンプル出力は、特定のホスト ペア間の NAT64 カンバセーションを表示します。
グローバルNATプール関連の統計情報の表示
目的
プールの使用に関連するグローバルNAT統計を表示および確認します。
アクション
ルーター R2 のグローバル NAT プール関連の統計情報を表示するには、 コマンドを使用しますshow services nat pool detail
。通常、このコマンドは、変換のソースと出力を表示する NAT64 フローの表示で使用されるコマンドと組み合わせてshow services stateful-firewall flows
使用します。
user@R2> show services nat pool detail Interface: sp-5/0/0, Service set: set_0 NAT pool: src-pool-nat64, Translation type: dynamic Address range: 203.0.113.1-203.0.113.254 Port range: 512-65535, Ports in use: 102, Out of port errors: 0, Max ports used: 192 NAT pool: _jpool_nat64_t1_, Translation type: static Address range: 0.100.255.155-0.100.255.154
意味
サンプル出力には、NAT64 プールに関する関連する統計情報と情報が表示されます。
システムログの確認
目的
セッションの作成および削除時に詳細なログが作成されるため、システムログを確認してください。
アクション
設定例に基づいてセッションが作成されると、2つのログが提供されます。最初のログには、パケットが一致したルールと条件が表示されます。2 番目のログは、フローの作成を示します。
user@R2> show log messages Oct 21 22:14:14 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]: ASP_SFW_CREATE_ACCEPT_FLOW: proto 6 (TCP) application: any, ge-1/3/5.0:2001:db8:0:0:0:0:0:1:1025 -> 64:ff9b:0:0:0:0:c000:201:80, creating forward or watch flow ; source address and port translate to 203.0.113.1:1593 ; destination address translates to 192.0.2.1
セッションが終了すると、システムは次のように、削除フローログに加えて、NATプールアドレスとポートリリースを示すログを作成します。
Oct 21 22:14:17 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]:ASP_NAT_POOL_RELEASE: natpool release 203.0.113.1:1593[1] Oct 21 22:14:17 H1 (FPC Slot 5, PIC Slot 0) XXXSVC-SETYYY{set_0}[FWNAT]: ASP_SFW_DELETE_FLOW: proto 6 (TCP) application: any, (null)(null)2001:db8:0:0:0:0:0:1:1025 -> 64:ff9b:0:0:0:0:c000:201:80, deleting forward or watch flow ; source address and port translate to 203.0.113.1:1593 ; destination address translates to 192.0.2.1
意味
サンプル出力には、セッションの作成時と終了時に表示されるログ メッセージが表示されます。
NAT64 カンバセーションが行われていることを確認する
目的
NAT64 カンバセーションが行われていることを確認します。アプリケーションレイヤーゲートウェイ(ALG)の現在のサポートは、ICMP と traceroute に限定されています。
アクション
NAT64 カンバセーションがルーター R2 で発生していることを確認するには、 コマンドを使用します show services stateful-firewall conversations
。以下は、ICMPエコーテスト(ping
)の出力例です。
user@R2> show services stateful-firewall conversations Interface: sp-5/0/0, Service set: set_0 Conversation: ALG protocol: icmpv6 Number of initiators: 1, Number of responders: 1 Flow State Dir Frm count ICMPV6 2001:db8::2 ->64:ff9b::c000:201 Watch I 21 NAT source 2001:db8::2 -> 203.0.113.1 NAT dest 64:ff9b::c000:201 -> 192.0.2.1 ICMP 192.0.2.1 -> 203.0.113.1 Watch O 21 NAT source 192.0.2.1 -> 64:ff9b::c000:201 NAT dest 203.0.113.1 -> 2001:db8::2
意味
サンプル出力には、ICMP エコー テストの結果が表示されます。