Etherchannel & Rapid per VLAN Spanning Tree (Rapid PVST+)
Assurer la haute disponibilité et la tolérence aux pannes est une guerre de tous les jours afin d'éviter une rupture totale de services dans une architecture réseau.
Dans cet atélier, nous allons combiner des techonologies d'agrégation de liens PAgP & LACP, à l'algorithme Spanning Tree qui permet d'éviter des boucles infinies dans un réseau tout en garantissant une architecture redondante.
Architecture
Mise au point
- Le switch core sera le serveur dhcp de différents subnets : vlan 10 & vlan 20 ;
- Les vlan sont éparpillés sur les switchs d'accès. Comme dans la vie réelle 🤩 ;
- Le core sera le root primary pour le vlan 10 et root secondary pour le vlan 20 ;
- Le sw_access-2 sera le root primary pour le vlan 20 et root secondary pour le vlan 10 ;
- Nous utiliserons la version améliorée de spanning Tree, Rapid PVST+ ;
Mise en œuvre
Créer les vlan sur les trois switchs
vlan 10
vlan 20
Configuration du core
Config dhcp et des interfaces vlan sur le core
/image%2F3625927%2F20231018%2Fob_5d2a8f_z.png)
Config dhcp
!
ip dhcp pool LAN10
network 10.10.10.0 255.255.255.0
default-router 10.10.10.254
dns-server 8.8.8.8
!
ip dhcp pool LAN20
network 20.20.20.0 255.255.255.0
default-router 20.20.20.254
dns-server 8.8.8.8
!
Pour le spanning tree, nous utiliserons la version rapid et le core sera root primary pour le vlan 10, et root secondary pour le vlan 20
Activer cette version sur tous les switchs. En mode configuration globale
spanning-tree mode rapid-pvst
sw_core(config)#spanning-tree vlan 10 root primary
sw_core(config)#spanning-tree vlan 20 root secondary
Faire l'inverse sur l'un des switch d'accès. J'ai préféré le sw_access-2
sw_access-2(config)#spanning-tree vlan 20 root primary
sw_access-2(config)#spanning-tree vlan 10 root secondary
Config vlan et affectation des ports dans leur vlan respectifs
Pour les ports d'interco entre switchs, il faut activer activer le Trunk non seulement sur les LAG, mais aussi sur les ports constituant ces LAG.
Cas du Core
Port-channel 1 , vers le sw_access-1
sw_core(config)#int range g1/0,g1/1
sw_core(config-if-range)#switchport trunk encapsulation dot1q
sw_core(config-if-range)#switchport mode trunk
sw_core(config-if-range)#channel-group 1 mode active
Creating a port-channel interface Port-channel 1
sw_core(config-if-range)#no sh
Port-channel 3, vers sw_access-2
sw_core(config)#int range g1/2,g1/3
sw_core(config-if-range)#switchport trunk encapsulation dot1q
sw_core(config-if-range)#switchport mode trunk
sw_core(config-if-range)#channel-group 3 mode desirable
Creating a port-channel interface Port-channel 3
sw_core(config-if-range)#no sh
sw_core(config-if-range)#
Maintenant activer le Trunk sur les po1 & po3
sw_core(config)#int range po1,po3
sw_core(config-if-range)#switchport trunk encapsulation dot1q
sw_core(config-if-range)#switchport mode trunk
sw_core(config-if-range)#no sh
Faire de même pour les switchs d'accès tout en respectant les infos sur l'architecture.
La config des ports physiques et logiques du sw_access-1
!
interface GigabitEthernet1/0
switchport trunk encapsulation dot1q
switchport mode trunk
media-type rj45
negotiation auto
channel-group 1 mode active
!
interface GigabitEthernet1/1
switchport trunk encapsulation dot1q
switchport mode trunk
media-type rj45
negotiation auto
channel-group 1 mode active
!
interface Port-channel1
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Port-channel2
switchport trunk encapsulation dot1q
switchport mode trunk
end
sw_access-1#
La config des ports physiques et logiques du sw_access-2
!
interface GigabitEthernet1/2
switchport trunk encapsulation dot1q
switchport mode trunk
media-type rj45
negotiation auto
channel-group 3 mode auto
!
interface GigabitEthernet1/3
switchport trunk encapsulation dot1q
switchport mode trunk
media-type rj45
negotiation auto
channel-group 3 mode auto
!
interface GigabitEthernet3/1
switchport trunk encapsulation dot1q
switchport mode trunk
media-type rj45
negotiation auto
channel-group 2 mode active
!
interface GigabitEthernet3/2
switchport trunk encapsulation dot1q
switchport mode trunk
media-type rj45
negotiation auto
channel-group 2 mode active
!
interface Port-channel2
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Port-channel3
switchport trunk encapsulation dot1q
switchport mode trunk
end
sw_access-2#
Résultat :
Sur le core
/image%2F3625927%2F20231018%2Fob_a7c069_3.png)
Comme nous l'avions programmé, il est root primary pour le vlan 10, et root secondary pour le vlan 20. Et c'est la version rapid PVST+ qui est activée.
Pour le sw_access-2
/image%2F3625927%2F20231018%2Fob_d43262_4.png)
Celui-ci est root primary pour le vlan 20 et root secondary pour le vlan 10. Donc tous ses ports pour le vlan20 ont le rôle Designed Port (dp) donc en état Forwarding.
En ce qui concerne les infos Etherchannel
Sur le Core
/image%2F3625927%2F20231018%2Fob_9acd1f_5.png)
Sur le sw1
/image%2F3625927%2F20231018%2Fob_a827dc_6.png)
Le sw2
/image%2F3625927%2F20231018%2Fob_2668b4_7.png)
Nous avons utilisé les deux protocole de distribution : PAgP qui est propre à cisco & LACP qui est un standard !!!
Config des ports d'accès
Voici un exemple sur le sw-access-1
!
interface GigabitEthernet0/1
switchport access vlan 10
switchport mode access
media-type rj45
negotiation auto
spanning-tree portfast edge
end
Faire de même pour les autres ports et ceux du sw_access-2 en fontion des vlans respectifs.
Nous avons utilisé le paramètre portfast de spanning-tree pour éviter que ces ports d'accès passent successivement des états : Disable, Blocking, Listening, Learning et Forwarding, qui prendrait en tout 50s.
Voyons ce qui se passe sur les PC
/image%2F3625927%2F20231018%2Fob_b77b84_8.png)
Pour l'autre vlan
/image%2F3625927%2F20231018%2Fob_2ce1bf_9.png)
Nous allons tester l'algorithme
Voici l'état des ports Etherchannel sur le core à l'instant. Ils sont tous up
/image%2F3625927%2F20231018%2Fob_24805d_a.png)
La liste des ports bloqués par l'algorithme pour éviter une tempête de diffusion
/image%2F3625927%2F20231018%2Fob_c231ed_b.png)
Nous allons fermer un LAG sur le core
/image%2F3625927%2F20231018%2Fob_241e78_c.png)
La liste à nouveau
/image%2F3625927%2F20231018%2Fob_6e232e_d.png)
Remarque : Contrairement aux paquets IP, les trames n'ont pas de TTL donc l'algorithme STP bloque des ports de certains switchs lorsque tous les ports sont fonctionnels sur tous les switchs de l'arborescence afin d'éviter une tempête de broadcast dans le réseau.