Ce document fournit un exemple de configuration d'un VPN MPLS (Multiprotocol Label Switching) sur ATM lorsque le protocole BGP (Border Gateway Protocol) ou RIP (Routing Information Protocol) est présent sur les sites des clients.
La fonctionnalité VPN (Virtual Private Network), lorsqu'elle est utilisée avec MPLS, permet à plusieurs sites d'interconnecter de manière transparente via un réseau de fournisseur de services. Un réseau du fournisseur de service peut prendre en charge plusieurs VPN d'IP différents. Chacun de ces derniers apparaît à ses utilisateurs en tant que réseau privé, séparé de tous les autres réseaux. Dans un VPN, chaque site peut envoyer des paquets IP à n'importe quel autre site dans le même VPN.
Chaque VPN est associé avec un ou plusieurs VPN de routage ou instances de transmission (VRF). Un VRF se compose d'une table de routage IP, d'une table CEF (Cisco Express Forwarding) dérivée et d'un ensemble d'interfaces qui utilise cette table de transfert.
Le routeur conserve un routage distinct et la table CEF pour chaque VRF. Cela ne permet pas d'envoyer des informations en dehors du VPN, mais permet d'utiliser le même sous-réseau dans plusieurs VPN sans problèmes d'adresse IP en double.
Le routeur qui utilise BGP distribue les informations de routage VPN aux communautés étendues BGP.
Pour plus d'informations sur la propagation des mises à jour via un VPN, consultez les liens suivants :
Ces lettres représentent les différents types de routeurs et de commutateurs utilisés :
P : Routeur principal du fournisseur
PE : Routeur de périphérie fournisseur
CE : Routeur de périphérie client
C : Routeur client
Nous avons développé et testé la configuration avec les versions logicielles et matérielles suivantes :
Routeurs PE :
le logiciel Cisco IOS: Logiciel Cisco IOS® Version 12.1(3)T. La version 12.0(5)T inclut le VPN MPLS.
Matériel : Tout routeur Cisco de la gamme 3600 ou supérieure, tel que Cisco 3660 ou 7206.
Routeurs CE : Utilisez n’importe quel routeur capable d’échanger des informations de routage avec son routeur PE.
Routeurs et commutateurs P : La fonction d'intégration VPN MPLS réside uniquement sur la périphérie du réseau MPLS. Utilisez donc n'importe quel commutateur compatible MPLS. Dans l'exemple de configuration, le cloud MPLS est composé d'un MSR 8540 et d'un LightStream 1010. Si vous utilisez LightStream 1010, nous vous recommandons d'utiliser la version logicielle WA4.8d ou ultérieure. Vous pouvez également utiliser d'autres commutateurs ATM, tels que le Cisco BPX 8650 ou le MGX 8850 dans le réseau principal ATM.
Ce diagramme présente une configuration type qui illustre ces conventions :
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Nous avons configuré un fédérateur ATM MPLS standard avec la zone 0 OSPF (Open Shortest Path First) comme protocole IGP (Interior Gateway Protocol). Nous avons configuré deux VPN différents avec ce backbone. Le premier utilise le protocole RIP comme protocole de routage de périphérie client à périphérie fournisseur (CE-PE) et le second utilise le protocole de routage BGP comme protocole de routage PE-CE.
Nous avons configuré diverses routes de bouclage et statiques sur les routeurs CE pour simuler la présence d’autres routeurs et réseaux.
Remarque : Il est obligatoire d'utiliser BGP comme protocole IGP VPN entre les routeurs PE. En effet, l'utilisation de communautés étendues BGP est le seul moyen de transporter les informations de routage pour le VPN entre les routeurs PE.
La documentation de Cisco IOS (MPLS Virtual Private Networks) décrit également cette procédure de configuration.
Assurez-vous que ip cef est activé. Si vous utilisez un routeur Cisco 7500, assurez-vous que ip cef distribute est activée. Sur les PE, une fois que MPLS a été configuré, procédez comme suit :
Créez un VRF pour chaque VPN connecté à l'aide de la commande ip vrf <VPN routing/forwarding instance name> :
Spécifiez le moteur de distinction de route correct utilisé pour ce VPN. Cette option permet d'étendre l'adresse IP afin que vous puissiez identifier le VPN auquel il appartient.
rd
Configurez les propriétés d'importation et d'exportation pour les communautés étendues BGP. Elles sont utilisées pour filtrer le processus d'importation et d'exportation.
route-target [export|import|both]
Configurez les détails de transfert pour les interfaces respectives avec cette commande :
ip vrf forwardingRemarque : N'oubliez pas de configurer l'adresse IP après cette opération.
Selon le protocole de routage PE-CE que vous utilisez, vous devez maintenant effectuer l'une ou plusieurs des opérations suivantes :
Configurez les routes statiques :
ip route vrf vrf-name prefix mask [next-hop-address] [interface {interface-number}]Configurez le protocole RIP à l’aide de la commande suivante :
address-family ipv4 vrfUne fois cette partie terminée, entrez les commandes de configuration RIP normales.
Remarque : Ceci est appliqué uniquement aux interfaces de transfert pour le VRF actuel.
Remarque : vous devez redistribuer le BGP correct dans RIP. Dans ce cas, n'oubliez pas de spécifier également la métrique utilisée.
Déclarez les informations de voisinage BGP.
Configurez le protocole OSPF avec la nouvelle commande IOS :
router ospfvrf . Remarque : Ceci est appliqué uniquement aux interfaces de transfert pour le VRF actuel.
Remarque : vous devez redistribuer le BGP correct dans OSPF. Dans ce cas, n'oubliez pas de spécifier également la métrique utilisée.
Remarque : une fois que vous attribuez le processus OSPF à un VRF, ce numéro de processus est toujours utilisé pour ce VRF particulier. Cela s'applique même si vous ne le spécifiez pas dans la ligne de commande.
Procédure de configuration Partie II
Configurez le protocole BGP entre les routeurs PE. Il existe plusieurs façons de configurer BGP ; l'une des méthodes consiste à utiliser le réflecteur de route ou les méthodes de confédération. La méthode utilisée ici - la configuration directe du voisin - est la plus simple et la moins évolutive.
Déclarez les différents voisins.
Entrez la famille d'adresses ipv4 vrf <nom d'instance de routage/transfert VPN> pour chaque VPN présent sur ce routeur PE. Effectuez une ou plusieurs des étapes suivantes, si nécessaire :
Redistribuez les informations de routage statique.
Redistribuez les informations de routage RIP.
Redistribuez les informations de routage OSPF.
Activez BGP à proximité des routeurs CE.
Passez en mode vpnv4 address-family et effectuez l'une des opérations suivantes :
Activez les voisins.
Spécifiez que la communauté étendue doit être utilisée. Ceci est obligatoire.
Configurations
Dans la configuration d'Alcalzaba, les lignes spécifiques au VPN 101 sont indiquées en gras, celles spécifiques au VPN 102 sont en italique et celles spécifiques aux deux sont indiquées en gras et en italique.
Alcazaba ! ip vrf vrf101 rd 1:101 route-target export 1:101 route-target import 1:101 ! ip vrf vrf102 rd 1:102 route-target export 1:102 route-target import 1:102 ! ip cef ! interface Loopback0 ip address 223.0.0.3 255.255.255.255 ! interface Ethernet1/0 ip vrf forwarding vrf102 ip address 10.200.10.3 255.255.252.0 ! interface Ethernet1/1 ip vrf forwarding vrf101 ip address 150.150.0.1 255.255.255.0 ! interface ATM3/0 no ip address no ip mroute-cache no atm ilmi-keepalive pvc qsaal 0/5 qsaal pvc ilmi 0/16 ilmi ! ! interface ATM3/0.1 tag-switching ip address 10.0.0.17 255.255.255.252 tag-switching atm vpi 2-4 tag-switching ip ! interface ATM4/0 no ip address no atm ilmi-keepalive ! interface ATM4/0.1 tag-switching ip address 10.0.0.13 255.255.255.252 tag-switching atm vpi 2-4 tag-switching ip ! router ospf 1 network 10.0.0.0 0.0.0.255 area 0 network 223.0.0.3 0.0.0.0 area 0 ! router rip version 2 ! address-family ipv4 vrf vrf101 version 2 redistribute bgp 1 metric 0 network 150.150.0.0 no auto-summary exit-address-family ! router bgp 1 no synchronization neighbor 125.2.2.2 remote-as 1 neighbor 125.2.2.2 update-source Loopback0 neighbor 223.0.0.21 remote-as 1 neighbor 223.0.0.21 update-source Loopback0 no auto-summary ! address-family ipv4 vrf vrf102 redistribute connected neighbor 10.200.10.14 remote-as 158 neighbor 10.200.10.14 activate no auto-summary no synchronization exit-address-family ! address-family ipv4 vrf vrf101 redistribute rip no auto-summary no synchronization exit-address-family ! address-family vpnv4 neighbor 125.2.2.2 activate neighbor 125.2.2.2 send-community extended neighbor 223.0.0.21 activate neighbor 223.0.0.21 send-community extended no auto-summary exit-address-family !
Kozel ! ip vrf vrf101 rd 1:101 route-target export 1:101 route-target import 1:101 ! ip vrf vrf102 rd 1:102 route-target export 1:102 route-target import 1:102 ! ip cef ! interface Loopback0 ip address 223.0.0.21 255.255.255.255 ! interface Ethernet1/1 ip vrf forwarding vrf101 ip address 200.200.0.1 255.255.255.0 ! interface Ethernet1/2 ip vrf forwarding vrf102 ip address 201.201.201.1 255.255.255.252 ! interface ATM4/0 no ip address no atm scrambling cell-payload no atm ilmi-keepalive pvc qsaal 0/5 qsaal pvc ilmi 0/16 ilmi ! interface ATM4/0.1 tag-switching ip address 10.0.0.6 255.255.255.252 tag-switching atm vpi 2-4 tag-switching ip ! router ospf 1 log-adjacency-changes network 10.0.0.0 0.0.0.255 area 0 network 223.0.0.21 0.0.0.0 area 0 ! router rip version 2 ! address-family ipv4 vrf vrf101 version 2 redistribute bgp 1 metric 1 network 200.200.0.0 no auto-summary exit-address-family ! router bgp 1 no synchronization neighbor 125.2.2.2 remote-as 1 neighbor 125.2.2.2 update-source Loopback0 neighbor 223.0.0.3 remote-as 1 neighbor 223.0.0.3 update-source Loopback0 no auto-summary ! address-family ipv4 vrf vrf102 redistribute connected redistribute static neighbor 201.201.201.2 remote-as 69 neighbor 201.201.201.2 activate no auto-summary no synchronization exit-address-family ! address-family ipv4 vrf vrf101 redistribute rip no auto-summary no synchronization exit-address-family ! address-family vpnv4 neighbor 125.2.2.2 activate neighbor 125.2.2.2 send-community extended neighbor 223.0.0.3 activate neighbor 223.0.0.3 send-community extended no auto-summary exit-address-family !
Médine Current configuration: ! ip vrf vrf101 rd 1:101 route-target export 1:101 route-target import 1:101 ip cef ! interface Loopback1 ip vrf forwarding vrf101 ip address 11.2.2.2 255.255.255.252 ! interface ATM2/0 no ip address no atm ilmi-keepalive ! interface ATM2/0.66 tag-switching ip address 125.1.4.2 255.255.255.252 tag-switching ip ! interface Ethernet1/1 ip vrf forwarding vrf101 ip address 11.3.3.1 255.255.255.252 ! router ospf 1 network 125.1.4.0 0.0.0.3 area 0 network 125.2.2.2 0.0.0.0 area 0 ! router rip version 2 network 11.0.0.0 ! address-family ipv4 vrf vrf101 version 2 redistribute bgp 1 metric 1 network 11.0.0.0 no auto-summary exit-address-family ! router bgp 1 no synchronization neighbor 223.0.0.3 remote-as 1 neighbor 223.0.0.3 update-source Loopback0 neighbor 223.0.0.21 remote-as 1 neighbor 223.0.0.21 update-source Loopback0 ! address-family ipv4 vrf vrf101 redistribute connected redistribute static redistribute rip default-information originate no auto-summary no synchronization exit-address-family ! address-family vpnv4 neighbor 223.0.0.3 activate neighbor 223.0.0.3 send-community extended neighbor 223.0.0.21 activate neighbor 223.0.0.21 send-community extended exit-address-family !
Rapide Current configuration: ! interface Loopback0 ip address 223.0.0.12 255.255.255.255 ! interface Loopback2 ip address 7.7.7.7 255.255.255.0 ! interface FastEthernet0/1 ip address 150.150.0.2 255.255.255.0 duplex auto speed auto ! router rip version 2 redistribute static network 7.0.0.0 network 10.0.0.0 network 150.150.0.0 no auto-summary ! ip route 158.0.0.0 255.0.0.0 Null !
Damme ! interface Loopback1 ip address 6.6.6.6 255.0.0.0 ! interface FastEthernet0/0 ip address 10.200.10.14 255.255.252.0 duplex auto speed autoa ! router bgp 158 no synchronization network 6.0.0.0 network 10.200.0.0 mask 255.255.252.0 neighbor 10.200.10.3 remote-as 1 no auto-summary !
Pivrnec Current configuration: ! interface Loopback0 ip address 223.0.0.22 255.255.255.255 ! interface Loopback1 ip address 6.6.6.6 255.255.255.255 ! interface FastEthernet0/1 ip address 200.200.0.2 255.255.255.0 duplex auto speed auto ! router rip version 2 redistribute static network 6.0.0.0 network 200.200.0.0 no auto-summary ! ip route 69.0.0.0 255.0.0.0 Null0 !
Tueur ! interface Loopback2 ip address 150.150.0.1 255.255.0.0 ! interface Ethernet0/2 ip address 201.201.201.2 255.255.255.252 ! router bgp 69 no synchronization network 7.7.7.0 mask 255.255.0.0 network 150.150.0.0 network 201.201.201.0 mask 255.255.255.252 redistribute connected neighbor 201.201.201.1 remote-as 1 no auto-summary !
Purkmister Current configuration: ! interface Loopback0 ip address 11.5.5.5 255.255.255.252 ! interface FastEthernet0/1 ip address 11.3.3.2 255.255.255.252 duplex auto speed auto ! router rip version 2 network 11.0.0.0 !Commandes show
Commandes spécifiques au routage
L'Outil Interpréteur de sortie (clients enregistrés uniquement) (OIT) prend en charge certaines commandes show. Utilisez l'OIT pour afficher une analyse de la sortie de la commande show .
show ip rip database vrf
show ip bgp vpnv4 vrf
show ip route vrf
show ip route
Sur un routeur PE, la méthode de routage PE-CE (par exemple RIP, BGP ou statique) et les mises à jour PE-PE BGP indiquent la table de routage utilisée pour un VRF particulier. Vous pouvez afficher les informations RIP pour un VRF particulier :
Alcazaba#show ip rip database vrf vrf101 0.0.0.0/0 auto-summary 0.0.0.0/0 [2] via 150.150.0.2, 00:00:12, Ethernet1/1 6.0.0.0/8 auto-summary 6.6.6.6/32 redistributed [1] via 223.0.0.21, 7.0.0.0/8 auto-summary 7.7.7.0/24 [1] via 150.150.0.2, 00:00:12, Ethernet1/1 10.0.0.0/8 auto-summary 10.0.0.0/8 redistributed [1] via 125.2.2.2, 10.0.0.0/16 [1] via 150.150.0.2, 00:00:12, Ethernet1/1 10.200.8.0/22 [1] via 150.150.0.2, 00:00:12, Ethernet1/1 11.0.0.0/8 auto-summary 11.0.0.4/30 redistributed [1] via 125.2.2.2, 11.1.1.0/30 redistributed [1] via 125.2.2.2, 11.3.3.0/30 redistributed [1] via 125.2.2.2, 11.5.5.4/30 redistributed [1] via 125.2.2.2, 69.0.0.0/8 auto-summary 69.0.0.0/8 redistributed [1] via 223.0.0.21, 150.150.0.0/16 auto-summary 150.150.0.0/24 directly connected, Ethernet1/1 158.0.0.0/8 [1] via 150.150.0.2, 00:00:17, Ethernet1/1 200.200.0.0/24 auto-summary 200.200.0.0/24 redistributed [1] via 223.0.0.21,Vous pouvez également afficher les informations BGP d'un VRF particulier à l'aide de la commande show ip bgp vpnv4 vrf. Les résultats PE-PE du BGP interne (IBGP) sont indiqués par un i.
Alcazaba#show ip bgp vpnv4 vrf vrf101 BGP table version is 46, local router ID is 223.0.0.3 Status codes: s suppressed, d damped, h history, * valid, best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 1:101 (default for vrf vrf101) *i6.6.6.6/32 223.0.0.21 1 100 0 ? * 7.7.7.0/24 150.150.0.2 1 32768 ? * 10.0.0.0/16 150.150.0.2 1 32768 ? * 10.200.8.0/22 150.150.0.2 1 32768 ? *i11.2.2.0/30 125.2.2.2 0 100 0 ? *i11.3.3.0/30 125.2.2.2 0 100 0 ? *i11.5.5.4/30 125.2.2.2 1 100 0 ? *i69.0.0.0 223.0.0.21 1 100 0 ? * 150.150.0.0/24 0.0.0.0 0 32768 ? * 158.0.0.0/8 150.150.0.2 1 32768 ? *i200.200.0.0 223.0.0.21 0 100 0 ? Kozel#show ip bgp vpnv4 vrf vrf102 BGP table version is 48, local router ID is 223.0.0.21 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 1:102 (default for vrf vrf102) * i6.0.0.0 223.0.0.3 0 100 0 158 i *>i 223.0.0.3 0 100 0 158 i *> 7.7.0.0/16 201.201.201.2 0 0 69 ? * 10.200.8.0/22 201.201.201.2 0 0 69 ? * i 223.0.0.3 0 100 0 ? *>i 223.0.0.3 0 100 0 ? *> 102.102.0.0/16 201.201.201.2 0 0 69 ? *> 150.150.0.0 201.201.201.2 0 0 69 i * 201.201.201.0/30 201.201.201.2 0 0 69 i *> 0.0.0.0 0 32768 ?Vous pouvez vérifier la table de routage globale pour un VRF sur les routeurs PE et CE. Elles correspondent. Pour le routeur PE, vous devez spécifier le VRF avec la commande show ip route vrf .
Alcazaba#show ip route vrf vrf101 Codes: C - connected, S - static, I - IGRP, 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, E - EGP i - IS-IS, 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 Gateway of last resort is not set B 69.0.0.0/8 [200/1] via 223.0.0.21, 00:11:03 B 200.200.0.0/24 [200/0] via 223.0.0.21, 00:11:03 6.0.0.0/32 is subnetted, 1 subnets B 6.6.6.6 [200/1] via 223.0.0.21, 00:11:03 7.0.0.0/24 is subnetted, 1 subnets R 7.7.7.0 [120/1] via 150.150.0.2, 00:00:05, Ethernet1/1 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks R 10.0.0.0/16 [120/1] via 150.150.0.2, 00:00:05, Ethernet1/1 R 10.200.8.0/22 [120/1] via 150.150.0.2, 00:00:05, Ethernet1/1 11.0.0.0/30 is subnetted, 3 subnets B 11.3.3.0 [200/0] via 125.2.2.2, 00:07:05 B 11.2.2.0 [200/0] via 125.2.2.2, 00:07:05 B 11.5.5.4 [200/1] via 125.2.2.2, 00:07:05 150.150.0.0/24 is subnetted, 1 subnets C 150.150.0.0 is directly connected, Ethernet1/1 R 158.0.0.0/8 [120/1] via 150.150.0.2, 00:00:06, Ethernet1/1Pour Pivrnec, il s’agit de la table de routage standard. Utilisez donc la commande show ip route :
Pivrnec#show ip route Codes: C - connected, S - static, I - IGRP, 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, E - EGP i - IS-IS, 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 Gateway of last resort is not set S 69.0.0.0/8 is directly connected, Null0 223.0.0.0/32 is subnetted, 1 subnets C 223.0.0.22 is directly connected, Loopback0 C 200.200.0.0/24 is directly connected, FastEthernet0/1 6.0.0.0/32 is subnetted, 1 subnets C 6.6.6.6 is directly connected, Loopback1 7.0.0.0/24 is subnetted, 1 subnets R 7.7.7.0 [120/1] via 200.200.0.1, 00:00:23, FastEthernet0/1 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks R 10.0.0.0/16 [120/1] via 200.200.0.1, 00:00:23, FastEthernet0/1 R 10.200.8.0/22 [120/1] via 200.200.0.1, 00:00:24, FastEthernet0/1 11.0.0.0/30 is subnetted, 3 subnets R 11.3.3.0 [120/1] via 200.200.0.1, 00:00:24, FastEthernet0/1 R 11.2.2.0 [120/1] via 200.200.0.1, 00:00:25, FastEthernet0/1 R 11.5.5.4 [120/1] via 200.200.0.1, 00:00:25, FastEthernet0/1 150.150.0.0/24 is subnetted, 1 subnets R 150.150.0.0 [120/1] via 200.200.0.1, 00:00:25, FastEthernet0/1 R 158.0.0.0/8 [120/1] via 200.200.0.1, 00:00:25, FastEthernet0/1Étiquettes MPLS
Vérifiez la pile d'étiquettes utilisée pour une route particulière :
Alcazaba#show tag-switching forwarding-table vrf vrf101 11.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface None 2/91 11.5.5.4/30 0 AT4/0.1 point2point MAC/Encaps=4/12, MTU=4466, Tag Stack{2/91(vcd=69) 37} 00458847 0004500000025000Vous pouvez également utiliser les commandes normales pour afficher les allocations de balises et les relations VPI/VCI ici.
Chevauchement d'adresses
La même adresse peut être utilisée dans différents VPN sans interférence avec les autres. Dans cet exemple, l'adresse 6.6.6.6 est connectée deux fois, à Pivrnec dans le VPN 101 et à Damme dans le VPN 102. Nous pouvons vérifier ceci avec ping sur un site et debug ip icmp sur l'autre site.
Guilder#ping 6.6.6.6 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 6.6.6.6, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4 ms Damme#debug ip icmp ICMP packet debugging is on 6d22h: ICMP: echo reply sent, src 6.6.6.6, dst 201.201.201.2 6d22h: ICMP: echo reply sent, src 6.6.6.6, dst 201.201.201.2 6d22h: ICMP: echo reply sent, src 6.6.6.6, dst 201.201.201.2 6d22h: ICMP: echo reply sent, src 6.6.6.6, dst 201.201.201.2 6d22h: ICMP: echo reply sent, src 6.6.6.6, dst 201.201.201.2Exemple de sortie de débogage
Un exemple de sortie qui utilise la même configuration est disponible ici.
Informations connexes
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
16-Nov-2005 |
Première publication |