内容

概要

前提条件

要件

使用するコンポーネント

設定

ネットワーク図

設定

CE1

CE2

PE1

PE2

確認

ケース 1：MP-BGP 経由の顧客ルートの受け入れおよび交換

ケース 2：VRF 間のルート漏えい

回避策

関連するシスコ サポート コミュニティ ディスカッション

概要

このドキュメントでは、カスタマー エッジ（CE）とプロバイダー エッジ（PE）が内部 BGP（iBGP）プロトコルを実行している場合の VRF 間のルート漏えいについて説明します。ルート漏えいに関連した現在の制限事項、および回避策についても説明します。

前提条件

要件

BGP に関する基本的な知識があることが推奨されます。

使用するコンポーネント

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

設定

これまで、iBGP は、CE から PE へのプロトコルとしてサポートされていませんでした。しかし、現在はこのサポートが導入され、iBGP は、PE から CE へのルーティングにも使用できるものとして見なせるようになりました。この機能により、すべてのサイトに対して 1 つの自律システムを持つことが可能になります。これを実現するために、VPN の BGP 属性をサービス プロバイダー ネットワーク全体に透過的に伝える ATTR_SET という新しい属性が導入されました。また、これには、PE を CE ルータとの iBGP セッション用のルート リフレクタにする必要があります。新しく導入された「neighbor x.x.x.x internal vpn-client」コマンドでこれを実施できます。この単一のコマンドを設定すると、自動的に「neighbor x.x.x.x route-reflector-client」および「neighbor x.x.x.x next-hop-self」が設定されます。

ネットワーク図

設定

CE1

interface Loopback10

ip address 10.10.0.1 255.255.255.0

interface Ethernet0/0

ip address 10.0.12.1 255.255.255.0

router bgp 100

bgp router-id 10.1.1.1

bgp log-neighbor-changes

neighbor 10.0.12.2 remote-as 100

!

address-family ipv4

network 10.10.0.0 mask 255.255.255.0

neighbor 10.0.12.2 activate

exit-address-family

CE2

interface Loopback10

ip address 10.20.0.1 255.255.255.0

interface Ethernet0/1

ip address 10.0.45.5 255.255.255.0

router bgp 100

bgp router-id 10.5.5.5

bgp log-neighbor-changes

neighbor 10.0.45.4 remote-as 100

!

address-family ipv4

network 10.20.0.0 mask 255.255.255.0

neighbor 10.0.45.4 activate

exit-address-family

PE1

vrf definition A

rd 10:10

route-target export 100:100

route-target import 100:100

!

address-family ipv4

exit-address-family

!

vrf definition B

rd 20:20

!

address-family ipv4

route-target import 50:50

route-target import 100:100

exit-address-family

interface Loopback0

ip address 10.2.2.2 255.255.255.255

ip ospf 100 area 0

!

interface Ethernet0/0

vrf forwarding A

ip address 10.0.12.2 255.255.255.0

!

interface Ethernet0/1

ip address 10.0.23.2 255.255.255.0

mpls ip

router bgp 100

bgp router-id 10.2.2.2

bgp log-neighbor-changes

neighbor 10.4.4.4 remote-as 100

neighbor 10.4.4.4 update-source Loopback0

!

address-family vpnv4

neighbor 10.4.4.4 activate

neighbor 10.4.4.4 send-community extended

exit-address-family

!

address-family ipv4 vrf A

neighbor 10.0.12.1 remote-as 100

neighbor 10.0.12.1 activate

neighbor 10.0.12.1 internal-vpn-client // needed to exchange routes between PEs

neighbor 10.0.12.1 next-hop-self

exit-address-family

!

address-family ipv4 vrf B

exit-address-family

PE2

vrf definition A

rd 10:10

route-target export 100:100

route-target import 100:100

!

address-family ipv4

exit-address-family

interface Loopback0

ip address 10.4.4.4 255.255.255.255

ip ospf 100 area 0

!

interface Ethernet0/0

ip address 10.0.34.4 255.255.255.0

mpls ip

!

interface Ethernet0/1

vrf forwarding A

ip address 10.0.45.4 255.255.255.0

router bgp 100

bgp router-id 10.4.4.4

bgp log-neighbor-changes

neighbor 10.2.2.2 remote-as 100

neighbor 10.2.2.2 update-source Loopback0

!

address-family vpnv4

neighbor 10.2.2.2 activate

neighbor 10.2.2.2 send-community extended

exit-address-family

!

address-family ipv4 vrf A

neighbor 10.0.45.5 remote-as 100

neighbor 10.0.45.5 activate

neighbor 10.0.45.5 internal-vpn-client //needed to exchange routes between PEs

neighbor 10.0.45.5 route-reflector-client

neighbor 10.0.45.5 next-hop-self

exit-address-family

確認

ケース 1：MP-BGP 経由の顧客ルートの受け入れおよび交換

前述のとおり、PE から CE に iBGP を使用するには、「neighbor x.x.x.x internal vpn-client」コマンドを使用して、VRF 内の顧客との BGP ピアリングを設定する必要があります。 このコマンドを実行しない場合、ローカル PE は VRF 内のローカル CE からのルートを受け入れますが、これらの顧客ルートは MP-BGP 経由で他の PR ルータと共有されません。次の出力は、事前設定された「neighbor x.x.x.x internal vpn-client」によるものです。

