TP Agrégation de liens A. Présentation Nous allons nous faire plaisir et monter une architecture un petit peu complexe afin de constater que les concepts vus dans le cours peuvent se cumuler : agrégation, liens redondants, Spanning tree, VLAN et routage. La topologie à construire est la suivante : Que veut-on faire ici? Clairement, il s agit de mettre en place une architecture redondante au niveau de la couche que nos amis de CISCO appellent «Distribution». Celle-ci est constituée dans l exemple par les deux commutateurs 3560 de niveau 3. Un seul pourrait être suffisant mais cette couche est particulièrement sensible car elle interconnecte les différents groupes de travail. Page 1 Exercice 1 Rappelez en quelques mots le principe des 3 couches réseau CISCO aussi appelé le «modèle réseau hiérarchique à 3 couches» ou Enterprise Composite Network Model (ECNM). Exercice 2 Rappelez ce qu'est un «commutateur de niveau 3». Dans Packet Tracer, comme sur la figure, placez les différents éléments et interconnectez-les. OLes switchs disposent de ports FastEthernet et GigaEthernet. Rappelez-vous que les ports doivent avoir exactement les mêmes caractéristiques pour être agrégés!
B. Création des agrégats Nous allons maintenant créer les agrégats. En ce qui me concerne, j ai mis en place la situation suivante : Switch Ports Switch lié Ports 3560_0 Fa0/1 2960_0 Fa0/1 Fa0/2 Fa0/2 3560_0 Fa0/3 2960_1 Fa0/3 Fa0/4 Fa0/4 3560_1 Fa0/1 2960_1 Fa0/1 Fa0/2 Fa0/2 3560_1 Fa0/3 2960_0 Fa0/3 Fa0/4 Fa0/4 Configurons un premier agrégat. Par exemple, sur le 3560_0 : 3560_0(config)# int range Fa0/1-2 3560_0(config-if-range)# channel-protocol lacp 3560_0(config-if-range)# channel-group 1 mode active Page 2 Qu avons-nous fait? 1. Pour les deux interfaces FastEthernet 0/1 et FastEthernet 0/2 2. Nous avons activé le protocole LACP (qui n est pas par défaut chez CISCO) 3. Nous avons créé un groupe portant le numéro 1 en mode actif, ce qui veut dire qu il est habilité à engager des négociations LACP. Le groupe sur le switch d en face devra être en mode passif. Maintenant, si on passe sur le switch d en face. Nous aurons à peu près les mêmes manipulations à réaliser : 2960_0(config)# int range Fa0/1-2 2960_0(config-if-range)# channel-protocol lacp 2960_0(config-if-range)# channel-group 1 mode passive Exercice 3 Sur le même principe, vous finalisez la configuration des 3 autres agrégations. N'oubliez pas que le groupe d'interfaces est créé sur chaque switch. Lorsque nos agrégats sont configurés, on s'aperçoit qu'une interface réseau virtuelle est créée pour chaque agrégat et que certains paramètres peuvent être personnalisés. Par exemple, pour l'agrégat 1 sur le 2960_0 : 2960_0(config)#int port-channel 1 2960_0(config-if)#? cdp Global CDP configuration subcommands channel-group Etherchannel/port bundling configuration channel-protocol Select the channel protocol (LACP, PAgP) description Interface specific description duplex Configure duplex operation. exit Exit from interface configuration mode mac-address Manually set interface MAC address
mdix mls no shutdown spanning-tree speed storm-control switchport tx-ring-limit Set Media Dependent Interface with Crossover mls interface commands Negate a command or set its defaults Shutdown the selected interface Spanning Tree Subsystem Configure speed operation. storm configuration Set switching mode characteristics Configure PA level transmit ring limit Enfin, rappelons-nous du cours qui nous indiquait que LACP est prévu pour la répartition de charges mais que différentes méthodes d allocation de la bande passante existent. On peut donc intervenir avec cette commande (globalement pour le switch et non agrégat par agrégat) : 2960_0(config)#port-channel load-balance? dst-ip Dst IP Addr dst-mac Dst Mac Addr src-dst-ip Src XOR Dst IP Addr src-dst-mac Src XOR Dst Mac Addr src-ip Src IP Addr src-mac Src Mac Addr Par défaut, CISCO met en place la répartition de charge par adresse MAC source. C. Surveillance Différentes commandes sont à notre disposition pour surveiller la mise en œuvre de LACP. Commençons par vérifier la méthode de load balancing activée : 2960_0#sh etherchannel load-balance EtherChannel Load-Balancing Operational State (src-mac): Non-IP: Source MAC address IPv4: Source MAC address IPv6: Source MAC address Page 3 Vérifions ensuite la constitution de nos agrégats avec différentes vues : 2960_0#sh etherchannel Channel-group listing: ---------------------- Group: 1 ---------- Group state = L2 Ports: 2 Maxports = 16 Port-channels: 1 Max Port-channels = 16 Protocol: LACP Group: 2 ---------- Group state = L2 Ports: 2 Maxports = 16 Port-channels: 1 Max Port-channels = 16 Protocol: LACP
Ceci nous apprend que notre 2960_0 dispose de deux agrégats de niveau (L2) disposant de deux ports (sur 16 possibles). Essayons cette commande : 2960_0#sh etherchannel summary Flags: D - down P - in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use f - failed to allocate aggregator u - unsuitable for bundling w - waiting to be aggregated d - default port Number of channel-groups in use: 2 Number of aggregators: 2 Group Port-channel Protocol Ports ------+-------------+-----------+-------------------------------------- 1 Po1(SU) LACP Fa0/1(P) Fa0/2(P) 2 Po2(SU) LACP Fa0/3(P) Fa0/4(P) Page 4 Ceci nous donne des détails sur la composition et l état de chaque agrégat. Chaque agrégat est dans l état SU (S pour Layer2 et U pour «in use»). Chaque agrégat est composé de deux interfaces qui sont dans l état P pour «in port-channel». On peut avoir un état encore plus détaillé : #sh etherchannel port-channel Channel-group listing: ---------------------- Group: 1 ---------- Port-channels in the group: --------------------------- Port-channel: Po1 ------------ (Primary Aggregator) Age of the Port-channel = 00d:01h:41m:36s Logical slot/port = 2/1 Number of ports = 2 GC = 0x00000000 HotStandBy port = null Port state = Port-channel Protocol = LACP Port Security = Disabled Ports in the Port-channel:
Index Load Port EC state No of bits ------+------+------+------------------+----------- 0 00 Fa0/1 Passive 0 0 00 Fa0/2 Passive 0 Time since last port bundled: 00d:01h:41m:36s Fa0/2 Group: 2 ---------- Port-channels in the group: --------------------------- Port-channel: Po2 ------------ (Primary Aggregator) Age of the Port-channel = 00d:01h:41m:36s Logical slot/port = 2/2 Number of ports = 2 GC = 0x00000000 HotStandBy port = null Port state = Port-channel Protocol = LACP Port Security = Disabled Ports in the Port-channel: Index Load Port EC state No of bits ------+------+------+------------------+----------- 0 00 Fa0/3 Passive 0 0 00 Fa0/4 Passive 0 Time since last port bundled: 00d:01h:41m:36s Fa0/4 On peut ici vérifier l état en mode passif ou actif ainsi que la charge de chaque interface. D. Connexion des PC Les PC sont reliés aux ports Fa0/5 et Fa0/6 de leur switch respectif. Le plan d adressage IP est le suivant : Page 5 PC0 192.168.1.1 PC1 192.168.1.2 PC2 192.168.1.3 PC3 192.168.1.4 Vérifiez que n'importe quel PC peut envoyer des ping à n'importe quel autre. Exercice 4 Comment est-ce possible que cela fonctionne alors que le réseau présente une boucle et que Ethernet n'aime pas du tout çà? Pourquoi nos trames ne rentrent-elles pas dans une course folle passant de switch en switch? Vous pouvez suivre le fonctionnement en détail de Etherchannel avec les commandes ci-dessous : http://www.dummies.com/how-to/content/debugging-etherchannel.html
Avant de poursuivre, je vous conseille d'enregistrer vos configurations qui sont pour l'instant en RAM dans le fichier de démarrage de chaque appareil avec la commande IOS : write mem. Enregistrez également le fichier Packet Tracer. 2. Spanning tree Comme nous l avions déjà dit dans le cours de première année, les switchs CISCO activent par défaut l algorithme du Spanning tree ce qui empêche les boucles réseau. Vous avez probablement remarqué sur votre réseau que pour un switch (ce n est pas forcément le même pour tout le monde du fait de la méthode de calcul utilisé par STP) un groupe d interfaces est inactif. Chez moi c est sur le 3560_1, les LEDs sont oranges, ce qui fait que les trames entre PC0 et PC3 passent par le 3560_0. Sur la figure ci-dessous, on peut dire que mes paquets passent par le lien noté 2, le lien noté 1 étant désactivé : Page 6 Passez en mode simulation et vérifiez par quel chemin passent les pings. Observons l état du Spanning tree sur l un de nos switchs : 2960_1#sh span VLAN0001 Spanning tree enabled protocol ieee Root ID Priority 32769 Address 0001.42B1.812C Cost 18 Port 27(Port-channel 1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address 0060.2F1E.4C7E Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 20 Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- --------------------- Fa0/6 Desg FWD 19 128.6 P2p Fa0/5 Desg FWD 19 128.5 P2p Po2 Altn BLK 9 128.28 P2p Po1 Root FWD 9 128.27 P2p
Le tableau à la fin est très important, il nous indique l état de chaque lien actif du switch. On constate que les deux agrégats sont bien présents. Conformément à ce que l on disait auparavant, chez moi, l agrégat Po2 est bloqué (indicateur BLK) et représente un lien alternatif qui pourra servir en cas de pépin (indicateur Altn). Les autres sont actifs et peuvent faire passer des trames (FWD pour Forward). On remarque aussi 2 colonnes qui représentent le coût d une interface et sa priorité. Le coût est fonction du débit (plus le débit est élevé, plus le coût est faible). Lorsque 2 liens sont en concurrence, STP favorisera le lien avec le coût le plus faible. Si les coûts sont identiques, il utilisera la priorité. Le coût est modifiable sur de vrais switchs (voir introduction de ce TP ;-). On peut donc jouer sur ces paramètres pour favoriser un lien plutôt qu un autre (voir par exemple : http://astorinonetworks.com/2011/06/30/spanningtree-port-priority/ ) Un switch a été élu «racine» du réseau. On le voit avec la commande précédente (paragraphe Root ID). Un rapide examen montre qu il s agit chez moi de l adresse MAC du switch 2960_0. On peut changer cela et faire devenir racine un autre switch. Par exemple, je souhaite que ce soit le 3560_0, car celui-ci est plus puissant (le STP peut consommer pas mal de ressources sur des réseaux importants). Sur ce switch saisir la commande suivante : 3560_0(config)#spanning-tree vlan 1 root primary Cette commande doit nous rappeler que les VLANs sont implémentés par défaut sur les switch CISCO, et comme chaque VLAN est un réseau, il y a autant de Spanning tree que de réseau. Tiens, tiens, bonne transition avec la suite de cet atelier ;-) Lorsque la commande précédente a été saisie, un recalcul du Spanning tree est déclenché. Au bout de quelques dizaines de secondes, un nouvel état est disponible. Vous constaterez que c est un autre lien qui est devenu bloqué. Vérifiez que toutes les machines sont toujours joignables par ping. Éventuellement, passez en mode simulation pour confirmer le cheminement des trames. Page 7 Pour conclure, disons que dans des réseaux complexes, il peut être nécessaire de suivre de façon détaillée le fonctionnement du Spanning tree : http://www.cisco.com/en/us/tech/tk389/tk621/technologies_tech_note09186a0080136673. shtml
3. VLANs et routage inter-vlan A. Mise en place des VLANs Nous allons maintenant «coller» sur cette architecture nos VLANs chéris. L architecture souhaitée est la suivante : VLAN100 VLAN200 PC0, PC2 PC1, PC3 Exercice 5 Page 8 Hé, hé. Maintenant, c'est vous qui allez travailler puisque nous avons déjà traité les VLANs dans les précédents modules. Vous êtes sensé être autonome sur la question. Dans mon immense bonté, voici quelques petits conseils : les VLANs sont basés sur les ports et sont donc à affecter sur les ports des switchs à proximité des PC ; les liens inter-switch seront en mode trunk afin que les trames soient étiquetées avec le numéro de VLAN (tag 802.1Q) ; ne vous laissez pas impressionner ou perturber par la présence des ports agrégés. Le trunk est à déclarer sur l'interface port-channel (comme une interface réseau normale) ; important : les switchs de la couche distribution (les 3560) doivent connaître les ids de VLAN 100 et 200 dans leur base de données de VLAN. À vous de jouer! B. Routage inter-vlan Maintenant que vous avez tout bien validé, nous allons mettre en place le routage inter-vlan afin que les machines situées dans différents VLANs puissent tout de même communiquer. Le plan d adressage devra être le suivant : PC Adresse Passerelle PC0 192.168.100.1 192.168.100.254 PC1 192.168.200.1 192.168.200.254 PC2 192.168.100.2 192.168.100.254 PC3 192.168.200.2 192.168.200.254 Je vous laisse le soin de configurer cela sur les postes de travail. Sur les 3560, il faudra créer 2 interfaces réseau, une par VLAN afin de disposer d'une passerelle de sortie pour les PC : 3560_0(config)#int vlan 100 %LINK-5-CHANGED: Interface Vlan100, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan100, changed state to up 3560_0(config-if)#ip address 192.168.100.254 255.255.255.0
3560_0(config-if)#exit 3560_0(config)#int vlan 200 3560_0(config-if)# %LINK-5-CHANGED: Interface Vlan200, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan200, changed state to up 3560_0(config-if)#ip address 192.168.200.254 255.255.255.0 3560_0(config-if)#exit Important, il ne faut pas oublier d activer le routage sur notre switch de niveau 3 : 3560_0(config)#ip routing Maintenant toutes les machines doivent pouvoir s envoyer des pings même si elles ne sont pas dans le même sous-réseau IP. Derniers tests, nous avons conçu cette architecture comme redondante au niveau distribution. Si l on supprime un des deux switches 3560, cela devrait fonctionner... j ai bien dit devrait :-) 1. Enregistrez votre fichier Packet Tracer 2. Dans un interpréteur de commandes sur PC0, affichez le cache arp, observez l adresse MAC de la passerelle, déterminez s il s agit de 3560_0 ou de 3560_1 3. Supprimez purement et simplement ce 3560 4. Depuis PC0 vous devez pouvoir joindre l autre machine de son réseau IP (PC2) 5. Par contre PC0 ne peut pas joindre PC3. Exercice 6 Sauriez-vous dire pourquoi PC0 peut joindre PC2 mais pas PC3? Que faire pour remédier à cela? Page 9