レイヤー3VPNのルーティングインスタンス
このトピックでは、レイヤー3 VPNでのルーティングインスタンスの設定について説明します
レイヤー3VPNのルーティングインスタンス
ルーティング インスタンスは、ルーティング テーブル、インターフェイス、およびルーティング プロトコル パラメータの集合です。インターフェイスのセットはルーティングテーブルに属し、ルーティングプロトコルパラメータはルーティングテーブル内の情報を制御します。各ルーティング インスタンスには、一意の名前と対応する 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 ルーティング インスタンスのトラフィックをフィルタリングできます。
EXシリーズスイッチ(EX9200シリーズスイッチを除く)およびQFX5000シリーズスイッチでは、VRFごとのループバックフィルタリングはサポートされていません。ループバックで IFL ごとに異なるフィルタを設定したとしても、それらは VRF ごとに個別ではなく、ループバック インターフェイス全体に適用されます。
以下に、ファイアウォール フィルターがデフォルトのループバック インターフェイス、VRF ルーティング インスタンス、またはその組み合わせのいずれで設定されているかによって、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 では、各 PE ルーターに、VPN 内でルートを配布するための 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つの論理インターフェイスは、1つのルーティング インスタンスにのみ関連付けることができます。[edit protocols]階層レベルでプロトコルのマスターインスタンスを設定する際に、interfaces allを指定してすべてのインスタンスでルーティングプロトコルを有効にし、[edit routing-instances routing-instance-name]階層レベルまたは[edit logical-systems logical-system-name routing-instances routing-instance-name]階層レベルでVPNルーティング用の特定のインターフェイスを設定した場合、後者のインターフェイスステートメントが優先され、そのインターフェイスはVPN専用に使用されます。
[edit protocols] 階層レベルと、[edit routing-instances routing-instance-name] または [edit logical-systems logical-system-name routing-instances routing-instance-name] 階層レベルで同じインターフェイス名を明示的に設定すると、設定のコミットに失敗します。
レイヤー 3 VPN のインターフェイスの設定
レイヤー3 VPNインターフェイスを [edit interfaces] 階層レベルで設定する場合、論理インターフェイスを設定する際に family inet も設定する必要があります。
[edit interfaces]
interface-name {
unit logical-unit-number {
family inet;
}
}
キャリアオブキャリアVPNのインターフェイスの設定
キャリアオブキャリアVPNを設定する場合、PEとCEルーター間のインターフェイスにfamily inetステートメントに加えて、family mplsステートメントも設定する必要があります。キャリアオブキャリア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 が有効になっているインターフェイス上の予期しない送信元アドレスからのパケットを拒否します。
VPN インターフェイスでユニキャスト RPF を設定するには、インターフェイスでユニキャスト RPF を有効にし、[edit routing-instances routing-instance-name] 階層レベルで interface ステートメントを含めます。
コアに面するインターフェイスにユニキャスト RPF を設定することはできません。PE ルーター上の CE ルーター間インターフェイスでのみ、ユニキャスト RPF を設定できます。ただし、仮想ルーター ルーティング インスタンスでは、ルーティング インスタンスで指定したすべてのインターフェイスでユニキャスト RPF がサポートされます。
VPN インターフェイスでユニキャスト RPF を設定する方法については、 ユニキャスト RPF(ルーター)についてを参照してください。
ルート識別子の設定
PEルーターで設定する各ルーティング インスタンスには、それに関連付けられた一意のルート識別が必要です。VPNルーティング・インスタンスには、異なるVPNから受信した潜在的に同一のネットワーク層到達可能性情報(NLRI)メッセージをBGPが区別するためのルート識別素が必要です。同じルート識別で異なるVPNルーティングインスタンスを設定すると、コミットは失敗します。
レイヤー 2 VPN と VPLS では、 l2vpn-use-bgp-rules ステートメントを設定した場合、特定のルーティング インスタンスに参加する各 PE ルーターに一意のルート識別を設定する必要があります。
その他のタイプの VPN では、ルーティング インスタンスに参加する各 PE ルーターに一意のルート識別子を使用することをお勧めします。(レイヤー 2 VPN と VPLS を除く)同じ VPN ルーティング インスタンスのすべての 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(IANA)によって割り当てられた非プライベートAS番号を使用することが推奨されます。好ましいのは、インターネットサービスプロバイダ(ISP)自身のものまたはお客様自身のAS番号です。ip-address:numberで、ip-addressは IP アドレス (4 バイト値)、numberは任意の 2 バイト値です。IP アドレスには、グローバルに一意なユニキャスト アドレスを指定できます。router-idステートメントで設定するアドレスは、割り当てられたプレフィックス範囲内の非プライベートアドレスを使用することを推奨します。
自動ルート識別の設定
[edit routing-options]階層レベルでroute-distinguisher-idステートメントを設定すると、ルート識別がルーティング インスタンスに自動的に割り当てられます。route-distinguisher-id ステートメントに加えて route-distinguisher ステートメントも設定した場合、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]
次のセクションでは、仮想ルータールーティング インスタンスの設定方法について説明します。
サービス プロバイダ ルーター間のルーティング プロトコルの設定
サービス プロバイダのルーターは、ルーティング情報を交換できる必要があります。[edit routing-instances routing-instance-name]階層レベルで、ステートメント設定ルーティング インスタンス仮想ルーターprotocolsに以下のプロトコルを設定できます。
BGP
IS-IS
自民党
OSPF
プロトコル独立マルチキャスト(PIM)
裂け目
また、スタティックルートを設定することもできます。
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 つは、プロバイダ ルーター間にトンネルを設定することです。プロバイダルーター間でIPsec(IPsec)、GRE(Generic Routing Encapsulation)、IP-IPトンネルを設定し、仮想ルーターインスタンスでトンネルを終端することができます。
トンネルとインターフェイスの設定方法については、 ルーティングデバイス用 Junos OS サービスインターフェイスライブラリを参照してください。
VPN ルーティング インスタンスのパス MTU チェックの設定
デフォルトでは、VPNルーティングインスタンスの最大送信単位(MTU)チェックは、M Seriesルーター(M320ルーターを除く)では無効になっており、M320ルーターでは有効になっています。M Series ルーターでは、VRF ルーティング インスタンスと仮想ルーター ルーティング インスタンスでルーティングされたユニキャスト トラフィックの発信インターフェイスにパス MTU チェックを設定できます。
MTU チェックを有効にすると、ルーティング インスタンスを通過するパケットが MTU サイズを超え、 do-not-fragment ビットが設定されている場合に、ルーティング プラットフォームから ICMP(Internet Control Message Protocol)メッセージが送信されます。ICMP メッセージは、送信元アドレスとして VRF ローカル アドレスを使用します。
ルーティング インスタンスでMTUチェックを行うには、[edit chassis]階層にvrf-mtu-checkステートメントを含み、IPアドレスを含む少なくとも1つのインターフェイスをルーティング インスタンスに割り当てる必要があります。
パスMTUチェックの詳細については、 ルーティングデバイス用Junos OS運用管理ライブラリを参照してください。
パスMTUチェックを設定するには、次のセクションで説明するタスクを実行します。
VPN ルーティング インスタンスのパス MTU チェックの有効化
VRFまたは仮想ルータールーティング インスタンスでルーティングされたユニキャストトラフィックの発信インターフェイスでパスチェックを有効にするには、[edit chassis]階層レベルでvrf-mtu-checkステートメントを含めます。
[edit chassis] vrf-mtu-check;
VPN ルーティング インスタンスへの IP アドレスの割り当て
パス MTU チェックが正しく機能するようにするには、各 VRF または仮想ルーターのルーティング インスタンスに少なくとも 1 つの IP アドレスを関連付ける必要があります。IPアドレスがルーティング インスタンスに関連付けられていない場合、ICMP応答メッセージは送信できません。
通常、VRF または仮想ルーター ルーティング インスタンスの IP アドレスは、そのルーティング インスタンスに設定されたインターフェイスに関連付けられた IP アドレスの中から取得されます。VRF または仮想ルーターのルーティング インスタンスに関連付けられたどのインターフェイスも IP アドレスで設定されていない場合、IP アドレスで論理ループバック インターフェイスを明示的に設定する必要があります。次に、このインターフェイスをルーティング インスタンスに関連付ける必要があります。詳細については、 レイヤー3 VPNにおけるルーティングインスタンスのループバックインターフェイスに論理ユニットを設定する を参照してください。