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;
}
}
}
}