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 アドレスの枯渇を解決することですが、アドレスの独立性という同じ利点をもたらします。IPv6 の NAPT、特に 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) トラフィックに影響を与えることはありません。TCP接続は、接続の送信元IPアドレスの変更によって中断されることがあります。この場合、接続がタイムアウトし、その後再確立される可能性があります。
NPTv6はインラインNATを使用します。インラインNATは、モジュラーポートコンセントレータ(MPC)ラインカードの機能を使用するため、NAT用のマルチサービスDPC(MS-DPC)は必要ありません。インラインNATを設定するには、サービスインターフェイスをタイプ si-
(サービスインライン)インターフェイスとして定義します。また、インライン インターフェイス用に十分な帯域幅を確保する必要があります。これにより、NATに使用するインターフェイスサービスセットとネクストホップサービスセットの両方を設定することができます。 si-
インターフェイスは、 仮想サービスPICとして機能します。
IPv6のネットワークプレフィックス変換と機能の相互運用
このトピックでは、ステートレス送信元IPv6プレフィックス変換のさまざまな機能の動作動作と、さまざまなシステム条件について説明します。
アドレス マッピング アルゴリズム
NPTv6 トランスレーターは、ネットワークから出るパケットをフィルタリングし、パケットの送信元アドレスがルールで定義された送信元アドレス(設定の from
または送信元アドレス)と一致する場合、送信元アドレスはルールに定義されたプールのアドレス プレフィックスに置き換えられます。送信元アドレスのプレフィックスの後の 16 ビットはチェックサム調整値に置き換えられ、送信元アドレスが変更されてもチェックサムが発信パケットで同じままになるようにします。ネットワーク外に出るパケットの設定ルールとプールの定義中に、ネットワークに入るパケットの宛先アドレスの変換のためのdenatルールとプールが作成されます。
内部から外部への翻訳
パケットが内部ネットワークから外部ネットワークに送られるとき、(内部ノードから来る)パケットの送信元アドレスの 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つのsi-論理インターフェイスが存在する可能性があります。パケットは、サブネットIDに基づいて、論理インターフェイスの1つにルーティングされます。
NPTv6 の ICMPv6
NPTv6 ICMPv6 エラー生成は、マップされていないヘクステットではサポートされていません。
ステートレスな送信元ネットワークプレフィックス変換の設定に関するガイドライン
送信元 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 ビットです。すべてのプールに対して、denat プールが自動的に割り当てられます。denat プールのサイズは 192 ビットです。NAT 処理済みおよび未変換の NPTv6 プールには、合計 8000 個の 64 ビット エントリーが割り当てられます。この割り当ては、インライン サービス(JNH_APP_INLINE_SVCS)に割り当てられた 64,000 エントリから提供されます。
6rd と NPTv6 の相互運用のためのインライン サービスのチェイニングはサポートされていません。
NPTv6 を構成する際には、ソース プールを構成し、
from
(ソース) アドレスを指定する必要があります。外部および内部プレフィックス長は、/16 サブネットマスク以上、/112 サブネットマスク以下である必要があります。
2 つの異なる内部プレフィックスを同じ外部プレフィックスに変換することはできません。
NPTv6 は、IPSec および 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台。
Junos OS リリース 15.1R1以降(MXシリーズルーターの場合)
インターフェイス形式のサービスセットを使用したIPv6ネットワークにおけるステートレスネットワークプレフィックス変換の概要とトポロジー
インターフェイス スタイル サービスの場合、サービス セットはメディア インターフェイス上で直接設定され、インターフェイスを出入りするトラフィックに影響を与えます。パケットは、メディアインターフェイスに適用されるサービスフィルターによって、インラインサービスインターフェイスに誘導されます。
サービス セット定義を設定してサービス ルールを定義およびグループ化すると、ルーターにインストールされている 1 つ以上のインターフェイスにサービスを適用できます。サービス セットをインターフェイスに適用すると、パケットがPICに誘導されることが自動的に保証されます。
インターフェース方式のサービス セットを使用して NPTv6 を構成する構成シナリオの例を考えます。インライン サービス インターフェイス si-0/1/0 は、10 ギガビット/秒に予約された帯域幅で設定されています。si-0/1/0 インターフェイスは inet6 ファミリーで定義されています。NAT アドレス プール nptv6_pool は、abcd:ef12:3456::/48 のアドレスで設定されます。NAT ルールは入力方向で適用され、送信元アドレス 1234:5678:9abc::/48 から到着したパケットに対して NPTv6 変換が実行されます。送信元アドレス 1234:5678:9abc::/48 からのパケットが NAT ルール条件に一致する場合、NAT アドレス プールからのアドレスが割り当てられます。NAT ルールでサービス セット(ss_nptv6)が指定されます。ギガビット イーサネット インターフェイス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(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台。
Junos OS リリース 15.1R1以降(MXシリーズルーターの場合)
ネクストホップスタイルのサービスセットを使用したIPv6ネットワークにおけるステートレスネットワークプレフィックス変換の概要とトポロジー
ネクストホップ サービス セットは、特定のサービスを適用するルートベースの方法です。特定のネクストホップ宛てのパケットのみが、明示的なスタティックルートの作成によって処理されます。この設定は、仮想プライベートネットワーク(VPN)のルーティングと転送(VRF)テーブル全体にサービスを適用する必要がある場合や、ルーティングの決定によりサービスの実行が必要と判断された場合に便利です。
ネクストホップスタイルのサービスでは、ルートエントリーがパケットをインラインサービスインターフェイスに誘導するように設定されます。パケットは、サービスルールによって検証されます。パケットがサービス ルールに一致する場合、サービス ルールに従って処理されます。
ネクストホップスタイルのサービスセットを使用して NPTv6 を設定する設定シナリオの例を考えてみましょう。インライン サービス インターフェイス si-0/1/0 は、10 ギガビット/秒に予約された帯域幅で設定されています。si-0/1/0 インターフェイスは inet6 ファミリーで定義されています。NAT アドレス プール nptv6_pool は、abcd:ef12:3456::/48 のアドレスで設定されます。NAT ルールは入力方向で適用され、送信元アドレス 1234:5678:9abc::/48 から到着したパケットに対して NPTv6 変換が実行されます。送信元アドレス 1234:5678:9abc::/48 からのパケットが NAT ルール条件に一致する場合、NAT アドレス プールからのアドレスが割り当てられます。サービス セットは、ネットワーク内で適用されるサービス セットに関連付けられた si-0/1/0.1 のサービス インターフェイスを使用してネクストホップを転送するように設定されています。には、内部ネットワーク用のネクストホップサービスインターフェイス用のパラメータと、ネットワーク外に適用されるサービスセットに関連付けられたsi-/1/0.2を使用します。NAT ルールでサービス セット(ss_nptv6)が指定されます。サービス インターフェイス ドメインは、内部サービス ドメインが 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 を使用して送信および変換されたアドレスとポートの詳細が表示されます。