Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Configuration

Diagramme du réseau

Configurations

CE1

CE2

PE1

PE2

Vérification

Cas 1 : Acceptation et échange de routes client sur MP-BGP

Cas 2 : Fuite de routes d'un VRF à un autre.

Solution de contournement

Discussions connexes de la communauté d’assistance Cisco

Introduction

Ce document traite des fuites de route entre VRF lorsque la périphérie client (CE) et la périphérie fournisseur (PE) exécutent le protocole BGP interne (iBGP). Il aborde les limites actuelles avec la fuite de route et une solution de contournement pour elle aussi.

Conditions préalables

Conditions requises

Cisco vous recommande d'avoir une connaissance de base du protocole BGP.

Components Used

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Configuration

La prise en charge d'iBGP comme protocole PE à CE n'a pas été prise en charge auparavant. Cependant, ceci a été incorporé maintenant et iBGP peut également être considéré comme un candidat potentiel pour le routage PE à CE. Cette fonctionnalité permet aux clients d'avoir un seul système autonome sur tous les sites. Pour ce faire, un nouvel attribut ATTR_SET a été introduit qui transporte les attributs VPN BGP sur le réseau du fournisseur de services de manière transparente. En outre, il doit faire de l'équipement d'abonné le réflecteur de route pour la session iBGP avec le routeur CE. La nouvelle commande " neighbor x.x.x.x internal vpn-client » permet d'y parvenir. Lorsque cette seule commande est configurée, elle configure automatiquement « neighbor x.x.x.x route-reflector-client » et « neighbor x.x.x.x next-hop-self ».

Diagramme du réseau

Configurations

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

Vérification

Cas 1 : Acceptation et échange de routes client sur MP-BGP

Comme indiqué précédemment, iBGP en tant que PE à CE nécessite la configuration de l'appairage BGP avec le client dans VRF avec la commande « neighbor x.x.x.x interne vpn-client ». En l'absence de cette commande, le PE local accepte les routes provenant du CE local dans VRF, mais ces routes de client ne sont pas partagées via MP-BGP avec d'autres routeurs RP. Les sorties ci-dessous ont été prises avec « neighbor x.x.x.x interne vpn-client » préconfiguré.

Le résultat ci-dessous montre les routes dans vrf A sur PE1 et PE2.

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

Cas 2 : Fuite de routes d'un VRF à un autre.

Cas 1, a démontré avec succès l’échange de routes entre CE1 et CE2. Considérez maintenant un autre vrf B qui doit installer des routes dans vrf A en lui-même. La méthode régulière consiste à utiliser la valeur export-map dans VRF A et à importer la même valeur dans VRF B comme indiqué ci-dessous.

!

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

!

Lorsque la configuration ci-dessus est effectuée, VRF B ne parvient à installer aucune route BGP reçue du CE local. Cependant, les routes reçues d'autres PE via MP-BGP sont correctement installées comme indiqué ci-dessous dans le résultat. 10.20.0.0/24 appartient à CE et est reçu avec succès dans VRF A et est également exporté vers VRF B. Mais 10.10.0.0/24 reçu localement de CE1 ne parvient pas à entrer 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

Ce problème de fuite de route VRF de la route CE locale de VRF A à B n'est observé que jusqu'à ce que le point « neighbor x.x.x.x interne vpn-client » soit configuré. Dès que cette commande est supprimée de PE1, VRF B peut voir correctement la route locale CE1 10.10.0.0/24, comme indiqué ci-dessous.

!

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

Et le site distant B arrête de recevoir les routes du site A (comme le voisin x.x.x.x interne vpn-client a été supprimé).

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.

Ceci est une limitation et un bogue d'amélioration CSCuw43489 a déjà été déposé pour résoudre ce problème.

Solution de contournement

Une solution de contournement est disponible pour vérifier le problème décrit ci-dessus. Cette solution de contournement permet d'importer des routes de VRF A vers VRF B en présence de la commande « neighbor x.x.x.x interne vpn-client ». Cette solution de contournement nécessite de définir une communauté factice (50:50 comme indiqué ci-dessous) lors de l'importation de routes à partir du client. Importez cette communauté étendue fictive dans 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

Comme indiqué ci-dessus, cette solution de contournement rend la route 10.10.0.0/24 présente dans VRF A installée dans VRF B.