SUR CETTE PAGE
Exemple : configuration d’un EVPN avec la solution IRB sur les commutateurs EX9200
Cet exemple montre comment configurer une solution de routage et de pontage intégrés (IRB) dans un déploiement EVPN (Ethernet VPN).
Exigences
Cet exemple utilise les composants matériels et logiciels suivants :
-
Deux commutateurs EX9200 configurés en tant que routeurs PE
-
Junos OS version 14.2 ou ultérieure s’exécutant sur tous les routeurs PE
Avant de commencer :
-
Configurez les interfaces de commutation.
-
Configurez OSPF ou tout autre protocole IGP.
-
Configurez BGP.
-
Configurez LDP.
-
Configurez le MPLS.
Vue d’ensemble
Dans une solution EVPN, plusieurs VLAN peuvent être définis au sein d’une instance EVPN particulière, et une ou plusieurs instances EVPN peuvent être associées à un seul VRF VPN de couche 3. En général, chaque locataire de datacenter se voit attribuer un VRF (Virtual Route Forwarding) VPN de couche 3 unique, bien que le locataire puisse comprendre une ou plusieurs instances EVPN ou VLAN par instance EVPN.
Pour prendre en charge ce facteur de flexibilité et d’évolutivité, la solution EVPN prend en charge les interfaces IRB sur les commutateurs EX9200 afin de faciliter le transfert optimal de couche 2 et de couche 3 ainsi que la mobilité des machines virtuelles. Les interfaces IRB sont configurées sur chaque VLAN configuré, y compris le VLAN par défaut d’une instance EVPN.
L’IRB permet d’effectuer une commutation de couche 2 et un routage de couche 3 à l’intérieur d’un seul nœud, évitant ainsi les sauts supplémentaires pour le trafic inter-sous-réseau. La solution EVPN IRB élimine le problème de passerelle par défaut grâce à la synchronisation MAC et IP de la passerelle, et évite le problème de routage triangulaire avec l’interconnectabilité de couche 3 en créant des routes hôtes IP pour les machines virtuelles (VM) dans les VRF des locataires.
La configuration
Procédure
Configuration rapide de la CLI
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans le CLI au niveau de la [edit] hiérarchie.
CE1
set interfaces ge-1/1/7 vlan-tagging set interfaces ge-1/1/7 unit 0 vlan-id 10 set interfaces ge-1/1/7 unit 0 family inet address 10.0.0.1/24 set routing-options static route 198.51.100.0/24 next-hop 10.0.0.251
PE1
set interfaces ge-1/0/8 unit 0 family inet address 192.0.2.1/24 set interfaces ge-1/0/8 unit 0 family mpls set interfaces ge-1/1/8 flexible-vlan-tagging set interfaces ge-1/1/8 encapsulation flexible-ethernet-services set interfaces ge-1/1/8 unit 0 encapsulation vlan-bridge set interfaces ge-1/1/8 unit 0 vlan-id 10 set interfaces irb unit 0 family inet address 10.0.0.251/24 set interfaces lo0 unit 0 family inet address 203.0.113.1/32 set routing-options router-id 203.0.113.1 set routing-options autonomous-system 100 set routing-options forwarding-table chained-composite-next-hop ingress evpn set protocols ldp interface all set protocols ldp interface fxp0.0 disable set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 203.0.113.1 set protocols bgp group ibgp family evpn signaling set protocols bgp group ibgp neighbor 203.0.113.2 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set routing-instances evpna instance-type evpn set routing-instances evpna vlan-id 10 set routing-instances evpna interface ge-1/1/8.0 set routing-instances evpna l3-interface irb.0 set routing-instances evpna route-distinguisher 203.0.113.1:100 set routing-instances evpna vrf-target target:100:100 set routing-instances evpna protocols evpn interface ge-1/1/8.0 set routing-instances vrf instance-type vrf set routing-instances vrf interface irb.0 set routing-instances vrf route-distinguisher 203.0.113.1:300 set routing-instances vrf vrf-target target:100:300 set routing-instances vrf vrf-table-label
PE2
set interfaces ge-2/0/8 unit 0 family inet address 192.0.2.2/24 set interfaces ge-2/0/8 unit 0 family mpls set interfaces ge-2/1/8 flexible-vlan-tagging set interfaces ge-2/1/8 encapsulation flexible-ethernet-services set interfaces ge-2/1/8 unit 0 encapsulation vlan-bridge set interfaces ge-2/1/8 unit 0 vlan-id 20 set interfaces irb unit 0 family inet address 198.51.100.251/24 set interfaces lo0 unit 0 family inet address 203.0.113.2/32 set routing-options router-id 203.0.113.2 set routing-options autonomous-system 100 set routing-options forwarding-table chained-composite-next-hop ingress evpn set protocols ldp interface all set protocols ldp interface fxp0.0 disable set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 203.0.113.2 set protocols bgp group ibgp family evpn signaling set protocols bgp group ibgp neighbor 203.0.113.1 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set routing-instances evpna instance-type evpn set routing-instances evpna vlan-id 20 set routing-instances evpna interface ge-2/1/8.0 set routing-instances evpna l3-interface irb.0 set routing-instances evpna route-distinguisher 203.0.113.2:100 set routing-instances evpna vrf-target target:200:100 set routing-instances evpna protocols evpn interface ge-2/1/8.0 set routing-instances vrf instance-type vrf set routing-instances vrf interface irb.0 set routing-instances vrf route-distinguisher 203.0.113.2:300 set routing-instances vrf vrf-target target:200:300 set routing-instances vrf vrf-table-label
CE2
set interfaces ge-2/1/7 unit 0 vlan-id 20 set interfaces ge-2/1/7 unit 0 family inet address 198.51.100.2/24 set routing-options static route 10.0.0.0/24 next-hop 198.51.100.251
Procédure étape par étape
L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour plus d’informations sur la navigation dans la CLI, consultez Utilisation de l’éditeur CLI en mode Configuration.
Pour configurer le routeur PE1 :
Répétez cette procédure pour le routeur PE2, après avoir modifié les noms d’interface, les adresses et d’autres paramètres appropriés.
-
Configurez les interfaces PE1 du routeur.
[edit interfaces]user@PE1# set ge-1/0/8 unit 0 family inet address 192.0.2.1/24 user@PE1# set ge-1/0/8 unit 0 family mpls user@PE1# set ge-1/1/8 flexible-vlan-tagging user@PE1# set ge-1/1/8 encapsulation flexible-ethernet-services user@PE1# set ge-1/1/8 unit 0 encapsulation vlan-bridge user@PE1# set ge-1/1/8 unit 0 vlan-id 10 user@PE1# set irb unit 0 family inet address 10.0.0.251/24 user@PE1# set lo0 unit 0 family inet address 203.0.113.1/32 -
Définissez l’ID routeur et le numéro de système autonome pour le routeur PE1.
[edit routing-options]user@PE1# set router-id 203.0.113.1 user@PE1# set autonomous-system 100 -
Configurez le saut suivant composite chaîné pour EVPN.
[edit routing-options]user@PE1# set forwarding-table chained-composite-next-hop ingress evpn -
Activez LDP sur toutes les interfaces du routeur PE1, à l’exception de l’interface de gestion.
[edit protocols]user@PE1# set ldp interface all user@PE1# set ldp interface fxp0.0 disable -
Activez le MPLS sur toutes les interfaces du routeur PE1, à l’exception de l’interface de gestion.
[edit protocols]user@PE1# set mpls interface all user@PE1# set mpls mpls interface fxp0.0 disable -
Configurez le groupe BGP pour le routeur PE1.
[edit protocols]user@PE1# set bgp group ibgp type internal -
Attribuez des adresses locales et voisines au groupe ibgp BGP pour que le routeur PE1 s’apparie avec le routeur PE2.
[edit protocols]user@PE1# set bgp group ibgp local-address 203.0.113.1 user@PE1# set bgp group ibgp neighbor 203.0.113.2 -
Incluez les informations d’accessibilité de la couche réseau (NLRI) de signalisation EVPN au groupe BGP ibgp.
[edit protocols]user@PE1# set bgp group ibgp family evpn signaling -
Configurez OSPF sur toutes les interfaces du routeur PE1, à l’exception de l’interface de gestion.
[edit protocols]user@PE1# set ospf area 0.0.0.0 interface all user@PE1# set ospf area 0.0.0.0 interface fxp0.0 disable -
Configurez l’instance de routage EVPN.
[edit routing-instances] user@PE1# set evpna instance-type evpn
-
Définissez l’identifiant VLAN du domaine de pontage dans l’instance de routage evpna.
[edit routing-instances] user@PE1# set evpna vlan-id 10
-
Configurez le nom de l’interface pour l’instance de routage evpna.
[edit routing-instances] user@PE1# set evpna interface ge-1/1/8.0
-
Configurez l’interface IRB en tant qu’interface de routage pour l’instance de routage evpna.
[edit routing-instances] user@PE1# set evpna l3-interface irb.0
-
Configurez le distingueur de route pour l’instance de routage evpna.
[edit routing-instances] user@PE1# set evpna route-distinguisher 203.0.113.1:100
-
Configurez la communauté cible VRF (VPN Routing and Forwarding) pour l’instance de routage evpna.
[edit routing-instances] user@PE1# set evpna vrf-target target:100:100
-
Attribuez le nom de l’interface qui relie le site PE1 au VPN.
[edit routing-instances] user@PE1# set evpna protocols evpn interface ge-1/1/8.0
-
Configurez l’instance de routage VRF.
[edit routing-instances] user@PE1# set vrf instance-type vrf
-
Configurez l’interface IRB en tant qu’interface de routage pour l’instance de routage vrf.
[edit routing-instances] user@PE1# set vrf interface irb.0
-
Configurez le distinguisher de route pour l’instance de routage vrf.
[edit routing-instances] user@PE1# set vrf route-distinguisher 203.0.113.1:300
-
Configurez l’étiquette VRF pour l’instance de routage VRF.
[edit routing-instances] user@PE1# set vrf vrf-table-label
Résultats
En mode configuration, confirmez votre configuration en entrant les show interfacescommandes , show routing-optionsshow protocols, , et show routing-instances . Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.
user@PE1# show interfaces
ge-1/0/8 {
unit 0 {
family inet {
address 192.0.2.1/24;
}
family mpls;
}
}
ge-1/1/8 {
flexible-vlan-tagging;
encapsulation flexible-ethernet-services;
unit 0 {
encapsulation vlan-bridge;
vlan-id 10;
}
}
irb {
unit 0 {
family inet {
address 10.0.0.251/24;
}
}
}
lo0 {
unit 0 {
family inet {
address 203.0.113.1/32 {
}
}
}
}
user@PE1# show routing-options
router-id 203.0.113.1;
autonomous-system 100;
forwarding-table {
chained-composite-next-hop {
ingress {
evpn;
}
}
}
user@PE1# show protocols
ldp {
interface all;
interface fxp0.0 {
disable;
}
}
mpls {
interface all;
interface fxp0.0 {
disable;
}
}
bgp {
group ibgp {
type internal;
local-address 203.0.113.1;
family evpn {
signaling;
}
neighbor 203.0.113.2;
}
}
ospf {
area 0.0.0.0 {
interface all;
interface fxp0.0 {
disable;
}
}
}
user@PE1# show routing-instances
evpna {
instance-type evpn;
vlan-id 10;
interface ge-1/1/8.0;
l3-interface irb.0;
route-distinguisher 203.0.113.1:100;
vrf-target target:100:100;
protocols {
evpn {
interface ge-1/1/8.0;
}
}
}
vrf {
instance-type vrf;
interface irb.0;
route-distinguisher 203.0.113.1:300;
vrf-target target:100:300;
vrf-table-label;
}
Vérification
Vérifiez que la configuration fonctionne correctement.
- Vérification des MAC locaux de l’IRB
- Vérification des MAC IRB distants
- Vérification des adresses IP locales de l’IRB
- Vérification des adresses IP IRB distantes
- Vérification du transfert inter-sous-réseau CE-CE
Vérification des MAC locaux de l’IRB
Objet
Vérifier que les CCM locaux de l’IRB sont appris de L2ALD.
Mesures à prendre
Sur le routeur PE1, déterminez l’adresse MAC de l’interface IRB locale.
À partir du mode opérationnel, exécutez la show interfaces irb extensive | match "Current address" commande.
user@PE1> show interfaces irb extensive | match "Current address" Current address: a8:d0:e5:54:0d:10, Hardware address: a8:d0:e5:54:0d:10
À partir du mode opérationnel, exécutez la show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10" commande.
user@PE1> show route table evpna.evpn.0 extensive
| find "a8:d0:e5:54:0d:10"
2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10/384 (1 entry, 1 announced)
TSI:
Page 0 idx 0, (group PE type Internal) Type 1 val 0x2736568 (adv_entry)
Advertised metrics:
Flags: Nexthop Change
Nexthop: Self
Localpref: 100
AS path: [100] I
Communities: target:100:100 evpn-default-gateway
Path 2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10 Vector len 4. Val: 0
*EVPN Preference: 170
Next hop type: Indirect
Address: 0x26f8354
Next-hop reference count: 6
Protocol next hop: 10.255.0.1
Indirect next hop: 0x0 - INH Session ID: 0x0
State: <Active Int Ext>
Age: 23:29:08
Validation State: unverified
Task: evpna-evpn
Announcement bits (1): 1-BGP_RT_Background
AS path: I
Communities: evpn-default-gateway
Route Label: 299776
Signification
La route MAC uniquement pour l’interface IRB locale apparaît dans la table de routage d’instance EVPN sur le routeur PE1 et est apprise à partir d’EVPN et balisée avec la communauté étendue de passerelle par défaut.
Vérification des MAC IRB distants
Objet
Vérifiez que les MAC IRB distants sont apprises à partir de BGP.
Mesures à prendre
Sur le routeur PE1, déterminez l’adresse MAC de l’interface IRB locale.
À partir du mode opérationnel, exécutez la show interfaces irb extensive | match "Current address" commande.
user@PE1> show interfaces irb extensive | match "Current address" Current address: a8:d0:e5:54:0d:10, Hardware address: a8:d0:e5:54:0d:10
Sur le routeur PE2, vérifiez que les MAC IRB distants sont bien appris.
À partir du mode opérationnel, exécutez la show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10" commande.
user@PE2> show route table evpna.evpn.0 extensive
| find "a8:d0:e5:54:0d:10"
2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10/384 (1 entry, 1 announced)
*BGP Preference: 170/-101
Route Distinguisher: 2.91.223.24:100
Next hop type: Indirect
Address: 0x26f8d6c
Next-hop reference count: 10
Source: 10.255.0.1
Protocol next hop: 10.255.0.1
Indirect next hop: 0x2 no-forward INH Session ID: 0x0
State: <Secondary Active Int Ext>
Local AS: 100 Peer AS: 100
Age: 23:22:17 Metric2: 1
Validation State: unverified
Task: BGP_100.10.255.0.1
Announcement bits (1): 0-evpna-evpn
AS path: I
Communities: target:100:100 evpn-default-gateway
Import Accepted
Route Label: 299776
Localpref: 100
Router ID: 10.255.0.1
Primary Routing Table bgp.evpn.0
Indirect next hops: 1
Protocol next hop: 10.255.0.1 Metric: 1
Indirect next hop: 0x2 no-forward INH Session ID: 0x0
Indirect path forwarding next hops: 1
Next hop type: Router
Next hop: 1.0.0.1 via ge-1/0/8.0
Session Id: 0x1
10.255.0.1/32 Originating RIB: inet.3
Metric: 1 Node path count: 1
Forwarding nexthops: 1
Nexthop: 1.0.0.1 via ge-1/0/8.0
Signification
La route MAC uniquement pour l’interface IRB distante apparaît dans la table de routage d’instance EVPN sur le routeur PE2 et est apprise de BGP et balisée avec la communauté étendue de passerelle par défaut.
Vérification des adresses IP locales de l’IRB
Objet
Vérifier que les adresses IP locales de l’IRB sont apprises localement par la SPR.
Mesures à prendre
Sur le routeur PE1, déterminez les adresses MAC et IP de l’interface IRB locale.
À partir du mode opérationnel, exécutez la show interfaces irb extensive | match "Current address" commande.
user@PE1> show interfaces irb extensive | match "Current address" Current address: a8:d0:e5:54:0d:10, Hardware address: a8:d0:e5:54:0d:10
À partir du mode opérationnel, exécutez la show interfaces irb.0 terse | match inet commande.
user@PE1> show interfaces irb.0 terse | match inet irb.0 up up inet 10.0.0.251/24
À partir du mode opérationnel, exécutez la show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10::10.0.0.251" commande.
user@PE2> show route table evpna.evpn.0 extensive
| find "a8:d0:e5:54:0d:10::10.0.0.251"
2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10::10.0.0.251/384 (1 entry, 1 announced)
TSI:
Page 0 idx 0, (group PE type Internal) Type 1 val 0x27365a0 (adv_entry)
Advertised metrics:
Flags: Nexthop Change
Nexthop: Self
Localpref: 100
AS path: [100] I
Communities: target:100:100 evpn-default-gateway
Path 2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10::10.0.0.251 Vector len 4. Val: 0
*EVPN Preference: 170 <<<<<
Next hop type: Indirect
Address: 0x26f8354
Next-hop reference count: 6
Protocol next hop: 10.255.0.1
Indirect next hop: 0x0 - INH Session ID: 0x0
State: <Active Int Ext>
Age: 23:48:46
Validation State: unverified
Task: evpna-evpn
Announcement bits (1): 1-BGP_RT_Background
AS path: I
Communities: evpn-default-gateway
Route Label: 299776
Signification
La route MAC plus IP pour l’interface IRB locale apparaît dans la table de routage d’instance EVPN sur le routeur PE1 et est apprise à partir d’EVPN et balisée avec la communauté étendue de passerelle par défaut.
Vérification des adresses IP IRB distantes
Objet
Vérifiez que les adresses IP IRB distantes sont apprises à partir de BGP.
Mesures à prendre
Sur le routeur PE1, déterminez les adresses MAC et IP de l’interface IRB locale.
À partir du mode opérationnel, exécutez la show interfaces irb extensive | match "Current address" commande.
user@PE1> show interfaces irb extensive | match "Current address" Current address: a8:d0:e5:54:0d:10, Hardware address: a8:d0:e5:54:0d:10
À partir du mode opérationnel, exécutez la show interfaces irb.0 terse | match inet commande.
user@PE1> show interfaces irb.0 terse | match inet irb.0 up up inet 10.0.0.251/24
Sur le routeur PE2, vérifiez que les adresses IP IRB distantes sont bien apprises.
À partir du mode opérationnel, exécutez la show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10::10.0.0.251" commande.
user@PE2> show route table evpna.evpn.0 extensive
| find "a8:d0:e5:54:0d:10::10.0.0.251"
2:10.255.0.1:100::0::100::a8:d0:e5:54:0d:10::10.0.0.251/384 (1 entry, 1 announced)
*BGP Preference: 170/-101
Route Distinguisher: 2.91.223.216:100
Next hop type: Indirect
Address: 0x26f8d6c
Next-hop reference count: 10
Source: 10.255.0.1
Protocol next hop: 10.255.0.1
Indirect next hop: 0x2 no-forward INH Session ID: 0x0
State: <Secondary Active Int Ext>
Local AS: 100 Peer AS: 100
Age: 23:56:36 Metric2: 1
Validation State: unverified
Task: BGP_100.10.255.0.1
Announcement bits (1): 0-evpna-evpn
AS path: I
Communities: target:100:100 evpn-default-gateway
Import Accepted
Route Label: 299776
Localpref: 100
Router ID: 10.255.0.1
Primary Routing Table bgp.evpn.0
Indirect next hops: 1
Protocol next hop: 10.255.0.1 Metric: 1
Indirect next hop: 0x2 no-forward INH Session ID: 0x0
Indirect path forwarding next hops: 1
Next hop type: Router
Next hop: 1.0.0.1 via ge-1/0/8.0
Session Id: 0x1
10.255.0.1/32 Originating RIB: inet.3
Metric: 1 Node path count: 1
Forwarding nexthops: 1
Nexthop: 1.0.0.1 via ge-1/0/8.0
Signification
La route MAC plus IP de l’interface IRB distante apparaît dans la table de routage d’instance EVPN sur le routeur PE2 et est balisée avec la communauté étendue de passerelle par défaut.
Vérification du transfert inter-sous-réseau CE-CE
Objet
Vérifiez le transfert entre sous-réseaux entre les routeurs CE1 et CE2.
Mesures à prendre
À partir du mode opérationnel, exécutez la show route table inet.0 commande.
user@CE1> show route table inet.0
inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
0.0.0.0/0 *[Static/5] 00:15:09
> to 10.0.0.251 via ge-1/1/7.0
10.0.0.0/24 *[Direct/0] 1d 23:24:30
> via ge-1/1/7.0
10.0.0.1/32 *[Local/0] 1d 23:24:38
Local via ge-1/1/7.0
À partir du mode opérationnel, exécutez la ping commande.
user@CE1> ping 198.51.100.2 interval 0.1 count 10 PING 198.51.100.2 (20.0.0.2): 56 data bytes 64 bytes from 198.51.100.2: icmp_seq=0 ttl=63 time=0.919 ms 64 bytes from 198.51.100.2: icmp_seq=1 ttl=63 time=0.727 ms 64 bytes from 198.51.100.2: icmp_seq=2 ttl=63 time=0.671 ms 64 bytes from 198.51.100.2: icmp_seq=3 ttl=63 time=0.671 ms 64 bytes from 198.51.100.2: icmp_seq=4 ttl=63 time=0.666 ms 64 bytes from 198.51.100.2: icmp_seq=5 ttl=63 time=0.704 ms 64 bytes from 198.51.100.2: icmp_seq=6 ttl=63 time=0.763 ms 64 bytes from 198.51.100.2: icmp_seq=7 ttl=63 time=0.750 ms 64 bytes from 198.51.100.2: icmp_seq=8 ttl=63 time=12.967 ms 64 bytes from 198.51.100.2: icmp_seq=9 ttl=63 time=0.752 ms --- 198.51.100.2 ping statistics --- 10 packets transmitted, 10 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.666/1.959/12.967/3.670 ms
Signification
Le ping du routeur CE1 au routeur CE2 est réussi.