1. Rappels réseaux commutés. Chapitre 9 Réseaux locaux virtuels Un réseau totalement commuté permet de passer outre le problème du domaine de collision en le segmentant en autant de micro-segments qu il y a de ports. On continue cependant à se heurter au problème du domaine de diffusion unique : tous les hôtes connectés aux commutateurs d un même réseau local appartiennent au même domaine de diffusion. Le fonctionnement n est en effet commuté que pour les trames unicast. Toute trame Broadcast perçue par le commutateur est inondée c'est-à-dire répétée sur tous les ports à l exception du port sur lequel la trame a été reçue. Or, plus le nombre de stations augmente, plus les trames Broadcasts consomment de la bande passante. Les routeurs permettent de scinder le domaine de diffusion car ils ne transmettent pas le trafic de diffusion. SISR2 Chapitre 9 - Page 1
2. Les réseaux locaux virtuels (VLAN). On a rappelé au paragraphe précédent que si le commutateur segmente un domaine de collision, il maintient un seul domaine de diffusion. La séparation des flux exigeait, avant l apparition des VLAN (Virtual Local Area Network), un regroupement géographique des groupes de travail et une interconnexion par routeur. L introduction des VLAN a permis de segmenter le domaine de diffusion unique et de séparer les flux indépendamment de l emplacement géographique des nœuds. Intérêts des VLAN - Réduction de la taille d'un domaine de Broadcast (trafic de diffusion lié notamment aux requêtes ARP circonscrit à l'intérieur d un VLAN) ; optimisation de la bande passante ; - Augmentation de la sécurité en raison de la séparation des flux ; le seul moyen pour faire communiquer des machines appartenant à des VLAN différents est de mettre en place un routage inter-vlan ; 3 types de VLAN - VLAN de niveau 1 ou VLAN par port : on affecte chaque port des commutateurs à un VLAN. L appartenance d une carte réseau à un VLAN est alors déterminée par sa connexion à un port du commutateur. Les ports sont donc affectés statiquement à un VLAN. - VLAN de niveau 2 ou VLAN par adresse MAC : on affecte manuellement chaque adresse MAC à un VLAN. L appartenance d une carte réseau à un VLAN est déterminée par son adresse MAC. En fait, il s agit, à partir de l association {@MAC - VLAN}, d affecter dynamiquement les ports des commutateurs à chacun des VLAN en fonction de l adresse MAC de l hôte qui émet sur ce port. L'intérêt principal de ce type de VLAN est l'indépendance vis-à-vis de la localisation. Si une station est déplacée sur le réseau physique, son adresse physique ne changeant pas, elle continue d appartenir au même VLAN. Peu importe le port sur lequel la machine sera connectée. - VLAN de niveau 3 ou VLAN par adresse IP : même principe que pour les VLAN de niveau 2 sauf que ce sont les adresses IP qui définissent l appartenance à tel ou tel VLAN. Une carte réseau ne peut être associée qu à un seul VLAN. Une carte réseau associée à un VLAN par une de ces trois méthodes ne peut communiquer qu avec une carte réseau associée à un même VLAN. Une trame de diffusion émise par une carte réseau associée à un VLAN sera transmise à toutes les cartes réseaux appartenant à ce VLAN et uniquement à celles-ci. Protocole 802.1q Un commutateur peut gérer plusieurs VLAN et un VLAN peut être réparti sur plusieurs commutateurs. L appartenance à un VLAN, d une trame circulant entre deux commutateurs, est déterminée par un «marquage» de la trame (tag). Le protocole 802.1q marque les trames en modifiant l'en-tête MAC de la trame. Il ajoute notamment dans cet en-tête un identifiant de VLAN (VID). Lorsqu une trame est marquée («tagguée»), on parle d encapsulation 802.1q. Cette modification du format de la trame est réalisée par les commutateurs sur les liaisons inter-commutateurs (trunk link) en utilisant des ports spéciaux, les ports 802.1q (ports trunk ou ports agrégés). SISR2 Chapitre 9 - Page 2
Trame 802.1q - Adresse destination : 2 octets - Adresse Source : 2 octets - VPID (Vlan Protocol Identifier) : 2 octets Fixé à 0x8100, il ne doit pas être confondu avec l'identifiant d'un VLAN. Il s'agit ici d'identifier une trame de type 802.1q. - UP (User priority) : 3 bits Permet de définir 8 niveaux de priorités. Utilisé par le protocole 802.1p. - CFI (Canonical Format Identifier) : 1bit - VID (Vlan Identifier) : 12 bits Identifie le VLAN auquel appartient la trame. - Longueur ou Type : 2 octets - Données : 46 à 1500 octets - FCS : 4 octets La modification de l'en-tête implique que les équipements recevant la trame marquée disposent du protocole 802.1q. Ce n'est généralement pas le cas des cartes réseaux des stations. En conséquence, les ports trunk associés à ce type de lien ajoutent ou enlèvent la marque selon qu'ils transmettent ou non la trame à un commutateur. Simulateur Cisco Packet Tracer : configuration initiale d un commutateur et mise en place de VLAN de niveau 1 Le schéma de l atelier est le suivant : SISR2 Chapitre 9 - Page 3
Lors de la première connexion au commutateur, la configuration par défaut est chargée. Il n y a pas de VLAN. En réalité, toutes les interfaces sont affectés au VLAN 1 (VLAN par défaut). Etablissez la configuration IP des ordinateurs PC0 et PC1 : - Adresse IP de l ordinateur PC0 : 192.168.0.1 /24 ; - Adresse IP de l ordinateur PC1 : 192.168.0.2 /24. Configurez le commutateur avec les paramètres suivants : - Nom d hôte du commutateur : SW1 ; - Mot de passe du mode privilégié : pwd ; - Mot de passe pour un accès console au switch : mdp ; - Mot de passe pour un accès distant Telnet : passe ; - Adresse IP d administration à distance du VLAN 1 : 192.168.0.253 /24. switch>enable switch#configure terminal switch (config) #hostname SW1 SW1 (config) #enable secret cisco SW1 (config) #line con 0 SW1 (config-line) #password sio SW1 (config-line) #login SW1 (config-line) #exit SW1 (config) #line vty 0 15 SW1 (config-line) #password si2 SW1 (config-line) #login SW1 (config-line) #exit SW1 (config) #interface vlan 1 SW1 (config-if) #ip address 192.168.0.253 255.255.255.0 SW1 (config-if) #no shutdown SW1 (config-if) #exit SW1 (config) #exit SW1 #copy run start Etablissez une connexion Telnet à partir de la station PC0. Créez deux VLAN sur le commutateur SW1 : VLAN 10 et VLAN 20 L objectif est de montrer que deux machines appartenant à deux VLAN différents configurées sur le même réseau IP ne peuvent pas communiquer alors que deux machines sur le même VLAN peuvent par exemple se «pinguer». La commande vlan id de vlan permet de créer un réseau local virtuel. La commande name nom de vlan permet d attribuer un nom à un VLAN. SISR2 Chapitre 9 - Page 4
SW1>enable SW1 #configure terminal SW1 (config) #vlan 10 SW1 (config-vlan) #name vlandix SW1 (config-vlan) #exit SW1 (config) #vlan 20 SW1 (config-vlan) #name vlanvingt SW1 (config-vlan) #exit SW1 (config) #exit SW1 #copy run start Vérifiez, en mode privilégié, la configuration des réseaux locaux virtuels avec la commande show vlan. A ce stade, tous les ports du commutateur appartiennent au VLAN 1 nommé «default». Affectez des ports du commutateur aux VLAN 10 et 20. Dans un premier temps, les ports Fa0/1 et Fa0/13 du commutateur SW1 auxquels sont reliés PC1 et PC2 seront affectés au VLAN10. Le port Fa0/13 sera ensuite affecté au VLAN20. Saisissez la commande show vlan pour vérifier l appartenance des ports aux VLAN et testez la connectivité entre les deux stations dans les deux cas de figure. La commande switchport access vlan id de vlan, saisie en mode configuration interface permet d attribuer un réseau local à un port : SW1>enable SW1 #configure terminal SW1 (config) #interface fastethernet 0/1 SW1 (config-if) #switchport mode access SW1 (config-if) #switchport access vlan 10 Simulateur Cisco Packet Tracer : configuration d un trunk entre commutateurs Le schéma de l atelier est le suivant : SISR2 Chapitre 9 - Page 5
Connectez les stations PC0 et PC1 sur les ports FastEthernet 0/1 des commutateurs SW1 et SW2. Reliez, avec un câble croisé, les deux commutateurs sachant que les interfaces trunk seront les ports FastEthernet 0/8 de chaque commutateur. Créez les VLAN 10 et 20 sur chaque commutateur et affectez les ports Fa0/1 de SW1 et SW2 au VLAN 10. Configurez la liaison trunk à l aide de la commande switchport mode trunk saisie sur chaque commutateur en mode configuration interface : SW1>enable SW1 #configure terminal SW1 (config) #interface fastethernet 0/8 SW1 (config-if) #switchport mode trunk SW1 (config-if) #Ctrl Z SW1 #copy run start SW2>enable SW2 #configure terminal SW2 (config) #interface fastethernet 0/8 SW2 (config-if) #switchport mode trunk SW2 (config-if) #Ctrl Z SW2 #copy run start Le port trunk FastEthernet 0/8 ne fait plus partie du VLAN 1 : Affichez la configuration des interfaces trunk de chaque commutateur à l aide de la commande show interface trunk : SISR2 Chapitre 9 - Page 6
Assurez-vous que les deux stations appartiennent au même VLAN et vérifiez le bon fonctionnement de la liaison trunk en testant la connectivité entre les deux stations. Il existe deux types d encapsulation : ISL (créé par Cisco) et 802.1q (standard IEEE). Sur les commutateurs Cisco pour lesquels on a le choix entre dot1q et ISL, il serait nécessaire d entrer une commande supplémentaire afin de configurer les deux ports en mode trunk : SW1>enable SW1 #configure terminal SW1 (config) #interface fastethernet 0/8 SW1 (config-if) #switchport trunk encapsulation dot1q SW1 (config-if) #switchport mode trunk Les commutateurs Cisco 2960 ne supportent que dot1q en encapsulation. La commande mentionnée ci-dessus n'y est donc pas fonctionnelle puisqu elle est inutile, dot1q étant activé d'office en mode trunk. 3. Configuration du protocole VTP. VTP (Virtual Trunk Protocol) est un protocole de couche 2 qui permet de diffuser une configuration de VLAN sur plusieurs commutateurs. On reprend le schéma de l atelier précédent. La liaison trunk est configurée entre les deux commutateurs. Il reste à configurer SW1 en tant que serveur VTP et SW2 en tant que client VTP. Le domaine VTP s appelle VTPdom. Le mot de passe est «pwd». Le protocole VTP est activé en version 2. SW1>enable SW1 #configure terminal SW1 (config) #vtp mode server SW1 (config) #vtp domain VTPdom SW1 (config) #vtp password pwd SW1 (config) #vtp version 2 SW2>enable SW2 #configure terminal SW2 (config) #vtp mode client La commande show vtp status permet d afficher les informations VTP : SISR2 Chapitre 9 - Page 7
On crée sur SW1 un VLAN portant l identifiant 100 et le nom «VPTtest» afin de vérifier que la configuration de VLAN a bien été diffusée sur SW2 (commande show vlan) : SW1 #configure terminal SW1 (config) #vlan 100 SW1 (config-vlan) #name VTPtest 4. Routage inter-vlan («router on a stick»). Trunck Router on a stick Création des VLAN Périphérique Interface Adresse IP Masque de Passerelle par sous-réseau défaut R1 Fa0/1.10 172.17.10.1 255.255.255.0 Fa0/1.30 172.17.30.1 255.255.255.0 PC1 Carte réseau 172.17.10.10 255.255.255.0 172.17.10.1 PC2 Carte réseau 172.17.30.10 255.255.255.0 172.17.30.1 Créez les VLAN 10 et 30 sur S1. PC1 appartient à VLAN 10, et PC3 appartient à VLAN 30. Pour créer les réseaux locaux virtuels, exécutez les commandes vlan 10 et vlan 30 en mode de configuration globale : SISR2 Chapitre 9 - Page 8
S1#configure terminal S1(config)#vlan 10 S1(config-vlan)#vlan 30 Pour vérifier si les réseaux locaux virtuels ont été créés, lancez la commande show vlan brief depuis l invite du mode d exécution privilégié. Affectation des réseaux locaux virtuels aux ports L interface Fa0/11 appartient à VLAN 10 et Fa0/6 à VLAN 30. Pour affecter un réseau local virtuel à un port, entrez en mode configuration d interface. Pour Fa0/11, la commande est interface fa0/11. La commande switchport mode access paramètre le port en mode d accès. La commande switchport access vlan 10 affecte le VLAN 10 à ce port. S1(config)#interface fa0/11 S1(config-if)#switchport mode access S1(config-if)#switchport access vlan 10 Renouvelez les étapes pour l interface Fa0/6 et le VLAN 30 : S1(config)#interface fa0/6 S1(config-if)#switchport mode access S1(config-if)#switchport access vlan 30 Configuration de l agrégation Le port Fa0/5 sur S1 est configuré en tant que port agrégé (port trunk) ce qui lui permet d acheminer des informations depuis VLAN 10 et VLAN 30. S1(config-if)#interface fa0/5 S1(config-if)#switchport mode trunk Configuration des sous-interfaces avec l encapsulation 802.1Q. Créez deux sous-interfaces sur R1 : Fa0/1.10 et Fa0/1.30. Ces sous-interfaces sont affectées à des réseaux locaux virtuels. Pour créer la première sous-interface, entrez en mode de configuration de sous-interface pour Fa0/1.10 en exécutant la commande interface fa0/1.10. En mode de configuration de sous-interface, entrez la commande encapsulation dot1q 10 pour définir le type d encapsulation sur 802.1Q et attribuer le VLAN 10 à l interface virtuelle. Attribuez l adresse IP appropriée au port. Pour Fa0/1.10, il s agit de 172.17.10.1 avec pour masque de sous-réseau 255.255.255.0. Renouvelez ces étapes pour l interface Fa0/1.30 en utilisant l adresse IP et l ID de réseau local virtuel appropriés. R1(config)#interface fa0/1.10 R1(config-subif)#encapsulation dot1q 10 R1(config-subif)#ip address 172.17.10.1 255.255.255.0 R1(config-subif)#interface fa0/1.30 R1(config-subif)#encapsulation dot1q 30 R1(config-subif)#ip address 172.17.30.1 255.255.255.0 Test de la connectivité entre PC1 et PC3 Envoyez une requête ping entre PC1 et PC3. La requête ping doit réussir. SISR2 Chapitre 9 - Page 9
5. Protocole DTP. On a vu à la page 6 que les ports trunk pouvaient être configurés manuellement. Ils peuvent être également configurés pour négocier et établir une liaison trunk avec le port d un autre commutateur. Le protocole DTP (Dynamic Trunking Protocol), protocole propriétaire de Cisco, gère la négociation de trunk. Il est activé par défaut sur les commutateurs Cisco Catalyst 2960. Le mode DTP par défaut d un port de commutateur 2960 est le mode Dynamic auto. La liaison entre deux commutateurs sera convertie en trunk si le port de l autre commutateur est configuré en mode Dynamic desirable ou en mode trunck. Dynamic auto Dynamic desirable Trunck Dynamic auto Trunk Trunk Nonegotiate Dynamic desirable Trunk Trunk Trunk Trunck Trunk Trunk Trunk Nonegotiate Connectivité limitée Connectivité limitée 6. VLAN natif. On a vu à la page 2 que les trames émises par un port trunk sont marquées d un tag dot1q contenant l identifiant du VLAN auquel elles appartiennent. Cela permet ainsi à l équipement qui les reçoit de les replacer dans le VLAN adéquat. Or, certaines trames transmises sur une liaison trunk ne sont pas marquées d un tag dot1q. Dans ce cas, l équipement qui reçoit sur une interface trunk une trame sans étiquette place cette trame non taguée dans le VLAN natif. Sur les équipements Cisco, certains protocoles comme CDP ou DTP sont véhiculés dans des trames non taguées et donc dans le VLAN natif. Une trame qui appartient au VLAN d origine n est pas étiquetée. Le VLAN natif est le VLAN 1 par défaut dans les commutateurs Cisco. Il est important de sécuriser le VLAN natif pour deux raisons : - Il est préférable de ne pas véhiculer des trames de protocoles comme CDP ou DTP dans le même vlan que des données. Il s agit d éviter qu un utilisateur puisse capturer ce trafic ou générer de faux messages CDP ou DTP. - Le fait qu un vlan véhicule des trames non-taguée permet de mettre en place des attaques du type «vlanhopping» dont le but est d envoyer artificiellement du trafic dans un vlan où la machine émettrice ne se trouve pas et ce en ajoutant de faux tags dot1q. C est le principe du «double tagging». On génère une trame avec deux tags dot1q. A l arrivée sur le port, le switch se débarrasse du premier mais traite le second tag et place la trame dans le vlan qui y est spécifié. La bonne pratique consiste donc de changer la valeur par défaut du VLAN natif lorsque l on met en place les ports trunk : S1(config)#interface fa0/1 S1(config-if)#switchport mode trunk S1(config-if)#switchport trunk native vlan 99 SISR2 Chapitre 9 - Page 10
Il est conseillé d utiliser un VLAN «vide» comme VLAN natif c est-à-dire sans interfaces affectées. Il faut veiller à ce que le VLAN natif soit identique au niveau des deux extrémités de la liaison trunk. 7. Limiter la propagation des VLAN. Sur les commutateurs Cisco, par défaut, tous les VLANs sont autorisés à passer par la liaison trunk. Il est parfois nécessaire, pour des raisons de sécurité mais aussi de performance, de limiter la propagation des VLAN sur certaines liaisons. S1(config)#interface fa0/1 S1(config-if)#switchport mode trunk S1(config-if)#switchport trunk allowed vlan 20,30 8. Routage entre LAN et routage inter-vlan : du physique au virtuel. Quel que soit la méthode utilisée, l équipement en charge du routage doit avoir une interface connectée dans chacun des domaines de diffusion, qu elle soit physique ou virtuelle 8.1. Routage entre LAN 8.2. Routage inter-vlan par interface 8.3. Méthode Router on a stick SISR2 Chapitre 9 - Page 11
8.4. Switch multi-layer Un switch multi-layer est capable d effectuer du routage en plus de fonctionner au niveau 2. Pour la configuration, le principe de départ reste valable, il nous faut une interface par domaine de diffusion. On utilise pour cela les SVI (Switched Virtual Interface) qui correspondent aux interfaces VLAN. Contrairement à la méthode précédente, comme on ne fait plus appel aux interfaces physiques, le routage inter-vlan n est plus dépendant de la bande passante d une liaison physique. La démarche est la suivante : - Création des VLAN ; - Affectation des interfaces du switch aux VLAN ; - Activation du routage IP ; - Création et configuration des SVI. Switch(config)#vlan 10 Switch(config-vlan)#name SUBNET-A Switch(config-vlan)#exit Switch(config)#vlan 20 Switch(config-vlan)#name SUBNET-B Switch(config-vlan)#exit Switch(config)#interface range fastethernet 0/1-12 Switch(config-if-range)#switchport mode access Switch(config-if-range)#switchport access vlan 10 Switch(config-if-range)#exit Switch(config)#interface range fastethernet 0/13-24 Switch(config-if-range)#switchport mode access Switch(config-if-range)#switchport access vlan 20 Switch(config-if-range)#exit Switch(config)#ip routing Switch(config)#interface vlan 10 Switch(config-if)#ip address 192.168.0.1 255.255.255.0 Switch(config-if)#no shutdown Switch(config-if)#exit SISR2 Chapitre 9 - Page 12
Switch(config)#interface vlan 20 Switch(config-if)#ip address 192.168.1.1 255.255.255.0 Switch(config-if)#no shutdown Switch(config-if)#^Z Switch# SISR2 Chapitre 9 - Page 13