次の出力には、PE1 および PE2 上の vrf A に含まれるルートが表示されています。

PE1#show ip route vrf A

Routing Table: A

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks

C        10.0.12.0/24 is directly connected, Ethernet0/0

L        10.0.12.2/32 is directly connected, Ethernet0/0

B        10.10.0.0/24 [200/0] via 10.0.12.1, 00:35:23

B        10.20.0.0/24 [200/0] via 10.4.4.4, 00:40:55

PE2#show ip route vrf A

Routing Table: A

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks

C        10.0.45.0/24 is directly connected, Ethernet0/1

L        10.0.45.4/32 is directly connected, Ethernet0/1

B        10.10.0.0/24 [200/0] via 10.2.2.2, 00:00:08

B        10.20.0.0/24 [200/0] via 10.0.45.5, 00:41:55

CE1#show ip route bgp

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks

B        10.20.0.0/24 [200/0] via 10.0.12.2, 00:03:56

CE2#show ip route bgp

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks

B        10.10.0.0/24 [200/0] via 10.0.45.4, 00:04:21

ケース 2：VRF 間のルート漏えい

ケース1では、CE1とCE2の間のルートの交換が正常に実証されています。ここで、vrf Aにルートをインストールする必要がある別のvrf Bを検討します。通常は、次のように、VRF A の export-map 値を使用して VRF B に同じ値をインポートする方法が使用されます。

!

vrf definition A

rd 10:10

route-target export 100:100

route-target import 100:100

!

address-family ipv4

exit-address-family

!

vrf definition B

rd 20:20

!

address-family ipv4

route-target import 100:100

exit-address-family

!

上記の設定を実行しても、ローカル CE から受信した BGP ルートは VRF B にインストールされません。ただし、MP-BGP 経由で他の PE から受信したルートは、次の出力に示すように、正常にインストールされます。10.20.0.0/24はCEに属し、VRF Aで正常に受信され、VRF Bにもエクスポートされます。ただし、CE1からローカルに受信された10.10.0.0/24はVRF Bに入力できません。

PE1#show ip route vrf A bgp

Routing Table: A

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks

B        10.10.0.0/24 [200/0] via 10.0.12.1, 00:12:35

B        10.20.0.0/24 [200/0] via 10.4.4.4, 00:54:22

PE1#show ip route vrf B

Routing Table: B

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 1 subnets

B        10.20.0.0 [200/0] via 10.4.4.4, 00:46:38

VRF A から VRF B へのローカルな CE ルートの VRF ルート漏えいというこの問題は、「neighbor x.x.x.x internal vpn-client」を設定することにより発生しなくなります。このコマンドが PE1 から削除されるとすぐに、次に示すように、VRF B はローカル CE1 のルート 10.10.0.0/24 を正常に認識できるようになります。

!

router bgp 100

address-family ipv4 vrf A

no  neighbor 10.0.12.1 internal-vpn-client

!

PE1#show ip route vrf B bgp

Routing Table: B

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 2 subnets

B        10.10.0.0 [200/0] via 10.0.12.1 (A), 00:00:11

B        10.20.0.0 [200/0] via 10.4.4.4, 00:58:33

また、リモート サイト B は、サイト A のルートを受信しなくなります（neighbor x.x.x.x internal vpn-client が削除されたため）。

PE2#show ip route vrf A bgp

Routing Table: A

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override

Gateway of last resort is not set

10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks

B        10.20.0.0/24 [200/0] via 10.0.45.5, 01:04:21           // 10.10.0.0/24 is missing.

これは制限事項であり、この問題を修正するために、拡張機能のバグ CSCuw43489 がすでに申請されています。

回避策

上記の問題を確認するための回避策があります。この回避策を使用すると、「neighbor x.x.x.x internal vpn-client」コマンドが存在しても、VRF A から VRF B にルートをインポートできます。 この回避策では、ルートを顧客からインポートする際に、ダミーのコミュニティ（次例では 50:50）を設定する必要があります。このダミーの拡張コミュニティを vrf B にインポートします。

!

route-map TEST, permit, sequence 10

Match clauses:

Set clauses:

extended community RT:50:50

Policy routing matches: 0 packets, 0 bytes

!

vrf definition B

rd 20:20

address-family ipv4

route-target import 100:100

route-target import 50:50                         // match dummy community

!

router bgp 100

address-family ipv4 vrf A

neighbor 10.0.12.1 route-map TEST in             // Set dummy community

!

PE1#show bgp vpnv4 uni vrf B 10.10.0.0

BGP routing table entry for 20:20:10.10.0.0/24, version 4

Paths: (1 available, best #1, table B)

Not advertised to any peer

Refresh Epoch 1

Local, (Received from ibgp-pece RR-client), imported path from 10:10:10.10.0.0/24 (A)

10.0.12.1 (via vrf A) (via A) from 10.0.12.1 (10.1.1.1)

Origin IGP, metric 0, localpref 100, valid, internal, best

Extended Community: RT:50:50

rx pathid: 0, tx pathid: 0x0

PE1#show ip route vrf B

Routing Table: B

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 2 subnets

B        10.10.0.0 [200/0] via 10.0.12.1 (A), 00:00:25

B        10.20.0.0 [200/0] via 10.4.4.4, 00:00:25

上記のとおり、この回避策により、VRF A に存在するルート 10.10.0.0/24 が VRF B にインストールされます。