VPN à maillage intégral
Configuration d’une topologie VPN simple à maillage complet
Cet exemple montre comment configurer une configuration VPN de fournisseur de services à maillage complet simple, qui se compose des composants suivants (voir Figure 1) :
Deux VPN distincts (VPN-A et VPN-B)
Deux routeurs Provider Edge (PE), qui prennent tous deux en charge VPN-A et VPN-B
RSVP comme protocole de signalisation
Un chemin de commutation d’étiquettes (LSP) RSVP qui relie les deux routeurs PE via un routeur fournisseur (P)

Dans cette configuration, la distribution de route dans le VPN A du routeur VPN-A-Paris vers le routeur VPN-A-Tokyo se déroule comme suit :
Le routeur de périphérie client (CE) VPN-A-Paris annonce les routes vers le routeur PE Routeur A.
Le routeur A installe les routes annoncées reçues dans sa table de routage et de transfert VPN (VRF), VPN-A.inet.0.
Le routeur A crée une étiquette MPLS pour l’interface entre lui et le routeur VPN-A-Paris.
Le routeur A vérifie sa politique d’exportation VRF.
Le routeur A convertit les routes IPv4 (Internet Protocol version 4) du routeur VPN-A-Paris au format VPN IPv4 à l’aide de son séparateur de route et annonce ces routes au routeur PE C sur l’IBGP entre les deux routeurs PE.
Le routeur C vérifie sa stratégie d’importation VRF et installe toutes les routes qui correspondent à la stratégie dans sa table de routage bgp.l3vpn.0. (Tous les itinéraires qui ne correspondent pas sont ignorés.)
Le routeur C vérifie sa stratégie d’importation VRF et installe toutes les routes correspondantes dans sa table de routage VPN-A.inet.0. Les routes sont installées au format IPv4.
Le routeur C annonce ses routes au routeur CE Routeur VPN-A-Tokyo, qui les installe dans sa table de routage principale. (Pour les plates-formes de routage exécutant Junos OS, la table de routage principale est inet.0.)
Le routeur C utilise le LSP entre lui et le routeur A pour acheminer tous les paquets du routeur VPN-A-Tokyo à destination du routeur VPN-A-Paris.
La dernière section de cet exemple consolide les instructions nécessaires pour configurer la fonctionnalité VPN sur chacun des routeurs Service P illustrés à la Figure 1.
Dans cet exemple, un numéro de système autonome privé (AS) est utilisé pour le séparateur de route et la cible de route. Ce numéro n’est utilisé qu’à titre indicatif. Lorsque vous configurez des VPN, vous devez utiliser un numéro AS attribué.
Les sections suivantes expliquent comment configurer la fonctionnalité VPN sur les routeurs PE et P. Les routeurs CE n’ont aucune information sur le VPN, vous les configurez donc normalement.
- Activation d’un IGP sur les routeurs PE et P
- Activation de RSVP et MPLS sur le routeur P
- Configuration du tunnel MPLS LSP entre les routeurs PE
- Configuration d’IBGP sur les routeurs PE
- Configuration des instances de routage pour les VPN sur les routeurs PE
- Configuration d’une stratégie VPN sur les routeurs PE
- Configuration VPN simple résumée par routeur
Activation d’un IGP sur les routeurs PE et P
Pour permettre aux routeurs PE et P d’échanger des informations de routage entre eux, vous devez configurer un protocole IGP (Interior Gateway Protocol) sur tous ces routeurs ou configurer des routes statiques. Vous configurez l’IGP sur l’instance principale du processus de protocole de routage (rpd) (c’est-à-dire au niveau de la [edit protocols]
hiérarchie), et non dans l’instance de routage VPN (c’est-à-dire pas au niveau de la [edit routing-instances]
hiérarchie).
Vous configurez l’IGP de manière standard. Cet exemple de configuration n’inclut pas cette partie de la configuration.
Activation de RSVP et MPLS sur le routeur P
Sur le routeur P, routeur B, vous devez configurer RSVP et MPLS, car ce routeur existe sur le chemin MPLS LSP entre les deux routeurs PE, le routeur A et le routeur C :
[edit] protocols { rsvp { interface so-4/0/0.0; interface so-6/0/0.0; } mpls { interface so-4/0/0.0; interface so-6/0/0.0; } }
Configuration du tunnel MPLS LSP entre les routeurs PE
Dans cet exemple de configuration, RSVP est utilisé pour la signalisation VPN. Par conséquent, en plus de configurer RSVP, vous devez activer la prise en charge de l’ingénierie de trafic dans un IGP et créer un LSP MPLS pour tunneliser le trafic VPN.
Sur le routeur PE A, activez RSVP et configurez une extrémité du tunnel MPLS LSP. Dans cet exemple, la prise en charge de l’ingénierie de trafic est activée pour OSPF. Lors de la configuration du LSP MPLS, incluez interface
des instructions pour toutes les interfaces participant au MPLS, y compris les interfaces avec les routeurs PE et CE. Les instructions des interfaces entre les routeurs PE et CE sont nécessaires pour que le routeur PE puisse créer une étiquette MPLS pour l’interface privée. Dans cet exemple, la première interface
instruction configure MPLS sur l’interface connectée au LSP, et les trois autres configurent MPLS sur les interfaces qui connectent le routeur PE aux routeurs CE.
[edit] protocols { rsvp { interface so-3/0/0.0; } mpls { label-switched-path RouterA-to-RouterC { to 10.255.245.47; } interface so-3/0/0.0; interface so-6/0/0.0; interface so-6/0/1.0; interface ge-0/3/0.0; } ospf { traffic-engineering; area 0.0.0.0 { interface so-3/0/0.0; } } }
Sur le routeur PE C, activez RSVP et configurez l’autre extrémité du tunnel MPLS LSP. Là encore, la prise en charge de l’ingénierie de trafic est activée pour OSPF et vous configurez MPLS sur les interfaces des routeurs LSP et CE.
[edit] protocols { rsvp { interface so-2/0/0.0; } mpls { label-switched-path RouterC-to-RouterA { to 10.255.245.68; } interface so-2/0/0.0; interface ge-1/0/0.0; interface at-1/2/0.0; } ospf { traffic-engineering; area 0.0.0.0 { interface so-2/0/0.0; } } }
Configuration d’IBGP sur les routeurs PE
Sur les routeurs PE, configurez une session IBGP avec les propriétés suivantes :
Famille VPN : pour indiquer que la session IBGP est destinée au VPN, incluez l’instruction
family inet-vpn
.Adresse de bouclage : incluez l’instruction
local-address
spécifiant l’adresse de bouclage du routeur PE local. La session IBGP pour les VPN passe par l’adresse de bouclage. Vous devez également configurer l’interfacelo0
au niveau de la[edit interfaces]
hiérarchie. L’exemple n’inclut pas cette partie de la configuration du routeur.Neighbor address (Adresse voisine) : incluez l’instruction
neighbor
spécifiant l’adresse IP du routeur PE voisin, qui est son adresse de bouclagelo0
.
Sur le routeur PE A, configurez IBGP :
[edit] protocols { bgp { group PE-RouterA-to-PE-RouterC { type internal; local-address 10.255.245.68; family inet-vpn { unicast; } neighbor 10.255.245.47; } } }
Sur le routeur PE C, configurez IBGP :
[edit] protocols { bgp { group PE-RouterC-to-PE-RouterA { type internal; local-address 10.255.245.47; family inet-vpn { unicast; } neighbor 10.255.245.68; } } }
Configuration des instances de routage pour les VPN sur les routeurs PE
Les deux routeurs PE prennent en charge les VPN-A et les VPN-B, vous devez donc configurer deux instances de routage sur chaque routeur, une pour chaque VPN. Pour chaque VPN, vous devez définir les éléments suivants dans l’instance de routage :
Route distinguisher, qui doit être unique pour chaque instance de routage sur le routeur PE.
Il est utilisé pour distinguer les adresses d’un VPN de celles d’un autre VPN.
Type d’instance de
vrf
, qui crée la table VRF sur le routeur PE.Interfaces connectées aux routeurs CE.
Les stratégies d’importation et d’exportation VRF, qui doivent être les mêmes sur chaque routeur PE qui dessert le même VPN. À moins qu’une stratégie d’importation ne contienne qu’une
then reject
déclaration, elle doit inclure une référence à une communauté. Dans le cas contraire, lorsque vous tentez de valider la configuration, celle-ci échoue.Note:Dans cet exemple, un numéro AS privé est utilisé pour le distinguateur de route. Ce numéro n’est utilisé qu’à titre indicatif. Lorsque vous configurez des VPN, vous devez utiliser un numéro AS attribué.
Routage entre les routeurs PE et CE, qui est nécessaire pour que le routeur PE distribue les routes VPN vers et depuis les routeurs CE connectés. Vous pouvez configurer un protocole de routage (BGP, OSPF ou RIP) ou un routage statique.
Sur le routeur PE A, configurez l’instance de routage suivante pour VPN-A. Dans cet exemple, le routeur A utilise des routes statiques pour distribuer des routes vers et depuis les deux routeurs CE auxquels il est connecté.
[edit] routing-instance { VPN-A-Paris-Munich { instance-type vrf; interface so-6/0/0.0; interface so-6/0/1.0; route-distinguisher 65535:0; vrf-import VPN-A-import; vrf-export VPN-A-export; routing-options { static { route 172.16.0.0/16 next-hop so-6/0/0.0; route 172.17.0.0/16 next-hop so-6/0/1.0; } } } }
Sur le routeur PE C, configurez l’instance de routage suivante pour VPN-A. Dans cet exemple, le routeur C utilise BGP pour distribuer les routes vers et depuis le routeur CE auquel il est connecté.
[edit] routing-instance { VPN-A-Tokyo { instance-type vrf; interface ge-1/0/0.0; route-distinguisher 65535:1; vrf-import VPN-A-import; vrf-export VPN-A-export; protocols { bgp { group VPN-A-Site2 { peer-as 1; neighbor 10.12.1.2; } } } } }
Sur le routeur PE A, configurez l’instance de routage suivante pour le VPN-B. Dans cet exemple, le routeur A utilise OSPF pour distribuer les routes vers et depuis le routeur CE auquel il est connecté.
[edit] policy-options { policy-statement bgp-to-ospf { from { protocol bgp; route-filter 192.168.1.0/24 orlonger; } then accept; } } routing-instance { VPN-B-Madrid { instance-type vrf; interface ge-0/3/0.0; route-distinguisher 65535:2; vrf-import VPN-B-import; vrf-export VPN-B-export; protocols { ospf { export bgp-to-ospf; area 0.0.0.0 { interface ge-0/3/0; } } } } }
Sur le routeur PE C, configurez l’instance de routage suivante pour VPN-B. Dans cet exemple, le routeur C utilise le protocole RIP pour distribuer les routes vers et depuis le routeur CE auquel il est connecté.
[edit] policy-options { policy-statement bgp-to-rip { from { protocol bgp; route-filter 192.168.2.0/24 orlonger; } then accept; } } routing-instance { VPN-B-Osaka { instance-type vrf; interface at-1/2/0.0; route-distinguisher 65535:3; vrf-import VPN-B-import; vrf-export VPN-B-export; protocols { rip { group PE-C-to-VPN-B { export bgp-to-rip; neighbor at-1/2/0; } } } } }
Configuration d’une stratégie VPN sur les routeurs PE
Configurez les stratégies d’importation et d’exportation VPN sur chaque routeur PE afin que les routes appropriées soient installées dans les tables VRF du routeur PE. La table VRF est utilisée pour transférer des paquets au sein d’un VPN. Pour le VPN-A, la table VRF est VPN-A.inet.0, et pour le VPN-B.inet.0.
Dans la stratégie VPN, vous configurez également les communautés cibles VPN.
Dans l’exemple suivant, un numéro AS privé est utilisé pour la cible de route. Ce numéro n’est utilisé qu’à titre indicatif. Lorsque vous configurez des VPN, vous devez utiliser un numéro AS attribué. Les qualificateurs de stratégie présentés dans cet exemple sont uniquement ceux nécessaires au fonctionnement du VPN. Vous pouvez configurer des qualificateurs supplémentaires, si nécessaire, pour toutes les stratégies que vous configurez.
Sur le routeur PE A, configurez les stratégies d’importation et d’exportation VPN suivantes :
[edit] policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol static; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol ospf; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
Sur le routeur PE C, configurez les stratégies d’importation et d’exportation VPN suivantes :
[edit] policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol bgp; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol rip; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
Pour appliquer les stratégies VPN aux routeurs, incluez les vrf-export
instructions et vrf-import
lorsque vous configurez l’instance de routage. Pour les deux VPN, les stratégies d’importation et d’exportation VRF gèrent la distribution du routage sur la session IBGP exécutée entre les routeurs PE.
Pour appliquer les stratégies VPN sur le routeur PE A, incluez les instructions suivantes :
[edit] routing-instance { VPN-A-Paris-Munich { vrf-import VPN-A-import; vrf-export VPN-A-export; } VPN-B-Madrid { vrf-import VPN-B-import; vrf-export VPN-B-export; } }
Pour appliquer les stratégies VPN sur le routeur PE C, incluez les instructions suivantes :
[edit] routing-instance { VPN-A-Tokyo { vrf-import VPN-A-import; vrf-export VPN-A-export; } VPN-B-Osaka { vrf-import VPN-B-import; vrf-export VPN-B-export; } }
Configuration VPN simple résumée par routeur
Routeur A (routeur PE)
Instance de routage pour VPN-A
routing-instance { VPN-A-Paris-Munich { instance-type vrf; interface so-6/0/0.0; interface so-6/0/1.0; route-distinguisher 65535:0; vrf-import VPN-A-import; vrf-export VPN-A-export; } }
Protocole de routage d’instance
routing-options { static { route 172.16.0.0/16 next-hop so-6/0/0.0; route 172.17.0.0/16 next-hop so-6/0/1.0; } }
Instance de routage pour VPN-B
routing-instance { VPN-B-Madrid { instance-type vrf; interface ge-0/3/0.0; route-distinguisher 65535:2; vrf-import VPN-B-import; vrf-export VPN-B-export; } }
Protocole de routage d’instance
protocols { ospf { area 0.0.0.0 { interface ge-0/3/0; } } }
Instance de protocole principale
protocols { }
Activer RSVP
rsvp { interface so-3/0/0.0; }
Configurer un LSP MPLS
mpls { label-switched-path RouterA-to-RouterC { to 10.255.245.47; } interface so-3/0/0.0; interface so-6/0/0.0; interface so-6/0/1.0; interface ge-0/3/0.0; }
Configurer IBGP
bgp { group PE-RouterA-to-PE-RouterC { type internal; local-address 10.255.245.68; family inet-vpn { unicast; } neighbor 10.255.245.47; } }
Configurer OSPF pour la prise en charge de l’ingénierie de trafic
ospf { traffic-engineering; area 0.0.0.0 { interface so-3/0/0.0; } }
Configurer la stratégie VPN
policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol static; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol ospf; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
Routeur B (routeur P)
Instance de protocole principale
protocols { }
Activer RSVP
rsvp { interface so-4/0/0.0; interface so-6/0/0.0; }
Activer MPLS
mpls { interface so-4/0/0.0; interface so-6/0/0.0; }
Routeur C (routeur PE)
Instance de routage pour VPN-A
routing-instance { VPN-A-Tokyo { instance-type vrf; interface ge-1/0/0.0; route-distinguisher 65535:1; vrf-import VPN-A-import; vrf-export VPN-A-export; } }
Protocole de routage d’instance
protocols { bgp { group VPN-A-Site2 { peer-as 1; neighbor 10.12.1.2; } } }
Instance de routage pour VPN-B
VPN-B-Osaka { instance-type vrf; interface at-1/2/0.0; route-distinguisher 65535:3; vrf-import VPN-B-import; vrf-export VPN-B-export; }
Protocole de routage d’instance
protocols { rip { group PE-C-to-VPN-B { neighbor at-1/2/0; } } }
Instance de protocole principale
protocols { }
Activer RSVP
rsvp { interface so-2/0/0.0; }
Configurer un LSP MPLS
mpls { label-switched-path RouterC-to-RouterA { to 10.255.245.68; } interface so-2/0/0.0; interface ge-1/0/0.0; interface at-1/2/0.0; }
Configurer IBGP
bgp { group PE-RouterC-to-PE-RouterA { type internal; local-address 10.255.245.47; family inet-vpn { unicast; } neighbor 10.255.245.68; } }
Configurer OSPF pour la prise en charge de l’ingénierie de trafic
ospf { traffic-engineering; area 0.0.0.0 { interface so-2/0/0.0; } }
Configurer la stratégie VPN
policy-options { policy-statement VPN-A-import { term a { from { protocol bgp; community VPN-A; } then accept; } term b { then reject; } } policy-statement VPN-A-export { term a { from protocol bgp; then { community add VPN-A; accept; } } term b { then reject; } } policy-statement VPN-B-import { term a { from { protocol bgp; community VPN-B; } then accept; } term b { then reject; } } policy-statement VPN-B-export { term a { from protocol rip; then { community add VPN-B; accept; } } term b { then reject; } } community VPN-A members target:65535:4; community VPN-B members target:65535:5; }
Configuration d’une topologie VPN à maillage complet avec des réflecteurs de route
Cet exemple est une variante de l’exemple de topologie VPN à maillage complet (décrit dans Configuration d’une topologie VPN à maillage complet simple) dans lequel l’un des routeurs PE est un réflecteur de route BGP. Dans cette variante, le routeur C dans Configuration d’une topologie VPN simple à maillage complet est un réflecteur de route. La seule modification apportée à sa configuration est que vous devez inclure l’instruction cluster
lors de la configuration du groupe BGP :
[edit] protocols { bgp { group PE-RouterC-to-PE-RouterA { type internal; local-address 10.255.245.47; family inet-vpn { unicast; } neighbor 10.255.245.68; cluster 4.3.2.1; } } }