Chapitre 322 minIntermédiaire
Routage inter-VLAN : router-on-a-stick et switch de niveau 3
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- faire communiquer des VLAN avec un routeur et un trunk (router-on-a-stick) ;
- configurer les SVI d'un switch de niveau 3 et ses ports routés ;
- relayer le DHCP vers un serveur placé dans un autre VLAN ;
- choisir entre routeur, switch de niveau 3 et pare-feu.
6 exercices corrigés1 schéma
Le routage inter-VLAN permet à des machines placées dans des VLAN différents de communiquer, en faisant passer leurs paquets par un équipement de niveau 3 qui possède une adresse, la passerelle, dans chaque VLAN. Ce chapitre présente les trois façons de le faire : un routeur relié par un trunk (router-on-a-stick), un switch de niveau 3 avec ses interfaces virtuelles (SVI), ou le pare-feu. Il configure les deux premières chez Sorbier, avec le relais DHCP indispensable dès qu'il y a plusieurs VLAN.
Le principe : une passerelle par VLAN
Le poste 192.168.10.70 (VLAN 10) veut ouvrir un partage sur srv-fichiers (192.168.10.178, VLAN 20). Avec son masque, il calcule que la destination n'est pas dans son réseau : il envoie donc la trame à sa passerelle, 192.168.10.126. L'équipement qui porte cette adresse reçoit la trame dans le VLAN 10, lit l'adresse IP de destination, voit qu'elle appartient au réseau d'une autre de ses interfaces (le VLAN 20) et réémet le paquet dans ce VLAN, dans une nouvelle trame adressée à la MAC de srv-fichiers.
Il faut donc un équipement de niveau 3 qui ait une interface et une adresse dans chaque VLAN. Trois architectures existent :
| Méthode | Comment | Où on la trouve |
|---|---|---|
| Un port de routeur par VLAN | Chaque VLAN arrive sur un port physique différent du routeur | Plus guère : il faut autant de ports et de câbles que de VLAN |
| Router-on-a-stick | Un seul lien trunk entre le switch et le routeur, découpé en sous-interfaces, une par VLAN | Petits sites, agences, maquettes, pare-feu (même principe) |
| Switch de niveau 3 | Le switch route lui-même, grâce à une interface virtuelle par VLAN (SVI) | Cœur de réseau de presque toutes les entreprises |
Le pare-feu peut aussi jouer ce rôle : le switch lui envoie les VLAN par un trunk, et chaque VLAN devient une interface du pare-feu, qui route et filtre. C'est l'architecture que choisit Sorbier dans le cours Cybersécurité des infrastructures, pour contrôler tous les flux entre zones au même endroit.
Router-on-a-stick à l'agence de Marseille
L'agence de Marseille a un seul switch, SW-MARSEILLE (un Catalyst 9200, de niveau 2), et le routeur R-MARSEILLE. Le trafic entre ses VLAN est faible : une architecture router-on-a-stick suffit. Rappel de son plan :
| VLAN | Nom | Réseau | Passerelle |
|---|---|---|---|
| 10 | POSTES | 10.30.1.0/25 | 10.30.1.126 |
| 20 | SERVEURS | 10.30.1.160/28 | 10.30.1.174 |
| 40 | WIFI | 10.30.0.0/24 | 10.30.0.254 |
| 50 | CAMERAS | 10.30.1.128/27 | 10.30.1.158 |
Côté switch, le port qui monte vers le routeur est un trunk ordinaire :
SW-MARSEILLE(config)# interface GigabitEthernet1/0/48
SW-MARSEILLE(config-if)# description Trunk vers R-MARSEILLE Gi0/0/1
SW-MARSEILLE(config-if)# switchport mode trunk
SW-MARSEILLE(config-if)# switchport trunk native vlan 999
SW-MARSEILLE(config-if)# switchport trunk allowed vlan 10,20,40,50
SW-MARSEILLE(config-if)# switchport nonegotiate
Côté routeur, on active le port physique, sans adresse, puis on crée une sous-interface par VLAN. Chacune reçoit l'étiquette 802.1Q de son VLAN et l'adresse de la passerelle :
R-MARSEILLE(config)# interface GigabitEthernet0/0/1
R-MARSEILLE(config-if)# description Trunk vers SW-MARSEILLE
R-MARSEILLE(config-if)# no ip address
R-MARSEILLE(config-if)# no shutdown
R-MARSEILLE(config-if)# exit
R-MARSEILLE(config)# interface GigabitEthernet0/0/1.10
R-MARSEILLE(config-subif)# description Passerelle POSTES
R-MARSEILLE(config-subif)# encapsulation dot1Q 10
R-MARSEILLE(config-subif)# ip address 10.30.1.126 255.255.255.128
R-MARSEILLE(config-subif)# ip helper-address 10.30.1.161
R-MARSEILLE(config-subif)# exit
R-MARSEILLE(config)# interface GigabitEthernet0/0/1.20
R-MARSEILLE(config-subif)# description Passerelle SERVEURS
R-MARSEILLE(config-subif)# encapsulation dot1Q 20
R-MARSEILLE(config-subif)# ip address 10.30.1.174 255.255.255.240
R-MARSEILLE(config-subif)# exit
R-MARSEILLE(config)# interface GigabitEthernet0/0/1.40
R-MARSEILLE(config-subif)# description Passerelle WIFI
R-MARSEILLE(config-subif)# encapsulation dot1Q 40
R-MARSEILLE(config-subif)# ip address 10.30.0.254 255.255.255.0
R-MARSEILLE(config-subif)# ip helper-address 10.30.1.161
R-MARSEILLE(config-subif)# exit
R-MARSEILLE(config)# interface GigabitEthernet0/0/1.50
R-MARSEILLE(config-subif)# description Passerelle CAMERAS
R-MARSEILLE(config-subif)# encapsulation dot1Q 50
R-MARSEILLE(config-subif)# ip address 10.30.1.158 255.255.255.224
R-MARSEILLE(config-subif)# ip helper-address 10.30.1.161
Le numéro de la sous-interface (.10) est un simple repère ; c'est encapsulation dot1Q 10 qui la rattache au VLAN 10. Prendre le même numéro pour les deux est une convention qui évite les erreurs. La commande encapsulation doit venir avant l'adresse IP : IOS refuse d'adresser une sous-interface qui n'a pas encore de VLAN.
Le serveur srv-mrs (10.30.1.161), dans le VLAN 20, distribue les adresses de l'agence ; ip helper-address relaie vers lui les demandes DHCP des autres VLAN (voir plus bas). La sous-interface du VLAN 20 n'en a pas besoin : le serveur y est directement joignable par diffusion.
La limite du router-on-a-stick. Tout le trafic entre VLAN fait l'aller-retour sur le même câble : un fichier copié d'un poste vers le serveur de l'agence monte par le trunk, puis redescend par le même trunk. Le câble à 1 Gbit/s est partagé entre tous les flux, dans les deux sens, et le routeur traite chaque paquet. Pour une agence, c'est suffisant. Pour un siège où les postes travaillent toute la journée sur les serveurs, il faut un switch de niveau 3.
Le switch de niveau 3 et ses SVI au siège
Au siège, SW-COEUR (un Catalyst 9300) route entre les six VLAN. Un switch de niveau 3 route grâce à des SVI (Switch Virtual Interfaces) : une interface virtuelle par VLAN, interface Vlan10, qui représente « le switch lui-même, dans le VLAN 10 ». On lui donne l'adresse de la passerelle du VLAN. Il faut aussi activer le routage, désactivé par défaut sur beaucoup de modèles :
SW-COEUR(config)# ip routing
SW-COEUR(config)# interface Vlan10
SW-COEUR(config-if)# description Passerelle POSTES
SW-COEUR(config-if)# ip address 192.168.10.126 255.255.255.192
SW-COEUR(config-if)# ip helper-address 192.168.10.177
SW-COEUR(config-if)# no shutdown
SW-COEUR(config-if)# interface Vlan20
SW-COEUR(config-if)# description Passerelle SERVEURS
SW-COEUR(config-if)# ip address 192.168.10.190 255.255.255.240
SW-COEUR(config-if)# no shutdown
SW-COEUR(config-if)# interface Vlan30
SW-COEUR(config-if)# description Passerelle ENTREPOT
SW-COEUR(config-if)# ip address 192.168.10.158 255.255.255.224
SW-COEUR(config-if)# ip helper-address 192.168.10.177
SW-COEUR(config-if)# no shutdown
SW-COEUR(config-if)# interface Vlan40
SW-COEUR(config-if)# description Passerelle VISITEURS
SW-COEUR(config-if)# ip address 192.168.10.62 255.255.255.192
SW-COEUR(config-if)# ip helper-address 192.168.10.177
SW-COEUR(config-if)# no shutdown
SW-COEUR(config-if)# interface Vlan50
SW-COEUR(config-if)# description Passerelle TELEPHONIE
SW-COEUR(config-if)# ip address 192.168.10.174 255.255.255.240
SW-COEUR(config-if)# ip helper-address 192.168.10.177
SW-COEUR(config-if)# no shutdown
SW-COEUR(config-if)# interface Vlan99
SW-COEUR(config-if)# description Passerelle ADMIN
SW-COEUR(config-if)# ip address 192.168.10.222 255.255.255.240
SW-COEUR(config-if)# no shutdown
Sans ip routing, le switch accepte les SVI mais ne route pas : chaque SVI ne sert alors qu'à administrer le switch. C'est l'oubli classique quand « les VLAN ne se voient pas » alors que tout semble configuré.
Quand une SVI est-elle active ? Une SVI passe up / up seulement si trois conditions sont réunies :
- le VLAN existe sur le switch (
show vlan brief) ; - au moins un port de ce VLAN est actif : un port d'accès connecté, ou un trunk qui transporte le VLAN, en état de transmission pour le Spanning Tree ;
- la SVI n'est pas éteinte (
no shutdown).
Une SVI qui reste down signale presque toujours un VLAN oublié ou un VLAN sans aucun port actif.
Les ports routés
Un switch de niveau 3 peut aussi transformer un port physique en port routé : il cesse d'être un port de switch (pas de VLAN, pas de Spanning Tree) et se comporte comme une interface de routeur, avec sa propre adresse. C'est ce qu'on utilise pour un lien point à point vers un autre équipement de niveau 3. Chez Sorbier, les liens vers le pare-feu et vers R-LYON :
SW-COEUR(config)# interface GigabitEthernet1/0/47
SW-COEUR(config-if)# description Transit vers le pare-feu
SW-COEUR(config-if)# no switchport
SW-COEUR(config-if)# ip address 192.168.10.194 255.255.255.252
SW-COEUR(config-if)# no shutdown
SW-COEUR(config-if)# interface GigabitEthernet1/0/48
SW-COEUR(config-if)# description Transit vers R-LYON Gi0/0/0
SW-COEUR(config-if)# no switchport
SW-COEUR(config-if)# ip address 192.168.10.197 255.255.255.252
SW-COEUR(config-if)# no shutdown
no switchport fait basculer le port. Pourquoi pas une SVI dans un VLAN de transit ? Ça marcherait aussi, mais le port routé est plus simple : pas de VLAN à créer, pas de Spanning Tree sur ce lien, et le lien tombe dès que le câble est débranché, ce que les protocoles de routage détectent aussitôt.
À ce stade, la table de routage de SW-COEUR ne contient que ses réseaux directement connectés, codes C (le réseau) et L (l'adresse locale du switch) :
SW-COEUR# show ip route connected
192.168.10.0/24 is variably subnetted, 16 subnets, 5 masks
C 192.168.10.0/26 is directly connected, Vlan40
L 192.168.10.62/32 is directly connected, Vlan40
C 192.168.10.64/26 is directly connected, Vlan10
L 192.168.10.126/32 is directly connected, Vlan10
C 192.168.10.128/27 is directly connected, Vlan30
L 192.168.10.158/32 is directly connected, Vlan30
C 192.168.10.160/28 is directly connected, Vlan50
L 192.168.10.174/32 is directly connected, Vlan50
C 192.168.10.176/28 is directly connected, Vlan20
L 192.168.10.190/32 is directly connected, Vlan20
C 192.168.10.192/30 is directly connected, GigabitEthernet1/0/47
L 192.168.10.194/32 is directly connected, GigabitEthernet1/0/47
C 192.168.10.196/30 is directly connected, GigabitEthernet1/0/48
L 192.168.10.197/32 is directly connected, GigabitEthernet1/0/48
C 192.168.10.208/28 is directly connected, Vlan99
L 192.168.10.222/32 is directly connected, Vlan99
C'est suffisant pour que tous les VLAN du siège communiquent entre eux. Pour sortir sur Internet ou joindre Marseille, il manque des routes : c'est l'objet du chapitre 7.
Le relais DHCP : ip helper-address
Un poste qui démarre sans adresse envoie un DHCPDISCOVER en diffusion (destination 255.255.255.255). Une diffusion ne traverse pas un équipement qui route : le serveur srv-ad, dans le VLAN 20, ne l'entend pas si le poste est dans le VLAN 10. La commande ip helper-address 192.168.10.177, posée sur la SVI du VLAN des clients, fait de SW-COEUR un relais DHCP :
- la SVI reçoit la diffusion du poste ;
- le switch la réémet en unicast vers
192.168.10.177, en inscrivant dans le champ giaddr (adresse du relais) sa propre adresse dans le VLAN du client,192.168.10.126; - le serveur lit giaddr et choisit l'étendue qui contient cette adresse, celle du VLAN 10 ;
- il répond au relais, qui transmet l'offre au poste.
Le relais se configure sur l'interface qui reçoit les demandes, c'est-à-dire la passerelle des clients, jamais sur celle du serveur. Et il en faut un par VLAN de clients : un VLAN oublié, c'est un étage entier en adresse APIPA (169.254.x.x). La configuration du serveur DHCP lui-même est dans le cours Services réseau.
Tester le routage entre VLAN
Depuis un poste du VLAN 10, on teste du plus proche au plus lointain :
ping 192.168.10.126: la passerelle répond, donc le poste, son port, le trunk et la SVI fonctionnent ;ping 192.168.10.190: l'autre SVI répond, donc le switch route (il répond pour toutes ses interfaces) ;ping 192.168.10.178: le serveur répond, donc l'aller et le retour fonctionnent ;tracert 192.168.10.178: un seul saut intermédiaire, la passerelle192.168.10.126.
C:\> tracert -d 192.168.10.178
Détermination de l'itinéraire vers 192.168.10.178 avec un maximum de 30 sauts.
1 <1 ms <1 ms <1 ms 192.168.10.126
2 <1 ms <1 ms <1 ms 192.168.10.178
Itinéraire déterminé.
Si l'étape 2 réussit et l'étape 3 échoue, cherche du côté du serveur : sa passerelle est-elle bien 192.168.10.190 ? Son pare-feu local bloque-t-il le ping ? Un serveur avec une passerelle fausse reçoit la requête et ne sait pas renvoyer la réponse.
Comparer les méthodes
| Critère | Router-on-a-stick | Switch de niveau 3 (SVI) | Pare-feu |
|---|---|---|---|
| Débit entre VLAN | Limité par le trunk et le routeur | Celui de la commutation, plusieurs dizaines de Gbit/s | Limité par la capacité du pare-feu |
| Coût | Un routeur, souvent déjà présent | Un switch de niveau 3, plus cher qu'un niveau 2 | Un pare-feu dimensionné pour tout le trafic interne |
| Filtrage entre VLAN | ACL sans état sur les sous-interfaces | ACL sans état sur les SVI | Filtrage avec état, journaux, IPS |
| Point unique de panne | Le routeur et le trunk | Le switch de cœur (sauf redondance, chapitre 6) | Le pare-feu (sauf grappe) |
| Usage typique | Agence, petite structure, maquette | Cœur de réseau d'un site | Architecture qui exige un contrôle fin de chaque flux |
Beaucoup d'entreprises combinent : le switch de niveau 3 route les VLAN internes à pleine vitesse, et le pare-feu filtre ce qui va vers Internet, la DMZ ou les réseaux sensibles.
Exercices
Exercice 1 sur 6 Choisir l'architecture Réussi À revoir
Pour chaque situation, propose une méthode de routage inter-VLAN et justifie en une phrase.
- Un cabinet de 8 personnes avec deux VLAN (postes et invités) et un routeur Cisco déjà en place.
- Un siège de 300 postes, dont le service de PAO échange toute la journée des fichiers de plusieurs gigaoctets avec un serveur.
- Une clinique qui doit tracer et filtrer finement chaque flux entre le réseau des soins, celui de l'administration et celui des invités.
Voir la réponseMasquer la réponse de l'exercice 1
- Router-on-a-stick : le trafic entre VLAN est faible, le routeur existe déjà, il suffit d'un trunk et de deux sous-interfaces.
- Switch de niveau 3 : le trafic entre le VLAN des postes et celui des serveurs est massif, il doit être routé à la vitesse de la commutation.
- Le pare-feu : il route et filtre avec état, journalise chaque flux et peut inspecter le trafic ; le switch de cœur se contente de transporter les VLAN jusqu'à lui par un trunk.
Tu avais trouvé ?
Exercice 2 sur 6 Trouver l'erreur du router-on-a-stick Réussi À revoir
Un stagiaire a configuré R-MARSEILLE ainsi. Les postes du VLAN 10 ne joignent pas leur passerelle, alors que les caméras du VLAN 50 fonctionnent.
interface GigabitEthernet0/0/1
no ip address
no shutdown
interface GigabitEthernet0/0/1.10
encapsulation dot1Q 20
ip address 10.30.1.126 255.255.255.128
interface GigabitEthernet0/0/1.50
encapsulation dot1Q 50
ip address 10.30.1.158 255.255.255.224
- Quelle est l'erreur ?
- Que se passe-t-il pour les trames du VLAN 10 arrivant sur le routeur ?
- Corrige la configuration.
Voir la réponseMasquer la réponse de l'exercice 2
- La sous-interface
.10est rattachée au VLAN 20 (encapsulation dot1Q 20) : le numéro de la sous-interface ne compte pas, c'est l'encapsulation qui choisit le VLAN. - Les trames étiquetées 10 n'ont aucune sous-interface correspondante : le routeur les ignore. Les postes n'obtiennent même pas de réponse ARP de leur passerelle. En prime, la passerelle
10.30.1.126répond dans le VLAN 20, où personne n'en veut. - Sous
interface GigabitEthernet0/0/1.10:encapsulation dot1Q 10. Vérifie ensuite avecshow running-config interface GigabitEthernet0/0/1.10que l'adresse10.30.1.126 255.255.255.128est toujours là (selon les versions, IOS la retire quand l'encapsulation change), et ajoute le relaisip helper-address 10.30.1.161, oublié lui aussi : sans lui, les postes n'obtiendront pas d'adresse.
Tu avais trouvé ?
Exercice 3 sur 6 La SVI qui reste éteinte Réussi À revoir
Sur SW-COEUR, on vient d'ajouter le VLAN 70 pour la vidéosurveillance de l'entrepôt. show ip interface brief affiche :
Interface IP-Address OK? Method Status Protocol
Vlan70 192.168.10.206 YES manual up down
- Que signifie l'état
up/downpour une SVI ? - Cite deux causes possibles.
- Quelles commandes lances-tu pour trancher ?
Voir la réponseMasquer la réponse de l'exercice 3
- La SVI est activée (
no shutdown), mais le VLAN 70 n'a aucun port actif sur le switch, ou n'existe pas : une SVI ne monte qu'avec au moins un port du VLAN en état de transmission. - Le VLAN 70 n'a pas été créé (
vlan 70oublié) ; aucun port d'accès n'est dans le VLAN 70 et aucun trunk actif ne le transporte (caméras pas encore branchées, VLAN absent de la listealloweddu trunk vers le switch d'étage). show vlan brief(le VLAN existe-t-il, avec quels ports ?),show interfaces trunk(un trunk le transporte-t-il, en état forwarding ?),show interfaces status(le port des caméras est-il connecté, dans le bon VLAN ?).
Tu avais trouvé ?
Exercice 4 sur 6 Le relais DHCP oublié Réussi À revoir
Après l'ajout du VLAN 30 sur SW-COEUR, les terminaux de scan de l'entrepôt obtiennent tous une adresse en 169.254.x.x. Les postes du VLAN 10 n'ont aucun problème. La SVI du VLAN 30 est configurée ainsi :
interface Vlan30
ip address 192.168.10.158 255.255.255.224
no shutdown
- Que signifie une adresse en
169.254.x.x? - Pourquoi les terminaux n'obtiennent-ils pas d'adresse ?
- Corrige la configuration, et dis quelle information le serveur DHCP utilisera pour choisir l'étendue.
Voir la réponseMasquer la réponse de l'exercice 4
- Une adresse APIPA : le terminal n'a reçu aucune réponse DHCP et s'est attribué une adresse de lien local.
- Leurs DHCPDISCOVER sont des diffusions, qui s'arrêtent à la SVI : sans relais, elles n'atteignent jamais
srv-ad, dans le VLAN 20. - Ajouter
ip helper-address 192.168.10.177sousinterface Vlan30. Le relais inscrit son adresse dans le VLAN des clients,192.168.10.158, dans le champ giaddr : le serveur choisit l'étendue qui contient cette adresse, celle de192.168.10.128/27. L'étendue doit exister et être activée sur le serveur.
Tu avais trouvé ?
Exercice 5 sur 6 Port routé ou SVI ? Réussi À revoir
- Quelle commande transforme le port Gi1/0/47 de SW-COEUR en port routé ?
- Une fois ce port routé, peut-on lui affecter un VLAN avec
switchport access vlan 20? Pourquoi ? - Donne un avantage du port routé sur une SVI dans un VLAN de transit pour relier SW-COEUR au pare-feu.
Voir la réponseMasquer la réponse de l'exercice 5
no switchport, dans le mode de configuration de l'interface, puisip address …etno shutdown.- Non : un port routé n'est plus un port de switch, les commandes
switchportn'ont plus de sens. Il faut d'abord revenir en mode commuté avecswitchport. - Au choix : pas de VLAN de transit à créer ni à protéger ; pas de Spanning Tree sur ce lien ; l'interface tombe dès que le lien physique est coupé, ce qui est détecté immédiatement, alors qu'une SVI peut rester active tant qu'un autre port du VLAN l'est.
Tu avais trouvé ?
Exercice 6 sur 6 Combien de sous-interfaces ? Réussi À revoir
Une PME a cinq VLAN d'utilisateurs, un VLAN d'administration et un VLAN natif sans machine. Elle route entre eux avec un routeur en router-on-a-stick.
- Combien de sous-interfaces avec une adresse IP faut-il créer ?
- Combien de câbles relient le switch au routeur ?
- Un poste copie un fichier de 2 Go vers un serveur d'un autre VLAN. Combien de fois ce fichier traverse-t-il le câble entre le switch et le routeur ?
Voir la réponseMasquer la réponse de l'exercice 6
- Six : une par VLAN d'utilisateurs et une pour l'administration. Le VLAN natif, sans machine, n'en a pas besoin.
- Un seul, en trunk 802.1Q.
- Deux fois : il monte vers le routeur avec l'étiquette du VLAN du poste, puis redescend avec celle du VLAN du serveur. C'est la limite de cette architecture : le lien est partagé par tous les flux entre VLAN.
Tu avais trouvé ?