IPv6 のステートレス送信元ネットワークプレフィックス変換
IPv6のステートレス送信元ネットワークプレフィックス変換の概要
Junos OSリリース15.1以降、IPv6ネットワークの送信元アドレスプレフィックスのステートレス変換(IPv6からIPv6)を設定できます。この機能は、インラインNATがサポートされているMPCを搭載したMXシリーズルーターでサポートされています。IPv6パケット(NPTv6)のステートレスネットワークプレフィックス変換を設定するには、[edit services nat rule rule-name term term-name then translated]階層レベルでtranslation-type nptv6ステートメントを含めます。NPTv6 トランスレータは、パケットのトランスポート層チェックサムを再計算する必要がないように送信元アドレスのプレフィックスを変換します。NPTv6 は、内部ネットワークと外部ネットワーク間の IPv6 ネットワークプレフィックス変換のステートレス方式を定義します。NPTv6 は、トランスレーター内の各ノードまたは各フローの状態を維持しません。show services nat mappings nptv6 (internal | external)コマンドを使用すると、内部アドレスと外部アドレスのNPTv6のNATマッピングをそれぞれ表示できます。また、show services inline nat statisticsおよびshow services inline nat poolコマンドを使用して、NPTv6が設定されたインラインNATに関する情報を表示することもできます。
ステートレスソースネットワークプレフィックス変換のメリット
エッジネットワークの場合、以下の場合、インターフェイス、アクセスリスト、およびシステムロギングメッセージのためにローカルネットワーク内で使用されるIPv6アドレスの番号を変更する必要はありません。
エッジネットワークで使用されるグローバルプレフィックスが変更されます。
IPv6アドレスは、サイトがアップストリームネットワークを追加、ドロップ、または変更する際に、エッジネットワーク内または他のアップストリームネットワーク(マルチホームデバイスなど)内で使用されます。
エッジネットワークで使用されるIPv6アドレスは、アップストリームネットワークでイングレスフィルタリングを必要とせず、アップストリームネットワークにアドバタイズする顧客固有のプレフィックスを必要としません。
変換機能を通過する接続は、NPTv6 トランスレーターのリセットや短時間の停止によって中断されることはありません。
NPTv6
IPv6のネットワークプレフィックス変換(NPTv6)は、内部ネットワークと外部ネットワーク間のIPv6アドレスプレフィックス変換のステートレスな方法を定義します。NPTv6 は、トランスレーター内の各ノードまたは各フローの状態を維持しません。インバウンドまたはアウトバウンドパケットのアドレスマッピングにマッピング状態のメンテナンスは必要ありません。ステートレスでトランスポートに依存しないIPv6-to-IPv6 NPTv6機能は、IPv4-to-IPv4 NAT(NAPT44)に関連付けられたアドレス非依存性の利点を提供し、 内部 プレフィックスと 外部 プレフィックスのアドレス間に1:1の関係を提供することで、ネットワーク層でのエンドツーエンドの到達性を維持します。アップストリームネットワークでは、エッジネットワークで使用されるIPv6アドレスには常にプロバイダ割り当てプレフィックスが含まれます。
NPTv6は、アップストリームのサービスプロバイダネットワークに関係なく、エッジネットワークにアドレスの独立性を提供するよう設計されており、内部アドレスの安定性を実現します。ただし、変換せずにプロバイダに依存しないアドレスを使用すると、ルーティングテーブルがエッジネットワークにサービスを提供するトランジットドメインを列挙するのではなく、エッジネットワークを列挙するため、非常にコストがかかる可能性があります。この現象は、巨大で管理不能なルートテーブルを引き起こす可能性があります。NPTv6は、内部ネットワークのプレフィックスを外部ネットワークにアドバタイズすることなく、アドレスの独立性を効果的かつ一貫して提供するメカニズムです。これとは対照的に、IPv4 向けネットワーク アドレス ポート変換(NAPT)(NAPT44)の主な目的は、IPv4 アドレス枯渇を解決することですが、アドレスの独立性というメリットは同じです。NAPT for IPv6、特にNAPT66は、マイクロカーネルですでにサポートされています。ただし、NAPT44と同様に、NAPT66ではフロー状態情報を保存する必要があります。NPTv6は、NAPT66に関連する制限を可能な限り回避するためのシンプルで合理化された手法を提供します。双方向、チェックサムニュートラル、およびアルゴリズム変換関数を含むように定義されています。
NPTv6 は、トランスレーター内のノード、フロー、または接続の状態情報を維持しません。内部から外部、外部から内部へのパケットは、IPv6ヘッダーに存在する情報を使用してアルゴリズムによって変換されます。ステートレスな性質上、同じ 2 つのネットワーク間に複数の NPTv6 トランスレータが存在する場合、負荷がそれらの間で移動したり、動的に共有されたりする可能性があります。また、NAPT44とは異なり、マッピングはどちらの方向にも実行できるため、トランスレータはインバウンド接続の確立に干渉しません。代わりに、ファイアウォールをNPTv6トランスレーターと組み合わせて使用できます。この動作により、ネットワーク管理者は従来の NAT よりも柔軟にセキュリティ ポリシーを指定できます。
NPTv6 のもう 1 つの利点は、チェックサム ニュートラルな変換です。トランスレーターは、チェックサムを更新するためにトランスポートヘッダーを書き換える必要はなく、ポートマッピングも実行しません。その結果、新しいトランスポート層プロトコルを展開するために、トランスレータを変更する必要はありません。トランスポート層は変更されないため、アルゴリズムがIPペイロードの暗号化に干渉することはありません。NPTv6はいくつかの点でNAPT44やNAPT66と比べると優れていますが、アーキテクチャ上の問題をすべて解消するわけではありません。NPTv6はパケットのIPヘッダーを変更するため、IPsec認証ヘッダーなどのセキュリティメカニズムと互換性がありません。内部プレフィックスと外部プレフィックスを分けて使用すると、ドメインネームシステム(DNS)の導入が複雑になります。また、NAPT44またはNAPT66デバイスを介して正しく動作するためにアプリケーション層ゲートウェイ(ALG)を必要とするアプリケーションでは、NPTv6トランスレータを介して動作するために同様のALGが必要になる場合があります。NPTv6は接続状態を維持しないため、トランスレータの障害は、サーバーを介した非送信電力制御(TPC)トラフィックに影響を与えません。接続の送信元IPアドレスが変更されたことで、TCP接続が中断されることがあります。この場合、接続がタイムアウトしてから再確立される可能性があります。
NPTv6はインラインNATを使用します。インラインNATは、MPC(モジュラーポートコンセントレータ)ラインカードの機能を使用するため、NAT用のマルチサービスDPC(MS-DPC)は不要です。インラインNATを設定するには、サービスインターフェイスをタイプ si- (サービスインライン)インターフェイスとして定義します。また、インラインインターフェイス用に十分な帯域幅を確保する必要があります。これにより、NAT に使用されるインターフェイス サービス セットとネクストホップ サービス セットの両方を設定できます。 si- インターフェイスは 、仮想サービスPICとして機能します。
IPv6のネットワークプレフィックス変換による機能の相互運用
このトピックでは、ステートレスソースIPv6プレフィックス変換によるさまざまな機能の動作動作と、さまざまなシステム条件について説明します。
アドレスマッピングアルゴリズム
NPTv6 トランスレーターは、ネットワークから送信されるパケットをフィルタリングし、パケットの送信元アドレスがルールで定義された送信元アドレス(設定されている from または送信元アドレス)と一致する場合、送信元アドレスはルールに定義されたプールのアドレスプレフィックスに置き換えられます。送信元アドレスのプレフィックスの後の次の16ビットは、チェックサム調整値に置き換えられ、送信元アドレスが変更されても、送信パケットでチェックサムが同じままになるようにします。ネットワーク外に出るパケットの設定ルールとプールの定義中に、ネットワークに入るパケットの宛先アドレス変換のためのデナートルールとプールが作成されます。
内部から外部への変換
パケットが内部ネットワークから外部ネットワークに送信される場合、パケットの送信元アドレス(内部ノードから送信された)のIPv6プレフィックスが外部プレフィックスにマッピングされます。チェックサム調整後、パケットは外部ネットワークにルーティングされます。
外部変換から内部変換
パケットが外部ネットワークから内部ネットワークに送信される場合、パケットの宛先アドレス(外部ホストから送信される)のIPv6プレフィックスが内部プレフィックスにマッピングされます。チェックサム調整後、パケットは内部ネットワークにルーティングされます。
チェックサムニュートラル変換
NPTv6 トランスレータは、パケットのトランスポート層チェックサムを再計算する必要がないように送信元アドレスのプレフィックスを変換します。チェックサムでカバーされる領域の一部を変更することによって引き起こされるチェックサムの変更は、同じチェックサムでカバーされる別の16ビットフィールドに追加変更することで修正できます。このチェックサム ニュートラル メソッドは、最初に internal-prefix と external-prefix の 1 の補数チェックサムを計算します。
内部ネットワークからのパケットの場合、調整は1の補数として計算され、次のように計算されます。
調整 = 内部プレフィックスチェックサム – 外部プレフィックスチェックサム。
調整値は、プレフィックスの後の送信元アドレスの16ビットワードに追加されます。
外部ネットワークから送信されるパケットの場合、調整は1の補数であり、次のように計算されます。
調整 = 外部プレフィックスチェックサム – 内部プレフィックスチェックサム。
調整は、変換されたプレフィックスの後に宛先アドレスの16ビットワードに追加されます。
マルチホーミング
同じ内部 IPv6 プレフィックスに対して外部 IPv6 プレフィックス設定が異なる 2 つの NPTv6 トランスレーターが存在する場合、これら 2 つの NPTV6 トランスレーターは、パケットが通過するトランスレーターに応じて、同じ内部 IPv6 ネットワーク プレフィックスを 2 つの異なる外部 IPv6 ネットワーク プレフィックスに変換します。
ヘアピン
内部ノードが別の内部ノードの外部(つまりグローバルアドレス)のみを知っている場合、そのアドレスを使用してその内部ノードにパケットを送信します。このようなパケットがNPTv6トランスレーターによって受信された場合、そのパケットは送信元アドレスと宛先アドレスの変換を経た後、再び内部ネットワークに向けてルーティングされます。
ロードバランシング
負荷分散は、2 つの変換者が同じ内部から外部へのマッピング設定を持ち、パケット負荷がそれらの間で共有されている場合に実現されます。ロードバランシングを達成する方法は、NPTv6の範囲外です。
バランシングは、IPv6アドレスのサブネットID部分に基づいて実装できます。内部プレフィックスと外部プレフィックスの同じマッピングを持つ論理インターフェイスが2つ存在できます。パケットは、サブネットIDに基づいて論理インターフェイスの1つにルーティングされます。
NPTv6向けICMPv6
NPTv6 ICMPv6 エラー生成は、マップされていない Hextet ではサポートされていません。
ステートレス送信元ネットワークのプレフィックス変換の設定ガイドライン
送信元IPv6プレフィックスのステートレス変換を設定する際には、以下の点に留意してください。
このトピックでは、ステートレスソースIPv6プレフィックス変換によるさまざまな機能の動作動作と、さまざまなシステム条件について説明します。
グレースフルルーティングエンジンスイッチオーバー(GRES)のサポートは、NAT44の場合と同じです。
統合型ISSUおよびノンストップソフトウェアアップグレード(NSSU)はサポートされていません。
NPTv6を導入することで、外部ネットワークから内部ノードへの直接インバウンド接続が可能になります。このメカニズムは、内部ノードを外部からの攻撃に対して開放するため、若干の脆弱性を引き起こします。NPTv6のステートレス変換では、接続状態に基づいて外部接続要求をトレースすることが困難になります。この動作により、NAT44ネットワークを外部からの攻撃から十分に保護することができます。NPTv6 トランスレーターを保護する最善のオプションは、NPTv6 トランスレーターの上にファイアウォールを追加することです。
6番目のソフトワイヤーコンセントレータはNPTv6と相互運用します。ペイロードの送信元IPアドレスを変更するためにアプリケーション層ゲートウェイ(ALG)を必要としない他のすべてのメカニズムがサポートされています。TCP、UDP、ICMP、SSH、Telnet は、NPTv6 トランスレーターでサポートされています。ALGでペイロードの送信元IPアドレスを変更する必要があるFTPおよびSIP(セッション開始プロトコル)はサポートされていません。
NPTv6プールは、外部データメモリに割り当てられます。プールのデータ構造は、アドレスプレフィックス、プレフィックス長、チェックサムで構成されています。各レコードのサイズは 192 ビットです。すべてのプールに、デンナットプールが自動的に割り当てられます。変性プールのサイズは192ビットです。NAT処理および未変換のNPTv6プールには、合計8000個の64ビットエントリが割り当てられています。この割り当ては、インライン サービス(JNH_APP_INLINE_SVCS)に割り当てられた 64,000 個のエントリーから取得されます。
6rdとNPTv6の相互運用のためのインラインサービスのチェイニングはサポートされていません。
NPTv6の設定中に、ソースプールを設定し、
from(送信元)アドレスを指定する必要があります。外部および内部のプレフィックス長は、/16サブネットマスク以上/112サブネットマスク以下である必要があります。
2 つの異なる内部プレフィックスを同じ外部プレフィックスに変換することはできません。
NPTv6 は、IPSec および Internet Key Exchange(IKE)パケットには適用できません。この場合、NPTv6 トランスレーターはバイパスされます。
変換は 1 つの IPv6 アドレスプレフィックスであるため、プールにはアドレスが 1 つしかありません。ユーザーが複数のアドレスを設定した場合、システムはエラーを発生せず、代わりにプールの最初のアドレスプレフィックスのみが変換用に選択されます。
内部ネットワークから外部ネットワークに送信されるパケットの場合、内部サブネットがマッピングされていないか、0xFFFFに設定されている場合、データグラムは破棄され、ICMP 宛先到達不能エラーが生成されます。
内部ネットワークから外部ネットワークに移動するパケットの場合、16ビットワードに1の補数法で調整が加算され、0xFFFFに等しい場合、値はゼロと書き込まれます。
外部ネットワークから内部ネットワークに送信されるパケットの場合、16ビットワードに1の補数法を使用して調整を差し引いて0xFFFFに等しい場合、16ビットワードはゼロとして上書きされます。
プレフィックス /48 以下の変換の場合は、/48 サブネット マスクの後の最初の 16 ビットから調整を加算または減算する必要があり、その値は0xFFFFではありません。プレフィックスが /49 以上の場合、値が0xFFFFしない最初の 16 ビット (64 から 123) から調整を加算または減算する必要があります。
インターフェイススタイルおよびネクストホップスタイルのサービスセットを使用したNPTv6の動作
目的は、送信元IPv6アドレスのステートレス変換を実行するNetwork Prefix Translation for IPv6(NPTv6)インラインサービスを追加することです。プレフィックスが FD01:0203:0405:/48 の内部ネットワークと、プレフィックスが 2001:0DB8:0001:/48 の外部ネットワークの間に NPTv6 が実装されているトポロジーの例を考えてみましょう。
グローバルネットワーク(外部ネットワーク)内のホスト宛ての単一の管理ドメイン(内部ネットワーク)からのパケット内の送信元アドレスFD01:0203:0405:/48は、2001:0DB8:0001:/48に変換されます。外部ネットワークから内部ネットワーク宛てのパケットの宛先アドレスは 2001:0DB8:0001:/48 になります。この宛先アドレスは、内部ネットワーク アドレス FD01:0203:0405:/48 にマップされ、内部ネットワーク ホストに転送されます。この場合、両方のサブネットの長さは同じであると想定されます。それらが異なる場合は、短い方の方のプレフィックス長にゼロを付けて拡張されます。
NPTv6に使用されるアドレスマッピングアルゴリズムはチェックサムニュートラルです。変換されたIPヘッダーは、同じIPv6疑似ヘッダーチェックサムを生成します。チェックサムは、標準的なインターネット チェックサム アルゴリズムを使用して計算されます。IPv6 プレフィックスの変換中に行われた変更は、計算された IPv6 アドレスの他の部分に加えられた変更によって相殺されます。これにより、インターネットチェックサム(TCPやUDPなど)を使用するトランスポート層は、同じデータグラムの内部フォームと外部フォームの両方に対して同じIPv6擬似ヘッダーチェックサムを計算し、チェックサム値を修正するためにトランスポート層ヘッダーを変更する必要がなくなります。このアルゴリズムは、インバウンドパケットとアウトバウンドパケットのアドレスをマッピングできます。
NPTv6 トランスレータは、フラグメント化されたパケットと IP オプションが有効なパケットの両方で機能します。NPTv6に必要な設定変更については、次のセクションで説明します。
サービスを処理するルーターの設定は、論理サービスインターフェイス、サービスセット、サービスセットルールの定義によって行われます。これらは、サービスがパケットに適用される方法を定義します。
静的v4-v4ソースアドレスinline-NATで利用可能なインラインサービス論理インターフェイスsi-iflの実装は、インラインNPTv6で再利用できます。MS-DPC に実装された NPTv6 の構成は、インライン NPTv6 実装用に変更できます。サービスセットの設定には、インターフェイススタイルとネクストホップスタイルの2種類があります。
ネクストホップスタイルサービスでは、パケットをインラインサービスインターフェイスに誘導するようにルートエントリーが設定されます。そこでパケットはサービスルールを通過します。パケットがサービスルールに一致する場合、サービスルールに従って処理されます。インターフェイススタイルサービスの場合、サービスセットはメディアインターフェイス上で直接設定され、インターフェイスを出入りするトラフィックに影響を与えます。パケットは、メディアインターフェイスに適用されるサービスフィルターによってインラインサービスインターフェイスに誘導されます。
例:インターフェイススタイルのサービスセットを使用してIPv6ネットワークでステートレスネットワークプレフィックス変換を設定することで、アドレスの独立性を実現
インラインNATをサポートするMPCを搭載したMXシリーズルーター上で、IPv6ネットワークにおける送信元アドレスプレフィックスのステートレス変換(IPv6からIPv6へ)を設定できます。NPTv6 トランスレータは、パケットのトランスポート層チェックサムを再計算する必要がないように送信元アドレスのプレフィックスを変換します。NPTv6 は、内部ネットワークと外部ネットワーク間の IPv6 ネットワークプレフィックス変換のステートレス方式を定義します。NPTv6 は、トランスレーター内の各ノードまたは各フローの状態を維持しません。 show services nat mappings nptv6 (internal | external) コマンドを使用すると、内部アドレスと外部アドレスのNPTv6のそれぞれNATマッピングを表示できます。また、 show services inline nat statistics コマンドと show services inline nat pool コマンドを使用して、NPTv6が設定されたインラインNATに関する情報を表示することもできます。
この機能は、TrioベースFPC(MPC)を搭載したMXシリーズルーターでサポートされています。
この例では、MPCを搭載したMXシリーズルーターでインターフェイススタイルのサービスセットを使用して、IPv6パケットのステートレスソースプレフィックス変換を設定する方法を説明し、以下のセクションで構成されています。
要件
この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。
MPCを搭載したMXシリーズルーター1台。
MXシリーズルーターのJunos OSリリース15.1R1以降
インターフェイススタイルのサービスセットを使用したIPv6ネットワークにおけるステートレスネットワークプレフィックス変換の概要とトポロジー
インターフェイススタイルサービスの場合、サービスセットはメディアインターフェイス上で直接設定され、インターフェイスを出入りするトラフィックに影響を与えます。パケットは、メディアインターフェイスに適用されるサービスフィルターによってインラインサービスインターフェイスに誘導されます。
サービスセット定義を設定してサービスルールを定義してグループ化すると、ルーターにインストールされている1つ以上のインターフェイスにサービスを適用できます。サービスセットをインターフェイスに適用すると、パケットがPICに送信されるように自動的に確保されます。
インターフェイススタイルのサービスセットを使用してNPTv6を設定する設定シナリオの例を考えてみましょう。インライン サービス インターフェイス si-0/1/0 は、10 ギガビット/秒の帯域幅で設定されています。si-0/1/0インターフェイスは、inet6ファミリーで定義されています。NATアドレスプールnptv6_poolは、abcd:ef12:3456::/48のアドレスで設定されています。送信元アドレス1234:5678:9abc::/48から到着したパケットに対してNPTv6変換を実行するために、入力方向にNATルールが適用されます。送信元アドレス1234:5678:9abc::/48からのパケットのうち、NATルール基準に一致する場合、NATアドレスプールからのアドレスが割り当てられます。サービスセットss_nptv6は、NATルールで指定されます。ギガビットイーサネットインターフェイスge-5/0/0が設定され、このインターフェイスにサービスセットが適用されます。
設定
インターフェイススタイルのサービスセットを使用してIPv6のステートレスネットワークプレフィックス変換を設定するには、以下のタスクを実行します。
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて必要な詳細を変更し、[edit] 階層レベルのCLIにコマンドをコピーして貼り付けます。
インターフェイスの設定
set interfaces si-0/1/0 unit 0 family inet6
サービスセットで処理されるトラフィックのインターフェイスの設定
set interfaces ge-5/0/0 unit 0 family inet6 service input service-set nptv6-service-set set interfaces ge-5/0/0 unit 0 family inet6 service output service-set nptv6-service-set set interfaces ge-5/0/0 unit 0 family inet6 address 1234:5678:9abc::1/64
サービスインライン(si-)インターフェイスの帯域幅の設定
set chassis fpc 0 pic 1 inline-services bandwidth 10g
NATプールとルールの設定
set services nat pool ss_nptv6_pool address abcd:ef12:3456::/48 set services nat rule ss_nptv6_rule match-direction input term t0 from source-address 1234:5678:9abc::/48 set services nat rule ss_nptv6_rule match-direction input term t0 then translated source-pool ss_nptv6_pool set services nat rule ss_nptv6_rule match-direction input term t0 then translated translation-type nptv6
サービスセットの設定
set services service-set ss_nptv6 nat-rules ss_nptv6_rule set services service-set ss_nptv6 nat-options nptv6 icmpv6-error-messages set services service-set ss_nptv6 interface-service service-interface si-0/1/0.0
手順
ステップバイステップの手順
次の例では、設定階層のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、『CLIユーザーガイド』の「設定モードでのCLIエディターの使用」を参照してください。
インターフェイススタイルのサービスセットを使用してIPv6のステートレスネットワークプレフィックス変換を設定するには:
インラインサービス(si-)インターフェイスを設定します。
[edit] user@host# set interfaces si-0/1/0 unit 0 family inet6
サービスセットが処理するトラフィックのインターフェイスを設定します。
[edit] user@host# set interfaces ge-5/0/0 unit 0 family inet6 service input service-set nptv6-service-set user@host# set interfaces ge-5/0/0 unit 0 family inet6 service output service-set nptv6-service-set user@host# set interfaces ge-5/0/0 unit 0 family inet6 address 1234:5678:9abc::1/64
サービスインライン(si-)インターフェイスの帯域幅を設定します。
[edit] user@host# set chassis fpc 0 pic 1 inline-services bandwidth 10g
NATプールとルールを設定します。
[edit] user@host# set services nat pool ss_nptv6_pool address abcd:ef12:3456::/48 user@host# set services nat rule ss_nptv6_rule match-direction input term t0 from source-address 1234:5678:9abc::/48 user@host# set services nat rule ss_nptv6_rule match-direction input term t0 then translated source-pool ss_nptv6_pool user@host# set services nat rule ss_nptv6_rule match-direction input term t0 then translated translation-type nptv6
サービスセットを設定します
[edit] user@host# set services service-set ss_nptv6 nat-rules ss_nptv6_rule user@host# set services service-set ss_nptv6 nat-options nptv6 icmpv6-error-messages user@host# set services service-set ss_nptv6 interface-service service-interface si-0/1/0.0
結果
設定モードから、 show chassis、 show interfaces、 show services コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@host# show chassis
chassis {
fpc 0 {
pic 1 {
inline-services {
bandwidth 10g;
}
}
}
}
user@host# show interfaces
interfaces {
si-0/1/0 {
unit 0 {
family inet6;
}
}
ge-5/0/0 {
unit 0 {
family inet6 {
service {
input {
service-set nptv6-service-set;
}
output {
service-set nptv6-service-set;
}
}
address 1234:5678:9abc::1/64;
}
}
}
}
user@host# show services
services {
service-set ss_nptv6 {
nat-rules ss_nptv6_rule;
nat-options {
nptv6 {
icmpv6-error-messages;
}
}
interface-service {
service-interface si-0/1/0.0;
}
}
nat {
pool ss_nptv6_pool {
address abcd:ef12:3456::/48;
}
rule ss_nptv6_rule {
match-direction input;
term t0 {
from {
source-address {
1234:5678:9abc::/48;
}
}
then {
translated {
source-pool ss_nptv6_pool;
translation-type {
nptv6;
}
}
}
}
}
}
}
検証
設定が正しく機能していることを確認するには、以下を実行します。
NATプールマッピングの検証
目的
IPv6ネットワークプレフィックス変換用の既存のNATアドレスプールとマッピングを確認します。
アクション
動作モードから、 show services nat mappings nptv6 コマンドを使用します。
user@host> show services nat mappings nptv6 internal 1111:2222:3333:aaaa:bbbb::1 Interface Service-set NAT-Pool Address Mapping si-0/1/0 ss_nptv6 ss_nptv6_pool 1111:2222:3333:aaaa:bbbb::1 -> aaaa:bbbb:cccc:dddd:bbbb::1
user@host> show services nat mappings nptv6 external aaaa:bbbb:cccc:dddd:bbbb::1 Interface Service-set NAT-Pool Address Mapping si-0/1/0 ss_nptv6 ss_nptv6_pool 1111:2222:3333:aaaa:bbbb::1 -> aaaa:bbbb:cccc:dddd:bbbb::1
意味
出力は、外部アドレスと内部アドレスのIPv6ステートレスネットワークプレフィックス変換のためのNATアドレスとポート間のマッピングを示しています。最初にNATを使用して送信および変換されたアドレスとポートの詳細が表示されます。
インライン NAT プールと統計情報の検証
目的
IPv6ネットワークプレフィックス変換のインラインNATプールと統計を確認します。
アクション
動作モードから、 show services inline nat コマンドを使用します。
user@host> show services inline nat statistics interface si-4/0/0
Service PIC Name: si-4/0/0
Control Plane Statistics
ICMPv4 errors packets pass through :0
ICMPv4 errors packets locally generated :0
ICMPv6 errors packets pass through :0
ICMPv6 errors packets locally generated :0
Dropped packets :0
Data Plane Statistics
NATed packets :0
deNATed packets :0
Errors :0
user@host> show services inline nat pool
Interface: si-4/0/0, Service set: ss_nptv6
NAT pool: ss_nptv6_pool1, Translation type: NPTV6
Address range: abcd:ef12:3456::/48
NATed packets: 0, deNATed packets: 0, Errors: 0
NAT pool: ss_nptv6_pool2, Translation type: NPTV6
Address range: 1111:2222:3333::/48
NATed packets: 0, deNATed packets: 0, Errors: 0
user@host> show services inline nat pool ss_nptv6_pool1
Interface: si-4/0/0, Service set: ss_nptv6
NAT pool: ss_nptv6_pool1, Translation type: NPTV6
Address range: abcd:ef12:3456::/48
NATed packets: 0, deNATed packets: 0, Errors: 0
意味
出力には、NAT 処理の対象となるパケット数、変換されなかったパケット、指定したサービス セットと si- インターフェイスの変換エラーがあるパケットなど、インライン NAT アドレス変換に関する情報が表示されます。
例:ネクストホップスタイルのサービスセットを使用してIPv6ネットワークでステートレスネットワークプレフィックス変換を設定することで、アドレスの独立性を実現
インラインNATがサポートされているMPCを搭載したMXシリーズルーター上で、IPv6ネットワーク内の送信元アドレスプレフィックスのステートレス変換(IPv6からIPv6へ)を設定できます。NPTv6 トランスレータは、パケットのトランスポート層チェックサムを再計算する必要がないように送信元アドレスのプレフィックスを変換します。NPTv6 は、内部ネットワークと外部ネットワーク間の IPv6 ネットワークプレフィックス変換のステートレス方式を定義します。NPTv6は、トランスレーターのノードごとまたはフローごとの状態を維持しません。show services nat mappings nptv6(内部 | 外部)コマンドを使用すると、内部アドレスと外部アドレスのそれぞれについて、NPTv6のNATマッピングを表示できます。また、show services inline nat statisticsおよびshow services inline nat poolコマンドを使用して、NPTv6が設定されたインラインNATに関する情報を表示することもできます。
この機能は、TrioベースFPC(MPC)を搭載したMXシリーズルーターでサポートされています。
この例では、MPCを搭載したMXシリーズルーターでネクストホップスタイルのサービスセットを使用してIPv6パケットのステートレスソースプレフィックス変換を設定する方法を説明し、以下のセクションで構成されています。
要件
この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。
MPCを搭載したMXシリーズルーター1台。
MXシリーズルーターのJunos OSリリース15.1R1以降
ネクストホップスタイルサービスセットを使用したIPv6ネットワークにおけるステートレスネットワークプレフィックス変換の概要とトポロジー
ネクストホップサービスセットは、特定のサービスを適用するルートベースの方法です。特定のネクストホップ宛てのパケットのみが、明示的な静的ルートの作成によって処理されます。この設定は、仮想プライベートネットワーク(VPN)ルーティングおよび転送(VRF)テーブル全体にサービスを適用する必要がある場合や、ルーティングの決定によりサービスの実行が必要であると判断した場合に便利です。
ネクストホップスタイルサービスでは、パケットをインラインサービスインターフェイスに誘導するようにルートエントリーが設定されます。パケットは、サービスルールによって検証されます。パケットがサービスルールに一致する場合、サービスルールに従って処理されます。
ネクストホップスタイルのサービスセットを使用してNPTv6を設定する設定シナリオ例を考えてみましょう。インライン サービス インターフェイス si-0/1/0 は、10 ギガビット/秒の帯域幅で設定されています。si-0/1/0インターフェイスは、inet6ファミリーで定義されています。NATアドレスプールnptv6_poolは、abcd:ef12:3456::/48のアドレスで設定されています。送信元アドレス1234:5678:9abc::/48から到着したパケットに対してNPTv6変換を実行するために、入力方向にNATルールが適用されます。送信元アドレス1234:5678:9abc::/48からのパケットのうち、NATルール基準に一致する場合、NATアドレスプールからのアドレスが割り当てられます。サービスセットは、ネットワーク内部で適用されるサービスセットに関連付けられたsi-0/1/0.1のサービスインターフェイスを使用してネクストホップを転送するように設定されています。ネットワーク外に適用されたサービスセットに関連付けられた、内部ネットワークおよびsi-/1/0.2のネクストホップサービスインターフェイスのパラメータを使用します。サービスセットss_nptv6は、NATルールで指定されます。サービスインターフェイスドメインは、si-0/1/0.1に設定された内部サービスドメインとsi-0/1/0.2に設定された外部サービスドメインで、si-インターフェイスに指定されます。ルーティングインスタンスinst1は、VRFインスタンスとしてインスタンスタイプで設定されます。インターフェイス si-0/1/0.1 とインターフェイス ge-5/0/0 は inst1 に関連付けられています。内部インターフェイスドメインと外部インターフェイスドメインは、inside-service-interfaceおよびoutside-service-interfaceステートメントで指定されたものと一致します。すべてのパケットを拒否するアクションを持つポリシーがNATイベントに対して設定されています。
設定
ネクストホップスタイルのサービスセットを使用してIPv6のステートレスネットワークプレフィックス変換を設定するには、以下のタスクを実行します。
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて必要な詳細を変更し、[edit] 階層レベルのCLIにコマンドをコピーして貼り付けます。
インラインインターフェイスの設定
set interfaces si-0/1/0 unit 0 family inet6 set interfaces si-0/1/0 unit 1 family inet6 set interfacessi-0/1/0 unit 1 service-domain inside set interfaces si-0/1/0 unit 2 family inet6 set interfaces si-0/1/0 unit 2 service-domain outside set interfaces ge-5/0/0 unit 0 family inet6 address 1234:5678:9abc::1/64
インラインサービスの帯域幅の設定
set chassis fpc 0 pic 1 inline-services bandwidth 10g
NATプールとルールの設定
set services nat pool ss_nptv6_pool address abcd:ef12:3456::/48 set services nat rule ss_nptv6_rule match-direction input term t0 from source-address 1234:5678:9abc::/48 set services nat rule ss_nptv6_rule match-direction input term t0 then translated source-pool ss_nptv6_pool set services nat rule ss_nptv6_rule match-direction input term t0 then translated translation-type nptv6
サービスセットの設定
set services service-set ss_nptv6 nat-rules ss_nptv6_rule set services service-set ss_nptv6 nat-options nptv6 icmpv6-error-messages set services service-set ss_nptv6 nexthop-service inside-service-interface si-0/1/0.1 set services service-set ss_nptv6 nexthop-service outside-service-interface si-0/1/0.2
ルーティングインスタンスの設定
set routing-instances inst1 instance-type vrf set routing-instances inst1 interface si-0/1/0.1 set routing-instances inst1 interface ge-5/0/0.0 set routing-instances inst1 route-distinguisher 1234:5678 set routing-instances inst1 vrf-import reject-all set routing-instances inst1 vrf-export reject-all set routing-instances inst1 routing-options rib inst1.inet6.0 static route ::0/0 next-hop si-0/1/0.1
ポリシーとアクション修飾子の設定
set policy-options policy-statement reject-all then reject
手順
ステップバイステップの手順
次の例では、設定階層のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、『CLIユーザーガイド』の「設定モードでのCLIエディターの使用」を参照してください。
ネクストホップスタイルのサービスセットを使用してIPv6のステートレスネットワークプレフィックス変換を設定するには:
NATサービスのインラインインターフェイスを設定します。
[edit] user@host# set interfaces si-0/1/0 unit 0 family inet6 user@host# set interfaces si-0/1/0 unit 1 family inet6 user@host# set interfacessi-0/1/0 unit 1 service-domain inside user@host# set interfaces si-0/1/0 unit 2 family inet6 user@host# set interfaces si-0/1/0 unit 2 service-domain outside user@host# set interfaces ge-5/0/0 unit 0 family inet6 address 1234:5678:9abc::1/64
インラインサービスの帯域幅を設定します。
[edit] user@host# set chassis fpc 0 pic 1 inline-services bandwidth 10g
NATプールとルールを設定します。
[edit] user@host# set services nat pool ss_nptv6_pool address abcd:ef12:3456::/48 user@host# set services nat rule ss_nptv6_rule match-direction input term t0 from source-address 1234:5678:9abc::/48 user@host# set services nat rule ss_nptv6_rule match-direction input term t0 then translated source-pool ss_nptv6_pool user@host# set services nat rule ss_nptv6_rule match-direction input term t0 then translated translation-type nptv6
NATプールに関連付けられたNATルールを使用してサービスセットを設定します。
[edit] user@host# set services service-set ss_nptv6 nat-rules ss_nptv6_rule user@host# set services service-set ss_nptv6 nat-options nptv6 icmpv6-error-messages user@host# set services service-set ss_nptv6 nexthop-service inside-service-interface si-0/1/0.1 user@host# set services service-set ss_nptv6 nexthop-service outside-service-interface si-0/1/0.2
設定されたsi-インターフェイスを使用するルーティングインスタンスを設定します。
[edit] user@host# set routing-instances inst1 instance-type vrf user@host# set routing-instances inst1 interface si-0/1/0.1 user@host# set routing-instances inst1 interface ge-5/0/0.0 user@host# set routing-instances inst1 route-distinguisher 1234:5678 user@host# set routing-instances inst1 vrf-import reject-all user@host# set routing-instances inst1 vrf-export reject-all user@host# set routing-instances inst1 routing-options rib inst1.inet6.0 static route ::0/0 next-hop si-0/1/0.1
NATパケットのポリシーとアクション修飾子を設定します。
[edit] user@host# set policy-options policy-statement reject-all then reject
結果
設定モードから、 show chassis、 show interfaces、 show policy-options、 show routing-instances、および show services コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@host# show chassis
chassis {
fpc 0 {
pic 1 {
inline-services {
bandwidth 10g;
}
}
}
}
user@host# show interfaces
chassis {
fpc 0 {
pic 1 {
inline-services {
bandwidth 10g;
}
}
}
}
interfaces {
si-0/1/0 {
unit 0 {
family inet6;
}
unit 1 {
family inet6;
service-domain inside;
}
unit 2 {
family inet6;
service-domain outside;
}
}
ge-5/0/0 {
unit 0 {
family inet6 {
address 1234:5678:9abc::1/64;
}
}
}
}
user@host# show policy-options
policy-options {
policy-statement reject-all {
then reject;
}
}
user@host# show routing-instances
routing-instances {
inst1 {
instance-type vrf;
interface si-0/1/0.1;
interface ge-5/0/0.0;
route-distinguisher 1234:5678;
vrf-import reject-all;
vrf-export reject-all;
routing-options {
rib inst1.inet6.0 {
static {
route ::0/0 next-hop si-0/1/0.1;
}
}
}
}
}
user@host# show services
services {
service-set ss_nptv6 {
nat-rules ss_nptv6_rule;
nat-options {
nptv6 {
icmpv6-error-messages;
}
}
nexthop-service {
inside-service-interface si-0/1/0.1;
outside-service-interface si-0/1/0.2;
}
}
nat {
pool ss_nptv6_pool {
address abcd:ef12:3456::/48;
}
rule ss_nptv6_rule {
match-direction input;
term t0 {
from {
source-address {
1234:5678:9abc::/48;
}
}
then {
translated {
source-pool ss_nptv6_pool;
translation-type {
nptv6;
}
}
}
}
}
}
}
検証
設定が正しく機能していることを確認するには、以下を実行します。
NATプールマッピングの検証
目的
IPv6ネットワークプレフィックス変換用の既存のNATアドレスプールとマッピングを確認します。
アクション
動作モードから、 show services nat mappings nptv6 コマンドを使用します。
user@host> show services nat mappings nptv6 internal 1111:2222:3333:aaaa:bbbb::1 Interface Service-set NAT-Pool Address Mapping si-0/1/0 ss_nptv6 ss_nptv6_pool 1111:2222:3333:aaaa:bbbb::1 -> aaaa:bbbb:cccc:dddd:bbbb::1
user@host> show services nat mappings nptv6 external aaaa:bbbb:cccc:dddd:bbbb::1 Interface Service-set NAT-Pool Address Mapping si-0/1/0 ss_nptv6 ss_nptv6_pool 1111:2222:3333:aaaa:bbbb::1 -> aaaa:bbbb:cccc:dddd:bbbb::1
意味
出力には、NAT 処理の対象となるパケット数、変換されなかったパケット、指定したサービス セットと si- インターフェイスの変換エラーがあるパケットなど、インライン NAT アドレス変換に関する情報が表示されます。
インライン NAT プールと統計情報の検証
目的
IPv6ネットワークプレフィックス変換のインラインNATプールと統計を確認します。
アクション
動作モードから、 show services inline nat コマンドを使用します。
user@host> show services inline nat statistics interface si-4/0/0
Service PIC Name :si-4/0/0
Control Plane Statistics
ICMPv4 errors packets pass through :0
ICMPv4 errors packets locally generated :0
ICMPv6 errors packets pass through :0
ICMPv6 errors packets locally generated :0
Dropped packets :0
Data Plane Statistics
NATed packets :0
deNATed packets :0
Errors :0
user@host> show services inline nat pool
Interface: si-0/1/0, Service set: ss_nptv6
NAT pool: ss_nptv6_pool1, Translation type: NPTV6
Address range: abcd:ef12:3456::/48
NATed packets: 0, deNATed packets: 0, Errors: 0
NAT pool: ss_nptv6_pool2, Translation type: NPTV6
Address range: 1111:2222:3333::/48
NATed packets: 0, deNATed packets: 0, Errors: 0
user@host> show services inline nat pool ss_nptv6_pool1
Interface: si-0/1/0, Service set: ss_nptv6
NAT pool: ss_nptv6_pool1, Translation type: NPTV6
Address range: abcd:ef12:3456::/48
NATed packets: 0, deNATed packets: 0, Errors: 0
意味
出力は、外部アドレスと内部アドレスのIPv6ステートレスネットワークプレフィックス変換のためのNATアドレスとポート間のマッピングを示しています。最初にNATを使用して送信および変換されたアドレスとポートの詳細が表示されます。