Cet exemple de configuration montre un réseau privé virtuel (VPN) de commutation multiprotocole par étiquette (MPLS) lorsque le protocole d'information de routage (RIP) est présent du côté du client.
La fonctionnalité VPN, lorsqu'elle est utilisée avec MPLS, permet à plusieurs sites d'interconnecter de manière transparente via le réseau d'un fournisseur de services. Un réseau du fournisseur de service peut prendre en charge plusieurs VPN d'IP différents. Chaque VPN IP apparaît comme un réseau privé, distinct de tous les autres réseaux. Chaque site d'un VPN envoie des paquets IP à d'autres sites du 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 Forward) dérivée et d'un ensemble d'interfaces qui utilisent la table de transfert.
Le routeur conserve un routage distinct et la table CEF pour chaque VRF. Cela empêche l'envoi d'informations en dehors du VPN et permet l'utilisation du même sous-réseau dans plusieurs VPN sans causer de problèmes d'adresse IP en double.
Le routeur utilisant le protocole BGP (Border Gateway Protocol) distribue les informations de routage VPN à l'aide des communautés étendues BGP.
Pour plus d'informations sur la propagation des mises à jour via un VPN, reportez-vous aux sections Communautés cibles de route VPN, Distribution BGP des informations de routage VPN et Transfert MPLS dans les réseaux privés virtuels MPLS.
Aucune condition préalable spécifique n'est requise pour ce document.
Nous avons développé et testé cette configuration à l'aide des versions logicielles et matérielles ci-dessous :
Routeurs PE : La fonctionnalité VPN MPLS réside dans les routeurs PE. Utilisez Feature Navigator II (clients enregistrés uniquement) pour déterminer quelles combinaisons matérielles et logicielles vous pouvez utiliser.
Routeurs CE : Utilisez n’importe quel routeur capable d’échanger des informations de routage avec son routeur PE.
Routeurs et commutateurs P : Dans ce document, des commutateurs ATM tels que MSR, BPX et MGX ont été utilisés. Cependant, comme le document se concentre sur la fonctionnalité VPN MPLS, nous aurions également pu utiliser MPLS basé sur des trames dans le coeur avec des routeurs, tels que le Cisco 12000.
Les informations présentées dans ce document ont été créées à partir de périphériques dans un environnement de laboratoire spécifique. All of the devices used in this document started with a cleared (default) configuration. Si vous travaillez dans un réseau opérationnel, assurez-vous de bien comprendre l'impact potentiel de toute commande avant de l'utiliser.
Nous avons configuré un fédérateur ATM MPLS standard en utilisant la zone 0 OSPF (Open Shortest Path First) comme protocole IGP (Interior Gateway Protocol). Nous avons configuré deux VPN différents à l'aide de ce backbone. Le premier VPN utilise RIP comme protocole de routage de périphérie client à périphérie fournisseur (CE-PE) ; l'autre VPN utilise 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 : BGP doit être utilisé comme protocole IGP VPN entre les routeurs PE, car l'utilisation de communautés étendues BGP est le seul moyen de transporter les informations de routage pour le VPN entre les routeurs PE.
Remarque : Un réseau ATM a été utilisé comme réseau fédérateur pour effectuer cette configuration. Cette configuration s’applique aux protocoles ATM (et autres). Les routeurs PE doivent être en mesure de communiquer entre eux à l’aide du réseau MPLS pour que la configuration VPN fonctionne.
Les lettres ci-dessous représentent les différents types des routeurs et de commutateurs utilisés:
P : Routeur principal du fournisseur
PE : Routeur de périphérie du fournisseur
CE : Routeur de périphérie du client
C : Routeur du client
Une configuration type illustrant ces conventions est illustrée dans le schéma ci-dessous :
Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.
Cette section vous fournit des informations pour configurer les fonctionnalités décrites dans ce document. La documentation Cisco IOS trouvée dans MPLS Virtual Private Networks décrit également cette procédure de configuration.
Remarque : Pour obtenir des informations supplémentaires sur les commandes utilisées dans ce document, utilisez l'outil de recherche de commandes IOS (clients enregistrés uniquement)
Ce document utilise la configuration réseau indiquée dans le diagramme suivant :
Les étapes ci-dessous vous aideront à configurer correctement.
Activez la commande ip cef. Si vous utilisez un routeur Cisco 7500, assurez-vous que la commande ip cef distribute est activée, le cas échéant, pour améliorer les performances sur l'ordinateur portable, une fois que MPLS est configuré.
Créez un VRF pour chaque VPN à l'aide de l'acheminement ip vrf [VPN routing | forwarding instance name]. Lors de la création des VRF, veillez à :
Spécifiez le séparateur de route correct utilisé pour ce VPN à l'aide de la commande ci-dessous. Le séparateur est utilisé pour étendre l'adresse IP et vous permet d'identifier le VPN auquel il appartient.
rd [VPN route distinguisher]
Configurez les propriétés d'importation et d'exportation pour les communautés étendues BGP à l'aide de la commande ci-dessous. Ces propriétés sont utilisées pour filtrer le processus d'importation et d'exportation.
route-target {export | import | both} [target VPN extended community]
Configurez les détails de transfert pour les interfaces respectives à l'aide de la commande ip vrf forwarding [table name] et n'oubliez pas de configurer l'adresse IP après.
Selon le protocole de routage PE-CE utilisé, effectuez une ou plusieurs des opérations suivantes :
Configurez les routes statiques comme suit :
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 vrf [VPN routing | forwarding instance name]
Une fois l’une des étapes ci-dessus ou les deux, entrez les commandes de configuration RIP normales.
Remarque : ces commandes s'appliquent uniquement aux interfaces de transfert du VRF actuel. Redistribuez le BGP correct dans RIP et n'oubliez pas de spécifier la métrique utilisée.
Déclarez les informations de voisinage BGP.
Configurez le protocole OSPF à l’aide de la nouvelle commande IOS :
router ospf process-id vrf [VPN routing | forwarding instance name]
Remarque : cette commande s'applique uniquement aux interfaces de transfert pour le VRF actuel. Redistribuez les informations de routage BGP correctes dans OSPF et spécifiez la métrique utilisée. Une fois le processus OSPF vers un VRF terminé, même si le processus OSPF n'est pas spécifié dans la ligne de commande, cet ID de processus est toujours utilisé pour ce VRF particulier.
Configurez le protocole BGP entre les routeurs PE. Il y a plusieurs façons de configurer BGP, comme utiliser les méthodes de réflecteur de route ou de confédération. La méthode illustrée ici est la configuration directe du voisin. Il est le plus simple et le moins évolutif.
Déclarez les différents voisins.
Entrez la famille d'adresses ipv4 vrf [routage VPN | forwarding instance name ] pour chaque VPN présent sur ce routeur PE. Effectuez une ou plusieurs des étapes suivantes, selon les besoins :
Redistribuez les informations de routage statique.
Redistribuez les informations de routage RIP.
Redistribuez les informations de routage OSPF.
Activez le voisinage BGP avec les routeurs de la CE.
Passez en mode address-family vpnv4 et :
Activez les voisins.
Spécifiez que la communauté étendue doit être utilisée. Ceci est obligatoire.
Dans la configuration Alcalzaba, les lignes spécifiques à la configuration VPN sont indiquées en gras.
Alcazaba |
---|
! ip vrf vrf101 rd 1:101 route-target export 1:101 route-target import 1:101 ! ip cef ! interface Loopback0 ip address 223.0.0.3 255.255.255.255 ! 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 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 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 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 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 Null0 ! |
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 ! |
Avant d'utiliser les commandes debug , référez-vous à la section Informations importantes sur les commandes Debug. Les commandes spécifiques au routage sont répertoriées ici :
show ip rip database vrf - Affiche les informations contenues dans la base de données RIP pour un VRF particulier.
show ip bgp vpnv4 vrf - Affiche les informations d'adresse VPN de la table BGP.
show ip route vrf - Affiche la table de routage IP associée à un VRF.
show ip route - Affiche toutes les routes IP statiques, ou celles installées à l'aide de la fonction de téléchargement de route AAA (authentication, Authorization, and Accounting).
Certaines commandes show sont prises en charge par l'Output Interpreter Tool (clients enregistrés uniquement), qui vous permet de voir une analyse de la sortie de la commande show.
Sur un routeur PE, la méthode de routage PE-CE, telle que RIP, BGP ou static, 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 comme suit :
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 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 dans le résultat ci-dessous.
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 ?
Vérifiez la table de routage globale pour un VRF sur les routeurs PE et CE. Ces VRF doivent correspondre. Pour le routeur PE, vous devez spécifier le VRF à l'aide de 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 - ISIS, L1 - ISIS level-1, L2 - ISIS level-2, IA - ISIS 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/1
La commande équivalente sur Pivrnec est la commande show ip route, car pour chaque routeur client (et périphérie client), il s’agit de la table de routage standard.
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 - ISIS, L1 - ISIS level-1, L2 - ISIS level-2, IA - ISIS 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
Vérifiez la pile d'étiquettes utilisée pour n'importe quelle route comme suit :
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 0004500000025000
Vous pouvez utiliser les commandes normales pour afficher les allocations de balises ainsi que l'identificateur de chemin virtuel et les relations VPI/VCI (Virtual Channel Identifier), comme indiqué dans Comment dépanner le VPN MPLS .
Vous pouvez utiliser la même adresse dans différents VPN sans interférer avec d'autres VPN. 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 cela en utilisant la commande ping sur un site et la commande 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.2
Référez-vous à Flux de paquets dans un environnement VPN MPLS pour voir un exemple de sortie utilisant la même configuration.
Il n'existe actuellement aucune information de dépannage spécifique pour cette configuration.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
19-Sep-2018 |
Première publication |