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での発信元サイトコミュニティの設定
次のセクションでは、この例で、CEルーターAを設定して、PEルーターBにオリジンサイトコミュニティを持つルートをアドバタイズする方法について説明します。
この例では、直接ルートがアドバタイズされるように設定されていますが、任意のルートを設定することができます。
ルーターA上で my-soo CEコミュニティでルートをアドバタイズするポリシーを次のように設定します。
[edit]
policy-options {
policy-statement export-to-my-isp {
term a {
from {
protocol direct;
}
then {
community add my-soo;
accept;
}
}
}
}
CEルーターAでのコミュニティの設定
ルーターAの my-soo コミュニティCE次のように設定します。
[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;
}
}
}
}