VPNのルート送信元の設定
ルート送信元を使用して、発信元コミュニティがマークされた1つのカスタマーエッジ(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の発信元サイトコミュニティの設定
次のセクションでは、この例では、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にポリシーステートメントを適用する
CE ルーター A の EBGP ピアリングへのエクスポート ポリシーとして export-to-my-isp ポリシー ステートメントを次のように適用します。
[edit] protocols { bgp { group my_isp { export export-to-my-isp; } } }
コマンドを show route receive-protocol bgp detail
発行すると、コミュニティを持つ my-soo
PEルーターBから発信された以下のルートが表示されるはずです。
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 でのポリシーの設定
以下のように、CEルーターAがタグ付けされたコミュニティを持つ my-soo
ルートがCEルーターEにアドバタイズされることを防ぐポリシーをPEルーターDに設定します。
[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つのルーターはこれらのルートを直接通信できます)、PEルーターDおよびCEルーターEのEBGPセッションにエクスポートポリシーとしてポリシーステートメントを適用 soo-ce1-policy
します vpn_blue
。
コマンドを使用して、PEルーターDのEBGPセッションを show routing-instances
表示します。
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; } } } }