レイヤー 3 VPN のルーティング インスタンス
このトピックでは、レイヤー 3 VPN でのルーティング インスタンスの設定について説明します。
レイヤー 3 VPN のルーティング インスタンス
ルーティング インスタンスは、ルーティング テーブル、インターフェイス、ルーティング プロトコル パラメータのコレクションです。インターフェイスのセットはルーティング テーブルに属し、ルーティング プロトコル パラメータはルーティング テーブル内の情報を制御します。各ルーティング インスタンスには、固有の名前と対応する IP ユニキャスト テーブルがあります。
JUNOS ソフトウェアにレイヤー 3 VPN を実装するには、VPN ごとに 1 つのルーティング インスタンスを設定します。ルーティング インスタンスは PE ルーターでのみ設定します。各 VPN ルーティング インスタンスは、次のコンポーネントで構成されています。
VRF テーブル:各 PE ルーターで、VPN ごとに 1 つの VRF テーブルを設定します。
VRF テーブルを使用するインターフェイスのセット— 直接接続された各 CE ルーターへの 論理インターフェイス は VRF テーブルに関連付ける必要があります。VPN 内の複数の CE ルーターが PE ルーターに直接接続されている場合、複数のインターフェイスを同じ VRF テーブルに関連付けることができます。
ポリシー ルール:VRF テーブルへのルートのインポートと VRF テーブルからのルートのエクスポートを制御します。
CE ルーターからのルートを VRF テーブルにインストールする 1 つ以上のルーティング プロトコル:BGP、OSPF、RIP ルーティング プロトコルを使用でき、静的ルートを使用できます。
レイヤー 3 VPN のルーティング インスタンスのループバック インターフェイスでの論理ユニットの設定
レイヤー 3 VPN(VRF ルーティング インスタンス)では、ループバック インターフェイス上の論理ユニットを、ルーター上で設定した各 VRF ルーティング インスタンスに設定できます。VRF ルーティング インスタンスをループバック インターフェイス上の論理ユニットに関連付けることで、VRF ルーティング インスタンスを簡単に識別できます。
これはトラブルシューティングに役立ちます。
これにより、レイヤー 3 VPN のローカル PE ルーターからリモート CE ルーターに ping を実行できます。詳細については、「 例: レイヤー 3 VPN のトラブルシューティング」を参照してください。
VRF または仮想ルーター ルーティング インスタンスで発生したトラフィックのパス最大伝送単位(MTU)チェックが適切に機能するようにします。詳細については、「 VPN ルーティング インスタンスのパス MTU チェックの設定」を参照してください。
また、ループバック インターフェイス上の論理ユニットのファイアウォール フィルタを設定することもできます。この設定では、関連付けられた VRF ルーティング インスタンスのトラフィックをフィルタリングできます。
次に、ファイアウォール フィルタがデフォルト ループバック インターフェイス、VRF ルーティング インスタンス、または 2 つの組み合わせのいずれで設定されているかに応じて、VRF ルーティング インスタンスに与える影響について説明します。「デフォルト ループバック インターフェイス」は(デフォルト ルーティング テーブルに関連付けられた)を指 lo0.0
し、「VRF ループバック インターフェイス」は VRF ルーティング インスタンスで設定されている、を指 lo0.n
します。
デフォルト ループバック インターフェイスでフィルタ A を設定し、VRF ループバック インターフェイスでフィルタ B を設定した場合、VRF ルーティング インスタンスはフィルタ B を使用します。
デフォルトのループバック インターフェイスでフィルタ A を設定したが、VRF ループバック インターフェイスでフィルタを設定しない場合、VRF ルーティング インスタンスはフィルタを使用しません。
デフォルト ループバック インターフェイスでフィルタ A を設定しても VRF ループバック インターフェイスを設定しない場合、VRF ルーティング インスタンスはフィルタ A を使用します。MX80 デバイスでは、動作は少し異なります。デフォルト ループバック インターフェイスでフィルターを設定しても VRF ループバック インターフェイスを設定しない場合、VRF ルーティング インスタンスはデフォルト ループバックに割り当てられた入力フィルタのみを使用します(デフォルト ループバックからの出力フィルタは使用しません)。
一部の ACX シリーズ ユニバーサル メトロ ルーター(ACX1000、ACX2000、ACX4000、ACX5000)では、デフォルトのループバック フィルターは、フィルタするイングレス トラフィックと同じルーティング、または VRF(仮想ルーティングおよび転送)インスタンスに含める必要があります。つまり、これらのデバイスでは、デフォルトのループバック フィルタを、別のルーティング インスタンスに属するインターフェイスを通過するトラフィックに使用できません。
ループバック インターフェイスで論理ユニットを設定するには、次のステートメントを unit
含めます。
unit number { family inet { address address; } }
このステートメントは、以下の階層レベルに含めることができます。
[edit interfaces lo0]
[edit logical-systems logical-system-name interfaces lo0]
ファイアウォール フィルタをループバック インターフェイス上の論理ユニットに関連付けるには、次のステートメントを filter
含めます。
filter { input filter-name; }
このステートメントは、以下の階層レベルに含めることができます。
[edit interfaces lo0 unit unit-number family inet]
[edit logical-systems logical-system-name interfaces lo0 unit unit-number family inet]
VRF ルーティング インスタンスの lo0.n
設定にインターフェイス(論理ユニットを指定する場所 n
)を含めるには、次のステートメントを含めます。
interface lo0.n;
このステートメントは、以下の階層レベルに含めることができます。
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
VPN の PE ルーターでのルーティング インスタンスの設定
VPN に参加している各 PE ルーターで、各 VPN のルーティング インスタンスを設定する必要があります。このセクションで説明する設定手順は、レイヤー 2 VPN、レイヤー 3 VPN、VPLS に適用されます。各 VPN タイプに固有の設定手順は、他の設定章の対応するセクションで説明されています。
VPN のルーティング インスタンスを設定するには、次のステートメントを含めます。
description text; instance-type type; interface interface-name; route-distinguisher (as-number:number | ip-address:number); vrf-import [ policy-names ]; vrf-export [ policy-names ]; vrf-target { export community-name; import community-name; }
これらのステートメントは、以下の階層レベルに含めることができます。
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
VPN ルーティング インスタンスを設定するには、次のセクションの手順を実行します。
VPN のルーティング インスタンス名の設定
VPN のルーティング インスタンスの名前は最大 128 文字で、文字、数字、ハイフンを含めることができます。Junos OSリリース9.0以降では、実際のルーティングインスタンス名として指定 default
することはできません。また、特殊文字を使用することもできません(! @ # $ % ^ * 、 +< > : ;)ルーティングインスタンスの名前内に含まれます。
Junos OSリリース9.6以降では、論理システムが設定されていない場合にのみ、ルーティングインスタンス名にスラッシュ(/)を含めることができます。つまり、デフォルト以外の論理システムが明示的に設定されている場合、ルーティング インスタンス名にスラッシュ文字を含めることはできません。
ステートメントでルーティングインスタンス名を routing-instance
指定します。
routing-instance routing-instance-name {...}
このステートメントは、以下の階層レベルに含めることができます。
[edit]
[edit logical-systems logical-system-name]
説明の設定
ルーティング インスタンスのテキストの説明を指定するには、ステートメントを description
含めます。テキストに 1 つ以上のスペースが含まれている場合は、引用符 (" ") で囲みます。含めた記述テキストはコマンドの show route instance detail
出力に表示され、ルーティング インスタンスの操作には影響しません。
テキストの説明を設定するには、次のステートメントを description
含めます。
description text;
このステートメントは、以下の階層レベルに含めることができます。
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
インスタンス タイプの設定
設定するインスタンス タイプは、レイヤー 2 VPN、レイヤー 3 VPN、VPLS、仮想ルーターのいずれを設定するかによって異なります。ステートメントを含めて、インスタンスタイプを instance-type
指定します。
PE ルーターでレイヤー 2 VPN ルーティングを有効にするには、ステートメントを
instance-type
含め、次の値l2vpn
を指定します。instance-type l2vpn;
PE ルーターで VPLS ルーティングを有効にするには、ステートメントを
instance-type
含め、次の値vpls
を指定します。instance-type vpls;
レイヤー 3 VPN では、VPN 内でルートを分散するために、各 PE ルーターに VPN ルーティングおよび転送(VRF)テーブルが必要です。PE ルーター上に VRF テーブルを作成するには、ステートメントを含め、次の
instance-type
値vrf
を指定します。instance-type vrf;
メモ:ルーティング エンジン ベースのサンプリングは、VRF ルーティング インスタンスではサポートされていません。
仮想ルーター ルーティング インスタンスを有効にするには、ステートメントを含め、次の
instance-type
値virtual-router
を指定します。instance-type virtual-router;
このステートメントは、以下の階層レベルに含めることができます。
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
VPN ルーティング用インターフェイスの設定
各 PE ルーターでは、VPN トラフィックが PE ルーターと CE ルーター間を移動するインターフェイスを設定する必要があります。
以下のセクションでは、VPN のインターフェイスを設定する方法について説明します。
VPN ルーティングの一般的な設定
このセクションで説明する設定は、すべてのタイプの VPN に適用されます。レイヤー 3 VPN およびキャリアオブキャリア VPN の場合は、これらのトピックに固有のインターフェイス設定セクションに進む前に、このセクションで説明されている設定を完了します。
VPN ルーティング用のインターフェイスを設定するには、次のステートメントを interface
含めます。
interface interface-name;
このステートメントは、以下の階層レベルに含めることができます。
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
インターフェイス名の物理部と論理部の両方を次の形式で指定します。
physical.logical
例えば、で at-1/2/1.2
、 at-1/2/1
インターフェイス名の物理部であり、 2
論理部分である。インターフェイス名の論理部分を指定しない場合、デフォルトで値0
が設定されます。
論理インターフェイスは、1 つのルーティング インスタンスにのみ関連付けることができます。階層レベルでプロトコルのマスター インスタンスをinterfaces all
設定するときに指定して、すべてのインスタンスで[edit protocols]
ルーティング プロトコルを有効にし、階層レベルまたは[edit logical-systems logical-system-name routing-instances routing-instance-name]
階層レベルで [edit routing-instances routing-instance-name]
VPN ルーティング用の特定のインターフェイスを設定した場合、後者のインターフェイス ステートメントが優先され、インターフェイスが VPN 専用に使用されます。
階層レベルまたは[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
階層レベルで同じインターフェイス名を[edit protocols]
明示的に設定すると、設定のコミットが失敗します。
レイヤー 3 VPN のインターフェイスの設定
階層レベルでレイヤー 3 VPN インターフェイスを設定する場合は、論理インターフェイスの [edit interfaces]
設定時にも設定 family inet
する必要があります。
[edit interfaces] interface-name { unit logical-unit-number { family inet; } }
キャリアオブキャリアVPNのインターフェイスの設定
キャリアオブキャリアVPNを設定する場合、PEルーターとCEルーター間の family mpls
インターフェイスのステートメントに family inet
加えて、ステートメントを設定する必要があります。キャリアオブキャリア VPN の場合、論理インターフェイスを次のように設定します。
[edit interfaces] interface-name { unit logical-unit-number { family inet; family mpls; } }
論理インターフェイス上で設定 family mpls
し、非キャリアオブキャリア ルーティング インスタンスにこのインターフェイスを設定すると、 family mpls
ステートメントは必要ないため、論理インターフェイスの設定から自動的に削除されます。
VPN インターフェイスでのユニキャスト RPF の設定
IP バージョン 4 またはバージョン 6(IPv4 または IPv6)トラフィックを伝送する VPN インターフェイスでは、ユニキャスト リバース パス転送(RPF)を設定することで、サービス拒否(DoS)攻撃の影響を軽減できます。ユニキャスト RPF は、攻撃元の特定に役立ち、ユニキャスト RPF が有効になっているインターフェイス上の予期しない送信元アドレスからのパケットを拒否します。
インターフェイスでユニキャスト RPF を有効にし、階層レベルでステートメントを含 interface
めると、VPN インターフェイス上でユニキャスト RPF を [edit routing-instances routing-instance-name]
設定できます。
コア側インターフェイスでユニキャスト RPF を設定することはできません。ユニキャスト RPF は、PE ルーター上の CE ルーターと PE ルーター のインターフェイスでのみ設定できます。ただし、仮想ルーター ルーティング インスタンスでは、ルーティング インスタンスで指定したすべてのインターフェイスでユニキャスト RPF がサポートされます。
VPN インターフェイスでユニキャスト RPF を設定する方法については、「 ユニキャスト RPF(ルーター)について」を参照してください。
ルート識別機能の設定
PE ルーターで設定する各ルーティング インスタンスには、固有のルート識別機能が関連付けられている必要があります。VPN ルーティング インスタンスには、BGP が異なる VPN から受信した同一のネットワーク レイヤー到達可能性情報(NLRI)メッセージを区別するのに役立つルート識別機能が必要です。同じルート識別機能を使用して異なる VPN ルーティング インスタンスを設定すると、コミットは失敗します。
レイヤー 2 VPN と VPLS では、ステートメントを設定している場合は、特定の l2vpn-use-bgp-rules
ルーティング インスタンスに参加する PE ルーターごとに固有のルート識別機能を設定する必要があります。
その他のタイプの VPN では、ルーティング インスタンスに参加する PE ルーターごとに固有のルート識別機能を使用することをお勧めします。同じ VPN ルーティング インスタンス(レイヤー 2 VPN と VPLS を除く)のすべての PE ルーターで同じルート識別機能を使用できますが、一意のルート識別機能を使用する場合は、VPN 内でルートの送信元となる CE ルーターを決定できます。
PE ルーターでルート識別を設定するには、次のステートメントを route-distinguisher
含めます。
route-distinguisher (as-number:number | ip-address:number);
このステートメントを含める階層レベルのリストについては、このステートメントのステートメント要約セクションを参照してください。
ルート識別子は、次のいずれかの形式で指定できる 6 バイト値です。
as-number
:number
: 自律as-number
システム(AS)番号(2バイト値)があり、number
任意の4バイト値です。AS番号は、1~65,535の範囲にすることができます。インターネット割り当て番号機関(IANA)が割り当てた非プライベートAS番号(好ましくはインターネットサービスプロバイダ(ISP)の番号または顧客のAS番号を使用することをお勧めします。ip-address
:number
, はip-address
IP アドレス (4 バイト値) であり、number
任意の 2 バイト値です。IP アドレスは、グローバルに一意なユニキャスト アドレスを指定できます。ステートメントでrouter-id
設定するアドレス(割り当てられたプレフィックス範囲の非プライベート アドレス)を使用することをお勧めします。
自動ルート識別の設定
階層レベルでステートメントをroute-distinguisher-id
[edit routing-options]
設定すると、ルート識別子がルーティング インスタンスに自動的に割り当てられます。ステートメントに加えてステートメントも構成route-distinguisher
するroute-distinguisher-id
場合、構成されたroute-distinguisher
値は、 からroute-distinguisher-id
生成された値に取って代わるものです。
ルート識別機能を自動的に割り当てるには、ステートメントを route-distinguisher-id
含めます。
route-distinguisher-id ip-address;
このステートメントは、以下の階層レベルに含めることができます。
[edit routing-options]
[edit logical-systems logical-system-name routing-options]
タイプ 1 のルート識別子は、形式 ip-address:number
を使用してルーティング インスタンスに自動的に割り当てられます。IP アドレスはステートメントによって route-distinguisher-id
指定され、番号はルーティング インスタンスで一意です。
VPN での仮想ルーター ルーティング インスタンスの設定
VRF ルーティング インスタンスと同様に、仮想ルーター ルーティング インスタンスは、インスタンスごとに個別のルーティング テーブルと転送テーブルを維持します。ただし、VRF ルーティング インスタンスに必要な設定手順の多くは、仮想ルーター ルーティング インスタンスでは必要ありません。具体的には、サービス プロバイダ ルーター間でルート識別、ルーティング テーブル ポリシー( vrf-export
、、 vrf-import
および route-distinguisher
ステートメント)、または MPLS を設定する必要はありません。
次のステートメントを含めて、仮想ルーター ルーティング インスタンスを設定します。
description text; instance-type virtual-router; interface interface-name; protocols { ... }
これらのステートメントは、以下の階層レベルに含めることができます。
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
次のセクションでは、仮想ルーター ルーティング インスタンスを設定する方法について説明します。
サービス プロバイダ ルーター間のルーティング プロトコルの設定
サービス プロバイダ ルーターは、ルーティング情報を交換できる必要があります。階層レベルで、仮想ルーター ルーティング インスタンス protocols
ステートメントの設定に次のプロトコルを [edit routing-instances routing-instance-name]
設定できます。
BGP
IS-IS
自民党
OSPF
PIM(Protocol Independent Multicast)
リッピング
静的ルートを設定することもできます。
IBGP ルート リフレクションは、仮想ルーター ルーティング インスタンスではサポートされていません。
仮想ルーター インスタンスの下で LDP を設定した場合、LDP ルートはデフォルトでルーティング インスタンスの inet.0 および inet.3 ルーティング テーブル(sample.inet.0 や sample.inet.3 など)に配置されます。LDP ルートをルーティング インスタンスの inet.3 テーブルのみに制限するには、次のステートメントを no-forwarding
含めます。
no-forwarding;
このステートメントは、以下の階層レベルに含めることができます。
[edit routing-instances routing-instance-name protocols ldp]
[edit logical-systems logical-system-name routing-instances routing-instance-name protocols ldp]
LDP ルートを inet.3 ルーティング テーブルのみに制限すると、inet.0 ルーティング テーブル内の対応する IGP ルートを再分配し、他のルーティング プロトコルにアドバタイズできます。
ルーティング テーブルの詳細については、「 Junos OS ルーティング テーブルについて」を参照してください。
参加ルーター間の論理インターフェイスの設定
ルーティング インスタンスに参加している各カスタマー ルーターと、ルーティング インスタンスに参加する各 P ルーターにインターフェイスを設定する必要があります。各仮想ルーター ルーティング インスタンスには、インスタンスに参加するすべての P ルーターに対して独自の論理インターフェイスが必要です。仮想ルーター インスタンスのインターフェイスを設定するには、次のステートメントを interface
含めます。
interface interface-name;
このステートメントは、以下の階層レベルに含めることができます。
[edit routing-instances routing-instance-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name]
インターフェイス名の物理部と論理部の両方を次の形式で指定します。
physical.logical
例えば、で at-1/2/1.2
、 at-1/2/1
インターフェイス名の物理部であり、 2
論理部分である。インターフェイス名の論理部分を指定しない場合は、 0
デフォルトで設定されます。
また、階層レベルでインターフェイスを設定する [edit interfaces]
必要もあります。
プロバイダ ルーター間でこの論理インターフェイスを提供する 1 つの方法は、それらの間のトンネルを設定することです。IP セキュリティ(IPsec)、GRE(汎用ルーティング カプセル化)、またはプロバイダ ルーター間の IP-IP トンネルを設定し、仮想ルーター インスタンスでトンネルを終端できます。
トンネルとインターフェイスを設定する方法については、「 ルーティング デバイス用 Junos OS サービス インターフェイス ライブラリ」を参照してください。
VPN ルーティング インスタンスのパス MTU チェックの設定
デフォルトでは、VPN ルーティング インスタンスの MTU(最大伝送単位)チェックは、M シリーズ ルーター(M320 ルーターを除く)で無効になり、M320 ルーターで有効になります。M シリーズ ルーターでは、VRF ルーティング インスタンスと仮想ルーター ルーティング インスタンスでルーティングされるユニキャスト トラフィックの発信インターフェイスでパス MTU チェックを設定できます。
MTU チェックを有効にすると、ルーティング インスタンスを通過するパケットが MTU サイズを超え、ビット セットがある場合、ルーティング プラットフォームは ICMP(インターネット制御メッセージ プロトコル)メッセージを do-not-fragment
送信します。ICMP メッセージは、VRF ローカル アドレスを送信元アドレスとして使用します。
ルーティング インスタンスで MTU チェックを機能させるためには、両方のステートメントを vrf-mtu-check
階層レベルに含め、IP アドレスを [edit chassis]
含む少なくとも 1 つのインターフェイスをルーティング インスタンスに割り当てる必要があります。
パス MTU チェックの詳細については、「 ルーティング デバイス用 Junos OS 管理ライブラリ」を参照してください。
パスMTUチェックを設定するには、次のセクションで説明するタスクを実行します。
VPN ルーティング インスタンスのパス MTU チェックの有効化
VRF または仮想ルーター ルーティング インスタンスでルーティングされたユニキャスト トラフィックの発信インターフェイスでパス チェックを有効にするには、階層レベルで vrf-mtu-check
ステートメントを [edit chassis]
含めます。
[edit chassis] vrf-mtu-check;
VPN ルーティング インスタンスへの IP アドレスの割り当て
パスMTUチェックが適切に機能するようにするには、少なくとも1つのIPアドレスを各VRFまたは仮想ルータールーティングインスタンスに関連付ける必要があります。IP アドレスがルーティング インスタンスに関連付けられていない場合、ICMP 応答メッセージを送信できません。
通常、VRF または仮想ルーター ルーティング インスタンスの IP アドレスは、そのルーティング インスタンス用に設定されたインターフェイスに関連付けられた IP アドレスの中から引き出されます。VRF または仮想ルーター ルーティング インスタンスに関連付けられたインターフェイスのいずれも IP アドレスで設定されていない場合は、IP アドレスを使用して論理ループバック インターフェイスを明示的に設定する必要があります。このインターフェイスは、ルーティング インスタンスに関連付ける必要があります。詳細については、「 レイヤー 3 VPN のルーティング インスタンスのループバック インターフェイスでの論理ユニットの設定」を 参照してください。