Inter-VLAN Router-on-a-Stick
1 routeur R1, 3 switchs S1/S2/S3 et 3 VLANs — communication inter-VLAN via sous-interfaces 802.1Q. S1 est le switch central qui fait le lien entre R1 et les deux autres switchs.
La méthode Router-on-a-Stick permet à un seul routeur de faire transiter le trafic entre plusieurs VLANs grâce à des sous-interfaces sur sa prise fa0/0. S1 est le switch central — il reçoit le trunk de R1 et distribue vers S2 et S3 via d'autres trunks.
Objectif : Tous les PC peuvent communiquer entre eux, quel que soit leur VLAN, via R1. S1 est le switch central connecté à R1 par un seul lien trunk 802.1Q. S2 et S3 sont reliés à S1 par des trunks portant les 3 VLANs.
| Équipement | Interface | Adresse IP | VLAN | Gateway |
|---|---|---|---|---|
| R1 | fa0/0.10 | 192.168.10.1 | 10 | — |
| R1 | fa0/0.20 | 192.168.20.1 | 20 | — |
| R1 | fa0/0.30 | 192.168.30.1 | 30 | — |
| PC-S1-A | S1 Fa0/2 | 192.168.10.20 | 10 | 192.168.10.1 |
| PC-S1-B | S1 Fa0/3 | 192.168.20.20 | 20 | 192.168.20.1 |
| PC0 | S2 Fa0/1 | 192.168.10.10 | 10 | 192.168.10.1 |
| PC1 | S2 Fa0/2 | 192.168.30.10 | 30 | 192.168.30.1 |
| PC4 | S3 Fa0/1 | 192.168.20.10 | 20 | 192.168.20.1 |
| PC5 | S3 Fa0/2 | 192.168.30.11 | 30 | 192.168.30.1 |
Un routeur Cisco possède des interfaces physiques en nombre limité.
Dans notre cas, R1 n'a qu'une seule prise disponible :
fa0/0. Or on a
3 VLANs,
donc 3 réseaux IP différents à relier entre eux. Comment faire ?
Il faudrait 3 câbles physiques entre R1 et les switchs — une interface par VLAN. En pratique, le routeur n'a souvent pas assez de ports. Non scalable.
1 seul câble entre R1 et S1. Les 3 VLANs cohabitent grâce au tag 802.1Q. Les sous-interfaces sont virtuelles — elles existent dans le logiciel, pas en hardware.
Quand S1 envoie une trame vers R1 via le trunk, il colle un tag 4 octets dans l'entête Ethernet — c'est le tag 802.1Q. Ce tag contient le numéro du VLAN (10, 20 ou 30). R1 lit ce tag et redirige la trame vers la sous-interface correspondante.
R1 lit le champ
VLAN ID
du tag 802.1Q pour savoir vers quelle sous-interface acheminer la
trame. Trame tagguée
VLAN 10
→
fa0/0.10. Trame tagguée
VLAN 20 →
fa0/0.20. Trame tagguée
VLAN 30
→
fa0/0.30.
fa0/0.10
FastEthernet
slot 0 / port 0
sous-interface
(= VLAN 10 par convention)
dédiée au VLAN 10
192.168.10.1/24
Le numéro après le point (.10) peut théoriquement être différent de l'ID du VLAN, mais
par convention on les fait toujours correspondre
pour éviter toute confusion.
fa0/0.10
= sous-interface pour VLAN 10,
fa0/0.20
= sous-interface pour VLAN 20, etc.
Au lieu d'une interface physique par VLAN, on crée des sous-interfaces logiques sur fa0/0. Chaque sous-interface porte un VLAN différent grâce à l'encapsulation 802.1Q.
| Commande | Explication |
|---|---|
| interface fa0/0 |
Interface physique —
sans IP, juste
no shutdown. Elle sert de "parent" pour les sous-interfaces.
|
| interface fa0/0.10 |
Crée la sous-interface n°10 (le numéro peut être différent
du VLAN mais par convention on les fait correspondre). Le
prompt devient
R1(config-subif)#.
|
| encapsulation dot1Q 10 |
Obligatoire avant
ip address.
Associe la sous-interface au VLAN 10 et active le tag
802.1Q. Sans cette commande, l'interface ne peut pas
recevoir d'adresse IP.
|
| ip address 192.168.10.1 255.255.255.0 | Adresse IP de la passerelle pour le VLAN 10. Tous les PC du VLAN 10 pointeront vers cette adresse comme gateway. |
Ordre des commandes :
encapsulation dot1Q
toujours avant
ip address. De même, le
no shutdown doit
être fait sur
fa0/0 physique
— les sous-interfaces héritent de cet état.
Chaque switch doit avoir ses VLANs créés localement. Les ports vers R1, S2 et S3 sont en trunk. Les ports vers les PC sont en access.
| Commande | Explication |
|---|---|
| vlan 10 / name RH | Crée le VLAN et lui donne un nom. À faire sur les 3 switchs — un VLAN inexistant sur un switch ne passera pas le trunk. |
| switchport mode trunk | Configure un port pour transporter plusieurs VLANs. Utilisé sur les ports vers R1 (S1 Fa0/1), vers S2 (S1 Fa0/23) et vers S3 (S1 Fa0/24). |
| switchport trunk allowed vlan 10,20,30 | Limite les VLANs autorisés sur le trunk. Bonne pratique de sécurité : n'autoriser que ce qui est nécessaire. |
| switchport mode access | Mode access : un seul VLAN par port. Utilisé sur les ports connectés aux PC finaux. |
| switchport access vlan 10 | Assigne le port au VLAN 10. Adapter le numéro selon le PC connecté. |
R1 crée
3 sous-interfaces
sur fa0/0 — une par VLAN. L'interface physique fa0/0 reste sans IP,
activée uniquement avec
no shutdown.
Router> enable Router# configure terminal Router(config)# hostname R1 R1(config)# no ip domain-lookup ! ── Interface physique — pas d'IP, juste activer ── R1(config)# interface fa0/0 R1(config-if)# no shutdown R1(config-if)# exit ! ── Sous-interface VLAN 10 ── R1(config)# interface fa0/0.10 R1(config-subif)# encapsulation dot1Q 10 R1(config-subif)# ip address 192.168.10.1 255.255.255.0 R1(config-subif)# exit ! ── Sous-interface VLAN 20 ── R1(config)# interface fa0/0.20 R1(config-subif)# encapsulation dot1Q 20 R1(config-subif)# ip address 192.168.20.1 255.255.255.0 R1(config-subif)# exit ! ── Sous-interface VLAN 30 ── R1(config)# interface fa0/0.30 R1(config-subif)# encapsulation dot1Q 30 R1(config-subif)# ip address 192.168.30.1 255.255.255.0 R1(config-subif)# exit R1(config)# end R1# copy running-config startup-config
S1 est le pivot de la topologie — il possède 3 ports trunk : vers R1 (Fa0/1), vers S2 (Fa0/23) et vers S3 (Fa0/24). Il héberge aussi 2 PC directement (VLAN 10 et 20).
Switch> enable Switch# configure terminal Switch(config)# hostname S1 ! ── Création des VLANs ── S1(config)# vlan 10 S1(config-vlan)# name RH S1(config-vlan)# exit S1(config)# vlan 20 S1(config-vlan)# name Compta S1(config-vlan)# exit S1(config)# vlan 30 S1(config-vlan)# name IT S1(config-vlan)# exit ! ── Trunk vers R1 (Fa0/1) ── S1(config)# interface FastEthernet0/1 S1(config-if)# switchport mode trunk S1(config-if)# switchport trunk allowed vlan 10,20,30 S1(config-if)# exit ! ── Trunk vers S2 (Fa0/23) ── S1(config)# interface FastEthernet0/23 S1(config-if)# switchport mode trunk S1(config-if)# switchport trunk allowed vlan 10,20,30 S1(config-if)# exit ! ── Trunk vers S3 (Fa0/24) ── S1(config)# interface FastEthernet0/24 S1(config-if)# switchport mode trunk S1(config-if)# switchport trunk allowed vlan 10,20,30 S1(config-if)# exit ! ── Port accès PC-S1-A (Fa0/2) — VLAN 10 ── S1(config)# interface FastEthernet0/2 S1(config-if)# switchport mode access S1(config-if)# switchport access vlan 10 S1(config-if)# exit ! ── Port accès PC-S1-B (Fa0/3) — VLAN 20 ── S1(config)# interface FastEthernet0/3 S1(config-if)# switchport mode access S1(config-if)# switchport access vlan 20 S1(config-if)# exit S1(config)# end S1# write memory
S2 héberge PC0 (VLAN 10) et PC1 (VLAN 30). Son seul port trunk va vers S1 (Fa0/24).
Switch> enable Switch# configure terminal Switch(config)# hostname S2 ! ── Création des VLANs (obligatoire sur chaque switch) ── S2(config)# vlan 10 S2(config-vlan)# name RH S2(config-vlan)# exit S2(config)# vlan 20 S2(config-vlan)# name Compta S2(config-vlan)# exit S2(config)# vlan 30 S2(config-vlan)# name IT S2(config-vlan)# exit ! ── Trunk vers S1 (Fa0/24) ── S2(config)# interface FastEthernet0/24 S2(config-if)# switchport mode trunk S2(config-if)# switchport trunk allowed vlan 10,20,30 S2(config-if)# exit ! ── Port accès PC0 (Fa0/1) — VLAN 10 ── S2(config)# interface FastEthernet0/1 S2(config-if)# switchport mode access S2(config-if)# switchport access vlan 10 S2(config-if)# exit ! ── Port accès PC1 (Fa0/2) — VLAN 30 ── S2(config)# interface FastEthernet0/2 S2(config-if)# switchport mode access S2(config-if)# switchport access vlan 30 S2(config-if)# exit S2(config)# end S2# write memory
S3 héberge PC4 (VLAN 20) et PC5 (VLAN 30). Son seul port trunk va vers S1 (Fa0/24).
Switch> enable Switch# configure terminal Switch(config)# hostname S3 ! ── Création des VLANs (obligatoire sur chaque switch) ── S3(config)# vlan 10 S3(config-vlan)# name RH S3(config-vlan)# exit S3(config)# vlan 20 S3(config-vlan)# name Compta S3(config-vlan)# exit S3(config)# vlan 30 S3(config-vlan)# name IT S3(config-vlan)# exit ! ── Trunk vers S1 (Fa0/24) ── S3(config)# interface FastEthernet0/24 S3(config-if)# switchport mode trunk S3(config-if)# switchport trunk allowed vlan 10,20,30 S3(config-if)# exit ! ── Port accès PC4 (Fa0/1) — VLAN 20 ── S3(config)# interface FastEthernet0/1 S3(config-if)# switchport mode access S3(config-if)# switchport access vlan 20 S3(config-if)# exit ! ── Port accès PC5 (Fa0/2) — VLAN 30 ── S3(config)# interface FastEthernet0/2 S3(config-if)# switchport mode access S3(config-if)# switchport access vlan 30 S3(config-if)# exit S3(config)# end S3# write memory
Dans Packet Tracer : Desktop → IP Configuration. La gateway de chaque PC est l'adresse de la sous-interface R1 correspondant à son VLAN.
| Commande | Ce que ça vérifie |
|---|---|
| show ip interface brief | Sur R1 : les 3 sous-interfaces fa0/0.10, .20, .30 doivent être up/up. Si fa0/0 physique est down, les sous-interfaces ne montent jamais. |
| show ip route |
Sur R1 : 3 routes directement connectées (C) pour les 3 sous-réseaux VLAN.
|
| show vlan brief | Sur chaque switch : VLAN 10, 20 et 30 doivent apparaître avec leurs ports assignés. |
| show interfaces trunk | Liste les ports trunk actifs et les VLANs autorisés/en circulation. Sur S1, 3 ports doivent apparaître. |
| show running-config |
Vérification globale de toute la config. Contrôler que
encapsulation dot1Q
précède bien
ip address sur
R1.
|
| Depuis | Vers | Chemin | Résultat |
|---|---|---|---|
| PC0 (VLAN10) | 192.168.20.10 (PC4) | S2→S1→R1→S1→S3 | ✓ Success |
| PC0 (VLAN10) | 192.168.30.10 (PC1) | S2→S1→R1→S1→S2 | ✓ Success |
| PC4 (VLAN20) | 192.168.30.11 (PC5) | S3→S1→R1→S1→S3 | ✓ Success |
| PC5 (VLAN30) | 192.168.10.20 (PC-S1-A) | S3→S1→R1→S1 | ✓ Success |
fa0/0 sans IP :
l'interface physique du routeur n'a pas d'adresse IP propre. Elle
est juste activée avec
no shutdown. Ce sont les
sous-interfaces
qui portent les adresses.
encapsulation avant ip address :
toujours saisir
encapsulation dot1Q [id]
en premier. Si tu mets
ip address avant,
Cisco retournera une erreur.
VLANs sur les 3 switchs : même si S2 ne connecte pas de PC VLAN 20, il doit quand même créer le VLAN 20 pour que les trames 802.1Q correspondantes puissent traverser ses ports trunk.
S1 → R1 obligatoirement trunk : le port de S1 connecté à R1 (Fa0/1) doit être en mode trunk. Si ce port est en access, R1 ne recevra qu'un seul VLAN et les autres seront inaccessibles.
write memory sur les 4 équipements : R1, S1, S2 et S3. Sans sauvegarde, toute configuration disparaît au redémarrage de Packet Tracer.