목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

구성

네트워크 다이어그램

구성

CE1

CE2

PE1

PE2

다음을 확인합니다.

사례 1:MP-BGP를 통한 고객 경로 수락 및 교환

사례 2:한 VRF에서 다른 VRF로 경로 유출

해결 방법

관련 Cisco 지원 커뮤니티 토론

소개

이 문서에서는 CE(customer edge) 및 PE(provider edge)에서 iBGP(internal BGP) 프로토콜을 실행할 때 VRF 간 경로 누설(Levering)에 대해 설명합니다.이 문서에서는 경로 누설 관련 현재 제한 사항과 해결 방법에 대해서도 설명합니다.

사전 요구 사항

요구 사항

Cisco에서는 BGP에 대한 기본적인 지식을 보유한 것이 좋습니다.

사용되는 구성 요소

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

구성

PE-CE 프로토콜로 iBGP에 대한 지원은 이전에 지원되지 않았습니다.그러나 이 기능은 현재 통합되어 있으므로 iBGP는 PE-CE 라우팅의 잠재적 후보로 간주할 수도 있습니다.이 기능을 통해 고객은 모든 사이트에서 하나의 자동 시스템을 가질 수 있습니다.이를 위해 서비스 제공자 네트워크 전체에서 투명한 방식으로 VPN BGP 특성을 전달하는 새로운 특성 ATTR_SET가 도입되었습니다.또한 CE 라우터를 사용하는 iBGP 세션을 위해 PE를 경로 리플렉터로 설정해야 합니다.새로 도입된 명령 " neighbor x.x.x internal vpn-client"를 사용하면 이 작업을 수행할 수 있습니다.이 단일 명령을 구성하면 "neighbor x.x.x.x route-reflector-client" 및 "neighbor 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를 통한 고객 경로 수락 및 교환

앞에서 설명한 것처럼, iBGP는 PE to CE로 "neighbor x.x.x internal vpn-client" 명령을 사용하여 VRF 내부 고객과 BGP 피어링을 구성해야 합니다. 이 명령이 없을 경우 로컬 PE는 VRF에서 로컬 CE의 경로를 허용하지만, 이러한 고객 경로는 다른 PR 라우터와 MP-BGP를 통해 공유되지 않습니다.아래 출력은 "neighbor 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에서 다른 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

!

위의 컨피그레이션이 완료되면 VRF B는 로컬 CE에서 수신한 BGP 경로를 설치하지 못합니다.그러나 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에서 B로 로컬 CE 경로를 유출하는 VRF 경로 유출의 이 문제는 "neighbor 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의 경로 수신을 중지합니다(인접 디바이스 x.x.x.x 내부 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 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에 설치됩니다.