VPN の PE ルーター上の VRF テーブルのポリシーの設定
各PEルーターでは、ルーターのVRFテーブルにルートをインポートし、ルーターのVRFテーブルからエクスポートする方法を定義するポリシーを定義する必要があります。これらのポリシーでは、ルート ターゲットを定義する必要があり、オプションでルート送信元を定義できます。
VRFテーブルのポリシーを設定するには、以下のセクションで手順を実行します。
ルート ターゲットの設定
VPNルーティングテーブルのポリシー設定の一環として、ルートターゲットを定義する必要があります。このルートは、どのVPNの一部であるかを定義します。同じ PE ルーター上で異なるタイプの VPN サービス(レイヤー 2 VPN、レイヤー 3 VPN、EVPN、VPLS)を設定する場合、間違った VPN ルーティング テーブルにルートやシグナリング情報を追加する可能性を避けるために、必ず固有のルート ターゲット値を割り当てます。
ルートターゲットを設定するには、 ステートメントに target
オプションを community
含めます。
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 サイトに再インポートされないようにすることができます。
ルート起点を設定するには、以下の手順を実行します。
オプションに
community
ステートメントをorigin
含めます。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
することで、PEルーターのVRFテーブルのインポートポリシーにコミュニティを[edit policy-options policy-statement import-policy-name term import-term-name from]
含めます。PE ルーターの VRF テーブルのインポート ポリシーの設定を参照してください。ポリシーの
from
句でコミュニティ条件が指定されていない場合、vrf-import
ポリシーが適用されるステートメントはコミットされません。Junos OS のコミット操作は、検証チェックに合格しません。階層レベルでステップ1で定義された識別子でステートメント
community-id
を設定community
することで、PEルーターのVRFテーブルのエクスポートポリシーにコミュニティを[edit policy-options policy-statement export-policy-name term export-term-name then]
含めます。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 protocols bgp]
階層レベルの[edit policy-options]
インポートポリシーが論理 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インポートポリシーに使用するコミュニティのセットを定義できます。
例えば、 階層レベルの ステートメントを
community
使用して、以下を[edit policy-options policy-statement policy-statement-name]
設定できます。[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ルーティングテーブルからのルートを受け入れる条件が必要です。この用語は、アドレス ファミリーを使用して適切な PE 自動検出をinet-mdt
保証します。ソース固有のモードで動作する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
含める場合、ルートが他のPEルーターにVPNルーティングテーブルでアドバタイズされる前に、VRFエクスポートとBGPグループまたはネイバーエクスポートポリシー(VRFファースト、次にBGP)の両方が適用されます。
PEデバイスがキャリアオーバーキャリアまたはAS間VPNでルートリフレクタ(RR)または自律システム境界ルーター(ASBR)としても機能する場合、vrf-exportポリシーでのネクストホップ操作は無視されます。
ステートメントを vpn-apply-export
含める場合は、次の点に注意してください。
bgp.l3vpn.0ルーティングテーブルにインポートされたルートは、元のルートの属性を保持します(例えば、OSPFルートがbgp.l3vpn.0ルーティングテーブルに格納されている場合でも、OSPFルートはOSPFルートのままです)。これは、IBGP PEルーターとPEルーター、ルートリフレクタとPEルーター、またはAS境界ルーター(ASBR)ピアルーター間の接続に対してエクスポートポリシーを設定する場合に注意してください。
デフォルトでは、bgp.l3vpn.0ルーティングテーブル内のすべてのルートがIBGPピアにエクスポートされます。エクスポート・ポリシーの最後のステートメントがすべてを拒否し、エクスポート・ポリシーがbgp.l3vpn.0ルーティング・テーブルのルートで特に一致しない場合、ルートはエクスポートされません。
VRFエクスポートとBGPエクスポートポリシーの両方をVPNルートに適用するには、 ステートメントを vpn-apply-export
含めます。
vpn-apply-export;
このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要セクションを参照してください。
VRF ターゲットの設定
vrf-target
VRFターゲットコミュニティの設定に ステートメントを含めると、指定されたターゲットコミュニティでルートを受け入れ、タグ付けするデフォルトのVRFインポートおよびエクスポートポリシーが生成されます。VRFインポートとエクスポートポリシーを明示的に設定することで、さらに複雑なポリシーを作成できます。これらのポリシーは、 ステートメントを設定するときに生成されるデフォルトポリシーをvrf-target
上書きします。
ステートメントの および export
オプションをimport
vrf-target
設定しない場合、指定されたコミュニティ文字列は両方向に適用されます。および export
のキーワードをimport
使用すると柔軟性が高まり、方向ごとに異なるコミュニティを指定できます。
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;
および import
オプションで vrf-target
ステートメントをexport
設定するには、以下のステートメントを含めます。
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]