VPN ルートの配布
このトピックでは、BGP、MPLSシグナリング、およびポリシーのルート情報を処理するためのルーターの設定について説明します。
VPN のルーティング情報交換の有効化
レイヤー 2 VPN、レイヤー 3 VPN、仮想ルーター ルーティング インスタンス、VPLS、EVPN、レイヤー 2 回線が正常に機能するためには、サービス プロバイダーの PE ルーターと P ルーターがルーティング情報を交換できる必要があります。そのためには、これらのルーターにIGP(OSPFやIS-ISなど)またはスタティックルートを設定する必要があります。ルーティングプロトコルプロセスのマスターインスタンス上のIGPは、VPNに使用されるルーティング インスタンス内ではなく、 [edit protocols] 階層レベルで設定します。つまり、 [edit routing-instances] 階層レベルでは設定しません。
PE ルーターを設定する場合、エリア境界で PE ルーターのループバック アドレスの集約を設定しないでください。各 PE ルーターのループバック アドレスは、個別のルートとして表示されます。
VPN における PE ルーター間の IBGP セッションの設定
PE ルーター間で IBGP セッションを設定して、PE ルーターが VPN を発信および終了するルートに関する情報を交換できるようにする必要があります。PE ルーターは、この情報に基づいて、リモート サイト宛てのトラフィックに使用するラベルを決定します。
VPN の IBGP セッションを次のように設定します。
[edit protocols]
bgp {
group group-name {
type internal;
local-address ip-address;
family evpn {
signaling;
}
family (inet-vpn | inet6-vpn) {
unicast;
}
family l2vpn {
signaling;
}
neighbor ip-address;
}
}
local-address ステートメントの IP アドレスは、ローカル PE ルーター上のループバック インターフェイスのアドレスです。VPN の IBGP セッションは、ループバック アドレスを介して実行されます。(ループバックインターフェイスは [edit interfaces] 階層レベルでも設定する必要があります)。
neighbor ステートメントの IP アドレスは、隣接する PE ルーターのループバック アドレスです。RSVP シグナリングを使用している場合、この IP アドレスは、MPLS LSP を設定する際に [edit mpls label-switched-path lsp-path-name] 階層レベルの to ステートメントで指定したアドレスと同じです。
family ステートメントを使用すると、レイヤー 2 VPN、VPLS、EVPN、またはレイヤー 3 VPN の IBGP セッションを設定できます。
レイヤー 2 VPN と VPLS に IBGP セッションを設定するには、
[edit protocols bgp group group-name family l2vpn]階層レベルでsignalingステートメントを含めます。[edit protocols bgp group group-name family l2vpn] signaling;
EVPNのIBGPセッションを設定するには、
[edit protocols bgp group group-name family evpn]階層レベルでsignalingステートメントを含めます。[edit protocols bgp group group-name family evpn] signaling;
レイヤー3VPNのIPv4 IBGPセッションを設定するには、
[edit protocols bgp group group-name family inet-vpn]階層レベルでunicastステートメントを設定します。[edit protocols bgp group group-name family inet-vpn] unicast;
レイヤー3VPNのIPv6 IBGPセッションを設定するには、
[edit protocols bgp group group-name family inet6-vpn]階層レベルでunicastステートメントを設定します。[edit protocols bgp group group-name family inet6-vpn] unicast;
同じピアグループ内で、 family inet と family inet-vpn の両方、または family inet6 と family inet6-vpn の両方を設定できます。これにより、同じピアグループ内で、IPv4 と IPv4 の両方の VPN ルート、または IPv6 と IPv6 の両方の VPN ルートのサポートを有効にすることができます。
VPN の集約ラベルの設定
VPN 用集約ラベルにより、ジュニパーネットワークスのルーティング プラットフォームは、受信ラベルのセット(ピア ルーターから受信したラベル)を、受信ラベルのセットから選択された 1 つの転送ラベルに集約できます。1 つの転送ラベルは、そのラベル セットの 1 つのネクスト ホップに対応します。ラベルアグリゲーションにより、ルーターが検査しなければならないVPNラベルの数が削減されます。
ラベルのセットが集約転送ラベルを共有するには、同じ転送等価クラス(FEC)に属している必要があります。ラベル付きパケットは、同じ宛先エグレスインターフェイスを持っている必要があります。
community community-name ステートメントと aggregate-label ステートメントを含めることで、共通のオリジン コミュニティを持つプレフィックスを指定できます。ピアPE上のポリシーで設定されるこれらのプレフィックスは、ピアPEルーター上のFECを表します。
送信元コミュニティではなく、ターゲットコミュニティが誤って設定された場合、エグレスPEで転送の問題が発生する可能性があります。ピアPEからのすべてのプレフィックスは同じFECにあるように見え、同じVPN内の特定のPEの背後にあるすべてのCEルーターに対して単一の内部ラベルになります。
レイヤー3 VPNネットワークでルートリフレクタを操作するために、ジュニパーネットワークスM10iルーターは、ルートが次の場合にのみ受信ラベルのセットを集約します。
同じピア ルーターから受信している
同じ発信元サイト コミュニティがある
同じネクストホップを持つ
ルートリフレクタは、異なるBGPピアから発信されたルートを、それらのルートのネクストホップを変更することなく、別のBGPピアに転送するため、ネクストホップ要件は重要です。
VPN の集約ラベルを設定するには、 ステートメントを aggregate-label 含めます。
aggregate-label { community community-name; }
このステートメントを含めることができる階層レベルの一覧については、このステートメントのステートメント概要を参照してください。
コミュニティを設定する方法については 、ルーティングポリシー一致条件としてのBGPコミュニティ、拡張コミュニティ、および大規模コミュニティについてを参照してください。
VPN のシグナリング プロトコルと LSP の設定
VPN を機能させるには、プロバイダー エッジ(PE)ルーターとプロバイダー(P)ルーターで、LDP または RSVP のいずれかのシグナリング プロトコルを有効にする必要があります。また、イングレスルーターとイグレスルーター間のラベルスイッチパス(LSP)を設定する必要もあります。一般的な vpn 設定では、各 PE ルーターから VPN に参加している他のすべての PE ルーターに LSP をフルメッシュで設定する必要があります。
MPLSに関わるあらゆる設定と同様に、高密度のファストイーサネットPICを介してPEルーター上のコアに面したインターフェイスを設定することはできません。
シグナリング プロトコルを有効にするには、次のいずれかのセクションの手順を実行します。
VPN シグナリングでの LDP の使用
VPN シグナリングに LDP を使用するには、PE およびプロバイダー(P)ルーターで次の手順を実行します。
[edit protocols]階層レベルでldpステートメントを含めることで、サービスプロバイダのネットワークのコアにあるインターフェイスに LDP を設定します。LDPは、PEルーター間またはPEとPルーター間のインターフェイスでのみ設定する必要があります。これらは「コア向け」インターフェイスと考えることができます。PE とカスタマーエッジ(CE)ルーター間のインターフェイスに LDP を設定する必要はありません。
[edit] protocols { ldp { interface type-fpc/pic/port; } }[edit interfaces type-fpc/pic/port unit logical-unit-number]階層レベルでfamily mplsステートメントを含めて、LDP を有効にしたインターフェイス(ステップ 1 で設定したインターフェイス)に MPLS アドレスファミリーを設定します。[edit] interfaces { type-fpc/pic/port { unit logical-unit-number { family mpls; } } }各 PE および P ルーターで OSPF または IS-IS を設定します。
これらのプロトコルは、VPNに使用されるルーティング インスタンス内ではなく、ルーティングプロトコルのマスターインスタンスで設定します。
OSPFを設定するには、
[edit protocols]階層レベルでospfステートメントを含めます。少なくとも、ルーターのインターフェイスの少なくとも1つにバックボーンエリアを設定する必要があります。[edit] protocols { ospf { area 0.0.0.0 { interface type-fpc/pic/port; } } }IS-IS を設定するには、
[edit protocols]階層レベルでisisステートメントを含め、[edit interfaces]階層レベルでループバック インターフェイスと国際標準化機構(ISO)ファミリーを設定します。少なくとも、ルーターで IS-IS を有効にし、ルーターのインターフェイスの 1 つ(できればループバック インターフェイス lo0)でネットワーク エンティティ タイトル(NET)を設定し、IS-IS を実行するすべてのインターフェイスで ISO ファミリーを設定する必要があります。IS-IS を有効にすると、レベル 1 とレベル 2 がデフォルトで有効になります。以下に、IS-IS の最小設定を示します。addressステートメントでは、addressはNETです。[edit] interfaces { lo0 { unit logical-unit-number { family iso { address address; } } } type-fpc/pic/port { unit logical-unit-number { family iso; } } } protocols { isis { interface all; } }
VPN シグナリングでの RSVP の使用
VPN シグナリングに RSVP を使用するには、次の手順を実行します。
各 PE ルーターで、トラフィック エンジニアリングを設定します。
そのためには、トラフィック制御(IS-IS または OSPF)をサポートする内部ゲートウェイ プロトコル(IGP)を設定し、そのプロトコルのトラフィック制御サポートを有効にする必要があります。
OSPFトラフィック制御サポートを有効にするには、
[edit protocols ospf]階層レベルでtraffic-engineeringステートメントを含めます。[edit protocols ospf] traffic-engineering { shortcuts; }IS-ISの場合、トラフィック制御サポートはデフォルトで有効になっています。
各 PE および P ルーターで、LSP(ラベルスイッチ パス)に参加するインターフェイスで RSVP を有効にします。
PE ルーターでは、これらのインターフェイスは LSP へのイングレスおよびエグレス ポイントです。P ルーターでは、これらのインターフェイスが PE ルーター間の LSP を接続します。PEとCEルーター間のインターフェイスはLSPの一部ではないため、RSVPを有効にしないでください。
PEおよびPルーターでRSVPを設定するには、
[edit protocols rsvp]階層レベルでinterfaceステートメントを含めます。RSVP を有効にするインターフェイスごとに 1 つのinterfaceステートメントを含めます。[edit protocols] rsvp { interface interface-name; interface interface-name; }各 PE ルーターで、LSP のエグレス ポイントである PE ルーターに MPLS LSP を設定します。
これを行うには、
[edit protocols mpls]階層レベルでinterfaceおよびlabel-switched-pathステートメントを含めます。[edit protocols] mpls { interface interface-name; label-switched-path path-name { to ip-address; } }toステートメントでは、LSP のエグレス ポイントのアドレスを指定します。これはリモート PE ルーター上のアドレスです。interfaceステートメントで、インターフェイスの名前(物理部と論理部の両方)を指定します。LSP に関連するインターフェイスのinterfaceステートメントを 1 つ含めます。[edit interfaces]階層レベルで同じインターフェイスの論理部分を設定する場合、family inetおよびfamily mplsステートメントも設定する必要があります。[edit interfaces] interface-name { unit logical-unit-number { family inet; family mpls; } }LSP に参加するすべての P ルーターで、
[edit mpls]階層レベルでinterfaceステートメントを含めて MPLS を有効にします。LSP への接続ごとに 1 つの
interfaceステートメントを含めます。[edit] mpls { interface interface-name; interface interface-name; }[edit mpls]階層レベルでinterfaceステートメントを含めることで、PE ルーターと CE ルーター間のインターフェイスで MPLS を有効にします。こうすることで、PE ルーターは LSP に入るトラフィックに MPLS ラベルを割り当てたり、LSP から出るトラフィックからラベルを削除したりすることができます。
[edit] mpls { interface interface-name; }MPLSの設定に関する情報については、 MPLS信号LSP用のイングレスルーターの設定を参照してください。
参照
VPN の PE ルーターでの VRF テーブルのポリシーの設定
各 PE ルーターでは、ルーターの VRF テーブルにルートをインポートする方法と、VRF テーブルからエクスポートする方法を定義するポリシーを定義する必要があります。これらのポリシーでは、ルート・ターゲットを定義する必要があり、オプションでルート起点を定義できます。
VRF テーブルのポリシーを設定するには、次のセクションの手順を実行します。
- ルート ターゲットの設定
- ルート起点の設定
- PEルーターのVRFテーブルのインポートポリシーの設定
- PE ルーターの VRF テーブルのエクスポート ポリシーの設定
- VRFエクスポートポリシーとBGPエクスポートポリシーの両方を適用
- VRF ターゲットの設定
ルート ターゲットの設定
VPN ルーティングテーブルのポリシー構成の一部として、ルートが属する VPN を定義するルート ターゲットを定義する必要があります。同じ PE ルーター上で異なるタイプの VPN サービス(レイヤー 2 VPN、レイヤー 3 VPN、EVPN、VPLS)を設定する場合は、間違った VPN ルーティングテーブルにルートやシグナリング情報が追加されないように、必ず一意のルート ターゲット値を割り当ててください。
ルート ターゲットを設定するには、community ステートメントに target オプションを含めます。
community name members target:community-id;
以下の階層レベルでこのステートメントを使用することができます。
[edit policy-options][edit logical-systems logical-system-name policy-options]
name はコミュニティの名前です。
community-id はコミュニティの識別子です。以下のいずれかの形式で指定します。
as-number:number、as-numberはAS番号(2バイト値)、numberは4バイトのコミュニティ値です。AS番号の範囲は1〜65,535です。IANAによって割り当てられた非プライベートのAS番号を使用することが推奨されます。好ましいのは、ISP自身またはカスタマー自身のAS番号です。コミュニティ値は、0〜4,294,967,295(232 – 1)の範囲の数値です。ip-address:number、ip-addressは IPv4 アドレス(4 バイト値)、numberは 2 バイトのコミュニティ値です。IP アドレスには、グローバルに一意なユニキャスト アドレスを指定できます。割り当てられたプレフィックス範囲内の非プライベートアドレスであるrouter-idステートメントで設定するアドレスを使用することをお勧めします。コミュニティ値は、1〜65,535の範囲の数値です。
ルート起点の設定
PE ルーターの VRF テーブルのインポートおよびエクスポート ポリシーでは、オプションで、他の PE ルーターに送信されるマルチプロトコル外部 BGP(MP-EBGP)VPN IPv4 ルート アップデートに適用される VRF エクスポート ポリシーを使用して、PE ルーターの VRF ルートのルート起点(起点サイトとも呼ばれる)を割り当てることができます。
受信側 PE の VRF インポート ポリシーで割り当てられたルート起点属性を照合することで、1 つの PE からの MP-EBGP アップデートを通じて学習した VPN-IPv4 ルートが、同じサイトに接続された別の PE から同じ VPN サイトに再インポートされることがなくなります。
ルート起点を構成するには、以下のステップを実行します。
originオプションにcommunityステートメントを含めます。community name members origin:community-id;
以下の階層レベルでこのステートメントを使用することができます。
[edit policy-options][edit logical-systems logical-system-name policy-options]
nameはコミュニティの名前です。community-idはコミュニティの識別子です。以下のいずれかの形式で指定します。as-number:number、as-numberはAS番号(2バイト値)、numberは4バイトコミュニティ値です。AS番号の範囲は1〜65,535です。IANAによって割り当てられた非プライベートのAS番号を使用することが推奨されます。好ましいのは、ISP自身またはカスタマー自身のAS番号です。コミュニティ値は、0〜4,294,967,295(232 – 1)の範囲の数値です。ip-address:numberで、ip-addressは IPv4 アドレス(4 バイト値)で、numberは 2 バイトのコミュニティ値です。IP アドレスには、グローバルに一意なユニキャスト アドレスを指定できます。router-idステートメントで設定するアドレスは、割り当てられたプレフィックス範囲内の非プライベートアドレスを使用することを推奨します。コミュニティ値は、1〜65,535の範囲の数値です。
ステップ1で定義した
community-id識別子でcommunityステートメントを[edit policy-options policy-statement import-policy-name term import-term-name from]階層レベルで設定することで、PEルーターのVRFテーブルのインポートポリシーにコミュニティを含めます。PE ルーターの VRF テーブルのインポート ポリシーの設定を参照してください。ポリシーの
from句でコミュニティ条件が指定されていない場合、ポリシーが適用されるvrf-importステートメントはコミットできません。Junos OS のコミット操作は検証チェックに合格しません。ステップ1で定義した
community-id識別子でcommunityステートメントを[edit policy-options policy-statement export-policy-name term export-term-name then]階層レベルで設定することで、PEルーターのVRFテーブルのエクスポートポリシーにコミュニティを含めます。PE ルーターの VRF テーブルのエクスポート ポリシーの設定を参照してください。
設定例については 、VPN のルート起点の設定 を参照してください。
PEルーターのVRFテーブルのインポートポリシーの設定
各 VPN には、PE ルーターの VRF テーブルにルートをインポートする方法を定義するポリシーを設定できます。インポート ポリシーは、VPN 内の他の PE ルーターから受信したルートに適用されます。ポリシーは、ピアPEルーターとのIBGPセッションで受信したすべてのルートを評価する必要があります。ルートが条件に一致する場合、PEルーターの routing-instance-name.inet.0 VRFテーブルにルートがインストールされます。インポート ポリシーには、他のすべてのルートを拒否する 2 番目の条件を含める必要があります。
インポートポリシーに then reject ステートメントしか含まれていない限り、コミュニティへの参照を含める必要があります。そうしないと、設定のコミットを試みると、コミットが失敗します。複数のインポートポリシーを設定できます。
インポート ポリシーは、IBGP を通じてリモート PE ルーターから学習した VPN ルートに基づいて、指定された VRF テーブルに何をインポートするかを決定します。IBGP セッションは、 [edit protocols bgp] 階層レベルで設定されます。 [edit protocols bgp] 階層レベルでもインポートポリシーを設定すると、 [edit policy-options] 階層レベルと [edit protocols bgp] 階層レベルのインポートポリシーが論理AND演算で組み合わされます。これにより、トラフィックをグループとしてフィルタリングできます。
PE ルーターの VRF テーブルにインポート ポリシーを設定するには、以下の手順に従います。
インポートポリシーを定義するには、
policy-statementステートメントを含めます。すべてのPEルーターについて、インポートポリシーには少なくともpolicy-statementステートメントを必ず含める必要があります。policy-statement import-policy-name { term import-term-name { from { protocol bgp; community community-id; } then accept; } term term-name { then reject; } }以下の階層レベルで
policy-statementステートメントを含めることができます。[edit policy-options][edit logical-systems logical-system-name policy-options]
import-policy-nameポリシーは、他の PE ルーターとの IBGP セッションで受信したすべてのルートを評価します。ルートがfromステートメントの条件に一致する場合、ルートは PE ルーターの routing-instance-name.inet.0 VRF テーブルにインストールされます。ポリシーの 2 番目の条件は、他のすべてのルートを拒否します。ポリシー作成の詳細については 、「ルーティングポリシー、ファイアウォールフィルタ、およびトラフィックポリサーユーザーガイド」を参照してください。
オプションで、正規表現を使用して、VRF インポートポリシーに使用するコミュニティのセットを定義できます。
例えば、
[edit policy-options policy-statement policy-statement-name]階層レベルでcommunityステートメントを使用して、以下を設定することができます。[edit policy-options vrf-import-policy-sample] community high-priority members *:50
ルートターゲット拡張コミュニティの一部として正規表現を設定することはできません。コミュニティーの正規表現を設定する方法については、「 ルーティングポリシー一致条件で BGP コミュニティーと拡張コミュニティーがどのように評価されるか」を参照してください。
インポートポリシーを設定するには、
vrf-importステートメントを含めます。vrf-import import-policy-name;
以下の階層レベルでこのステートメントを使用することができます。
[edit routing-instances routing-instance-name][edit logical-systems logical-system-name routing-instances routing-instance-name]
PE ルーターの VRF テーブルのエクスポート ポリシーの設定
各 VPN には、PE ルーターの VRF テーブルからルートをエクスポートする方法を定義するポリシーを設定できます。エクスポート ポリシーは、VPN 内の他の PE ルーターに送信されたルートに適用されます。エクスポート・ポリシーは、CEルーターとのルーティング・プロトコル・セッションで受信したすべてのルートを評価する必要があります。(このセッションでは、BGP、OSPF、またはルーティング情報プロトコル(RIP)ルーティングプロトコル、またはスタティックルートを使用できます。)ルートが条件に一致する場合、指定されたコミュニティ ターゲット(ルート ターゲット)がルートに追加され、リモート PE ルーターにエクスポートされます。エクスポート ポリシーには、他のすべてのルートを拒否する 2 番目の条件を含める必要があります。
VPN ルーティング インスタンス内で定義されたエクスポート ポリシーは、VRF テーブルに適用される唯一のエクスポート ポリシーです。PE ルーター間の IBGP セッションで定義するエクスポート ポリシーは、VRF テーブルには影響しません。複数のエクスポート ポリシーを設定できます。
PE ルーターの VRF テーブルのエクスポート ポリシーを設定するには、以下の手順に従います。
すべての PE ルーターについて、エクスポート ポリシーは、ルーティング インスタンス内で CE ルーターと PE ルーター間で設定するルーティング プロトコルのタイプに従って、接続された CE ルーターとの間で VPN ルートを配信する必要があります。
エクスポート ポリシーを定義するには、
policy-statementステートメントを含めます。エクスポートポリシーには、少なくとも必ずpolicy-statementステートメントを含める必要があります。policy-statement export-policy-name { term export-term-name { from protocol (bgp | ospf | rip | static); then { community add community-id; accept; } } term term-name { then reject; } }手記:community addステートメントの設定は、レイヤー 2 VPN VRF エクスポート ポリシーの要件です。community addステートメントをcommunity setステートメントに変更すると、レイヤー2 VPNリンクのエグレスにあるルーターが接続をドロップする場合があります。手記:送信元固有のモードで動作するdraft-rosen マルチキャスト VPN を設定し、
vrf-exportステートメントを使用してエクスポート ポリシーを指定する場合、ポリシーには vrf-name.mdt.0 ルーティングテーブルからのルートを受け入れる条件が必要です。この条件は、inet-mdtアドレスファミリーを使用して、適切なPE自動検出を保証します。送信元固有のモードで動作する draft-rosen マルチキャスト VPN を設定し、
vrf-targetステートメントを使用すると、VRF エクスポート ポリシーが自動的に生成され、vrf-name.mdt.0 ルーティングテーブルからのルートが自動的に受け入れられます。以下の階層レベルに
policy-statementステートメントを含めることができます。[edit policy-options][edit logical-systems logical-system-name policy-options]
export-policy-nameポリシーは、CEルータとのルーティングプロトコルセッションで受信したすべてのルートを評価します。(このセッションでは、BGP、OSPF、RIPルーティングプロトコル、またはスタティックルートを使用できます。)ルートがfromステートメントの条件に一致する場合、then community addステートメントで指定されたコミュニティ ターゲットがルートに追加され、リモート PE ルーターにエクスポートされます。ポリシーの 2 番目の条件は、他のすべてのルートを拒否します。ポリシー作成の詳細については 、「ルーティングポリシー、ファイアウォールフィルタ、およびトラフィックポリサーユーザーガイド」を参照してください。
ポリシーを適用するには、
vrf-exportステートメントを含めます。vrf-export export-policy-name;
以下の階層レベルでこのステートメントを使用することができます。
[edit routing-instances routing-instance-name][edit logical-systems logical-system-name routing-instances routing-instance-name]
VRFエクスポートポリシーとBGPエクスポートポリシーの両方を適用
PE ルーターの VRF テーブルのエクスポート ポリシーの設定の説明に従って VRF エクスポート ポリシーを適用すると、VPN ルーティング インスタンスからのルートはこのポリシーに基づいて他の PE ルーターにアドバタイズされますが、BGP エクスポート ポリシーは無視されます。
BGP 設定に vpn-apply-export ステートメントを含めると、VPN ルーティング テーブルで他の PE ルーターにルートがアドバタイズされる前に、VRF エクスポートと BGP グループまたはネイバー エクスポート ポリシーの両方が適用されます(最初に VRF、次に BGP)。
PE デバイスが、キャリアオーバーキャリアまたはAS間VPNのルートリフレクタ(RR)または自律システム境界ルーター(ASBR)としても機能している場合、vrf-exportポリシーのネクストホップ操作は無視されます。
vpn-apply-export ステートメントを含める場合、次の点に注意してください。
bgp.l3vpn.0 ルーティングテーブルにインポートされたルートは、元のルートの属性を保持します(例えば、OSPF ルートは、bgp.l3vpn.0 ルーティングテーブルに格納されていても OSPF ルートのままです)。IBGP PEルーターとPEルーター、ルートリフレクターとPEルーター、またはASBR(ASBR)ピアルーター間の接続にエクスポートポリシーを設定する場合は、この点に注意する必要があります。
デフォルトでは、bgp.l3vpn.0ルーティングテーブル内のすべてのルートがIBGPピアにエクスポートされます。エクスポートポリシーの最後のステートメントがdeny allで、エクスポートポリシーがbgp.l3vpn.0ルーティングテーブルのルートで特に一致しない場合、ルートはエクスポートされません。
VRFエクスポートポリシーとBGPエクスポートポリシーの両方をVPNルートに適用するには、 vpn-apply-export ステートメントを含めます。
vpn-apply-export;
このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要のセクションを参照してください。
VRF ターゲットの設定
VRF ターゲット コミュニティの設定に vrf-target ステートメントを含めると、指定されたターゲット コミュニティでルートを受け入れてタグ付けするデフォルトの VRF インポートおよびエクスポート ポリシーが生成されます。VRF インポートおよびエクスポート ポリシーを明示的に設定することで、より複雑なポリシーを作成することもできます。これらのポリシーは、 vrf-target ステートメントの設定時に生成されるデフォルトポリシーを上書きします。
vrf-target ステートメントの import および export オプションを設定しない場合、指定されたコミュニティ ストリングが両方向に適用されます。import キーワードと export キーワードを使用すると柔軟性が高まり、方向ごとに異なるコミュニティを指定できます。
VRF ターゲット コミュニティの構文は、名前ではありません。 target:x:y の形式で指定する必要があります。コミュニティ名を指定することはできません。その場合、 policy-options ステートメントを使用してそのコミュニティのコミュニティメンバーを設定する必要があるためです。 policy-options ステートメントを定義すると、通常どおり VRF インポートおよびエクスポート ポリシーを設定できます。 vrf-target ステートメントの目的は、 [edit routing-instances] 階層レベルでほとんどのステートメントを設定できるようにすることで、設定を簡素化することです。
VRF ターゲットを設定するには、 vrf-target ステートメントを含めます。
vrf-target community;
以下の階層レベルでこのステートメントを使用することができます。
[edit routing-instances routing-instance-name][edit logical-systems logical-system-name routing-instances routing-instance-name]
以下に、 vrf-target ステートメントの設定例を示します。
[edit routing-instances sample] vrf-target target:69:102;
exportとimportオプションでvrf-targetステートメントを設定するには、以下のステートメントを含めます。
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 のルート起点の設定
ルート起点を使用すると、起点コミュニティでマークされたあるカスタマーエッジ(CE)ルーターから学習したルートが、同じAS内の別のCEルーターからアドバタイズされるのを防ぐことができます。
この例では、ルート起点を使用して、起点コミュニティでマークされたCEルーターAから学習されたルートが、AS 200によってCEルーターEにアドバタイズされるのを防ぎます。トポロジーの例を 図 1 に示します。
このトポロジーでは、CEルーターAとCEルーターEは同じAS(AS200)にあります。これらは、EBGP を使用して、それぞれのプロバイダー エッジ(PE)ルーターである PE ルーター B および PE ルーター D とルートを交換します。2台のCEルーターにはバック接続があります。
次のセクションでは、VPNグループのルート起点を設定する方法について説明します。
- CEルーターAでのSite of Originコミュニティの設定
- CE ルーター A のコミュニティの設定
- CEルーターAでのポリシー・ステートメントの適用
- PE ルーター D でのポリシーの設定
- PE ルーター D のコミュニティ設定
- PE ルーター D へのポリシーの適用
CEルーターAでのSite of Originコミュニティの設定
次のセクションでは、CEルータAを設定して、起点コミュニティのあるルートをPEルータBにアドバタイズする方法について説明します。
この例では、直接ルートはアドバタイズされるように設定されていますが、任意のルートを設定することができます。
CEルーターAで my-soo コミュニティとルートをアドバタイズするポリシーを次のように設定します。
[edit]
policy-options {
policy-statement export-to-my-isp {
term a {
from {
protocol direct;
}
then {
community add my-soo;
accept;
}
}
}
}
CE ルーター A のコミュニティの設定
CEルーターAの my-soo コミュニティを次のように設定します。
[edit]
policy-options {
community my-soo {
members origin:100:1;
}
}
CEルーターAでのポリシー・ステートメントの適用
以下の通り、export-to-my-isp ポリシー・ステートメントをエクスポート・ポリシーとして CE ルーター A の EBGP ピアリングに適用します。
[edit]
protocols {
bgp {
group my_isp {
export export-to-my-isp;
}
}
}
show route receive-protocol bgp detailコマンドを発行すると、コミュニティでPEルーターBから発信された以下のルートmy-soo確認できます。
user@host> show route receive-protocol bgp 10.12.99.2 detail
inet.0: 16 destinations, 16 routes (15 active, 0 holddown, 1 hidden)
inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
vpn_blue.inet.0: 8 destinations, 10 routes (8 active, 0 holddown, 0 hidden)
* 10.12.33.0/30 (2 entries, 1 announced)
Nexthop: 10.12.99.2
AS path: 100 I
Communities: origin:100:1
10.12.99.0/30 (2 entries, 1 announced)
Nexthop: 10.12.99.2
AS path: 100 I
Communities: origin:100:1
* 10.255.71.177/32 (1 entry, 1 announced)
Nexthop: 10.12.99.2
AS path: 100 I
Communities: origin:100:1
* 192.168.64.0/21 (1 entry, 1 announced)
Nexthop: 10.12.99.2
AS path: 100 I
Communities: origin:100:1
iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
bgp.l3vpn.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
inet6.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
__juniper_private1__.inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0
hidden)
PE ルーター D でのポリシーの設定
PEルーターDで、CEルーターAによってタグ付けされた my-soo コミュニティを持つルートがCEルーターEにアドバタイズされないようにするポリシーを設定します。
[edit]
policy-options {
policy-statement soo-ce1-policy {
term a {
from {
community my-soo;
then {
reject;
}
}
}
}
}
PE ルーター D のコミュニティ設定
PE ルーター D のコミュニティを次のように設定します。
[edit]
policy-options {
community my-soo {
members origin:100:1;
}
}
PE ルーター D へのポリシーの適用
CEルーターAから学習したルートがCEルーターEにアドバタイズされないようにする(2つのルーターがこれらのルートを直接通信できる)には、 soo-ce1-policy ポリシーステートメントをエクスポートポリシーとしてPEルーターDおよびCEルーターEのEBGPセッション vpn_blueに適用します。
show routing-instancesコマンドを使用して、PE ルーター D の EBGP セッションを表示します。
user@host# show routing-instances
vpn_blue {
instance-type vrf;
interface fe-2/0/0.0;
vrf-target target:100:200;
protocols {
bgp {
group ce2 {
advertise-peer-as;
peer-as 100;
neighbor 10.12.99.6;
}
}
}
}
soo-ce1-policyポリシーステートメントをエクスポートポリシーとして、PEルーターDおよびCEルーターEのEBGPセッションvpn_blueに次のように適用します。
[edit routing-instances]
vpn_blue {
protocols {
bgp {
group ce2{
export soo-ce1-policy;
}
}
}
}