Routage Inter-(V)LAN : Du physique au virtuel

Routage entre LANs ou routage Inter-VLAN … même combat! Pour qu’un routeur puisse router un paquet d’un domaine de diffusion à un autre il doit posséder une interface configurée dans chacun d’eux …

Je vais tenter par le biais de cet article de clarifier cette notion de « routage Inter-Vlan ». Pour cela, nous allons prendre comme base un routeur connecté à deux domaines de diffusions, le Subnet A (192.168.0.0/24) et le Subnet B (192.168.1.0/24).

Ceci est ce qu’on peut appeler la topologie logique. Elle reprend les subnets (domaines de diffusions) et l’équipement qui les interconnecte, le routeur.

A partir de là il y a plusieurs façon de réaliser cette topologie…

La méthode « physique »

Sans aucun doute la méthode la plus évidente. Il suffit de connecter chacune des interface du routeur à un switch par exemple et de lui configurer l’adresse adéquate.

Router(config)#interface fastEthernet 0/0
Router(config-if)#ip address 192.168.0.1 255.255.255.0
Router(config-if)#no shutdown
Router(config)#interface fastEthernet 0/1
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#no shutdown

Sans aucune suprise, on constate que deux routes connectées apparaissent dans la table de routage…

Router#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
 D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
 i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
 * - candidate default, U - per-user static route, o - ODR
 P - periodic downloaded static route

Gateway of last resort is not set

C 192.168.0.0/24 is directly connected, FastEthernet0/0
C 192.168.1.0/24 is directly connected, FastEthernet0/1
Router#

Avantages:

  • Simplicité de mise en place
  • Ne fait appel à aucune technologie avancée et donc peut être implémenté sur quasi n’importe quel équipement (une routeur Linux et deux switch non manageables par exemple).

Inconvénients:

  • S’adapte difficilement à un grand nombre de subnets (il faut une interface physique par subnet)
  • Coût élevé en matériel, chaque subnet requiert également un switch supplémentaire.

 Intégration des VLANs

Les VLANs (Virtual LANs) permettent entre autre de diviser un même switch en plusieurs domaine de diffusions. Dans le cas présent, on recrée donc le principe précédent, à savoir deux domaines de diffusions distincts. Dans chacun de ses VLANs on place une partie des interfaces du switch, ensuite on connecte chaque interface du routeur à une interface placée dans le VLAN souhaité.

Configuration du switch:

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)#exit
Switch#

Configuration du routeur:

Router(config)#interface fastEthernet 0/0
Router(config-if)#ip address 192.168.0.1 255.255.255.0
Router(config-if)#no shutdown
Router(config)#interface fastEthernet 0/1
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#no shutdown

Résultat:

Côté routeur rien ne change… (la configuration est identique)

Router#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
 D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
 i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
 * - candidate default, U - per-user static route, o - ODR
 P - periodic downloaded static route

Gateway of last resort is not set

C 192.168.0.0/24 is directly connected, FastEthernet0/0
C 192.168.1.0/24 is directly connected, FastEthernet0/1
Router#

Côté switch, les interfaces sont placées dans deux VLANs différents. Une machine connectée dans le VLAN10 ne pourra donc pas communiquer directement avec une machine du VLAN20. Elle doit passer par le routeur… comme dans la version 100% physique.

Avantages:

  • Simplicité de mise en place côté routeur.
  • Il n’est plus nécessaire d’avoir un switch par subnet.

Inconvénients:

  • S’adapte difficilement à un grand nombre de subnets (il faut une interface physique par subnet) côté routeur mais également côté switch!
  • Il faut utiliser un switch manageable qui supporte les VLANs

Méthode « Router on-a-stick »

L’idée est la suivante: on veut limiter le nombre de connexions physiques et les partager entre plusieurs domaines de diffusions. Cependant côté switch, il est impossible de placer une interface dans deux VLANs … C’est là qu’intervient le concept de Trunk!

Un trunk est une liaison sur laquelle les trames Ethernet sont taguées (ou encapsulée suivant le protocole utilisé). Ce tag (ou entête supplémentaire) contient entre autre l’identifiant du VLAN d’où provient la trame de sorte que l’équipement qui la reçoit puisse la réattribuer au bon domaine de diffusion.

Un switch peut être configuré pour établir un trunk sur une interface … mais pas un routeur… De ce côté là, il faut respecter le principe de base … une interface par domaine de diffusion. Dés lors on fait appel à la notion de sub-interface. Pour faire simple, c’est un peu comme si on découpait l’interface physique en plusieurs morceaux. Chacun de ses morceau est ensuite configuré pour accepter les trames taguées avec un identifiant de VLAN défini.

Configuration du switch:

 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/2 - 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)#int fastEthernet 0/1
 Switch(config-if)#switchport mode trunk
 Switch(config-if)#^Z
 Switch#

Configuration du routeur:

Router(config)#interface fastEthernet 0/0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface fastEthernet 0/0.10
Router(config-subif)#encapsulation dot1Q 10
Router(config-subif)#ip address 192.168.0.1 255.255.255.0
Router(config-subif)#exit
Router(config)#interface fastEthernet 0/0.20
Router(config-subif)#encapsulation dot1Q 20
Router(config-subif)#ip address 192.168.1.1 255.255.255.0
Router(config-subif)#^Z
Router#

Résultat:

Sans la moindre surprise, le routeur dispose d’une interface dans chacun des domaines de diffusion. Toutefois, cette fois-ci il s’agit d’interface virtuelles, des subdivisions de l’interface physiques.

Remarque: le nom de la sub-interface (Fa0/0.10 par exemple) n’a aucun lien avec l’identifiant du VLAN associé, c’est la commande « encapsulation dot1q xxx » qui associe le VLAN xxx à la sub-interface en question.

Router#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
 D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
 i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
 * - candidate default, U - per-user static route, o - ODR
 P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.0.0/24 is directly connected, FastEthernet0/0.10
C 192.168.1.0/24 is directly connected, FastEthernet0/0.20
Router#

Avantages:

  • Une seule liaison physiques pour plusieurs domaines de diffusion
  • Facilement extensible, il suffit de créer une nouvelle sub-interface sur le routeur et un nouveau vlan sur le switch.

Inconvénients:

  • Tous les domaines de diffusions passent par la même liaison physique qui devient le goulot d’étranglement
  • Il faut faire appel à un switch manageable qui supporte les trunks dot1q et à un routeur capable de prendre en charge le protocole dot1q également.

Le switch multi-layer

Certainement la méthode la plus utilisée pour le routage inter-vlan. Pour simplifier à la limite de la caricature, c’est un peu comme si on installait un routeur dans un switch et qu’on les reliait en interne. Bien sur c’est plus complexe que cela, mais l’idée générale est facilement compréhensible.

Un switch multi-layer est un switch (sérieux?) mais capable de faire bien plus que son job de niveau 2. Par configuration on peut y activer le routage IP ce qui le transforme en routeur potentiel.

Pour la configuration, le principe d’origine reste valable, il nous faut une interface par domaine de diffusion… mais ici, vu que tout est interne au MLS (multi layer switch), on ne fait plus appel aux interfaces physiques du tout. On utilise les SVIs (Switched Virtual Interface) qui sont ni plus ni moins que les « interface VLAN ». Les portes d’accès du switch pour émettre des trames dans les différents domaines de diffusion.

Il n’y pas grande chose à faire si ce n’est:

  • Créer les VLANs
  • Placer les interfaces du switch dans les VLANs
  • Activer le routage IP
  • Créer et configurer les SVIs
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
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#

Au final le MLS possède une interface dans chacun des domaines de diffusion et sa table e routage reprend les deux routes connectées.

Switch#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
 D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
 N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
 i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
 * - candidate default, U - per-user static route, o - ODR
 P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.0.0/24 is directly connected, Vlan10
C 192.168.1.0/24 is directly connected, Vlan20
Switch#

Remarque: Pour qu’une SVI soit UP/UP (et donc par conséquent que la route connectée associée apparaisse dans la table de routage, il faut qu’il y ait au moins une interface active dans le VLAN concerné (ou un Trunk qui laisse passer ce VLAN).

Avantages:

  • Le routage inter-vlan n’est plus dépendant de la bande passante d’une liaison physique.
  • Facilement extensible, il suffit de créer un nouveau VLAN et une nouvelle SVI associée.

Inconvénients:

  • Les MLS sont des équipements bien plus cher qu’un switch ou un routeur standard (voire même les deux rassemblés).

Conclusion:

Quelque 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!

12 Comments on “Routage Inter-(V)LAN : Du physique au virtuel

  1. j’ai ommis d’ajouter que linterface admin du switch est sur le meme vlan que le switch 1 et aussi que si je branche un PC sur un port du switch 2 je peux pinguer tout les vlans depuis le PC. Ma question est vraiment le ping depuis l’interface du switch qui est down tant que je ne met pas de defaultGW.

    Merci

    • La passerelle par défaut est le next-hop de la route par défaut de la machine. C’est ce qui permet à une machine quelconque de communiquer en dehors de son réseau. La passerelle par défaut indique l’adresse de la machine à laquelle il faut transmettre le paquet afin qu’elle le redirige vers le réseau de destination.

      Il ne faut pas oublier que d’un point de vue routage, si une machine n’a pas de route vers une destination, elle n’émettra pas le paquet.

      Pas de route… pas de paquet. Pas de paquet … pas de paquet!.

      Donc une machine qui n’a pas de passerelle par défaut (ou de route spécifique vers la destination) ne sait pas comment émettre un paquet vers cette destination et ne l’enverra donc pas.

  2. Bonjour Steve,

    merci pour ta reponse, donc si je comprend bien comme mon switch est connecté en direct via l’interface trunk au routeur, tout les VLANs configuré sur le routeur pourront etre joignable de part et d’autre sans configurer de passerelle par default à mon switch.
    Que se passe t’il si j’ajoute un autre switch que je le trunk avec mon premier switch.
    J’ai essayé mais je ne comprends pas le ping depuis le switch 2 vers les differents VLAN ne fonctionne pas tant que je ne met pas de default-gw.

    Peux tu m’eclaircir sur ce point please?

    Merci par avance,

  3. Bonsoir Steve,

    Je viens de faire en lab une configuration « router on a stick » avec plusieurs VLAN dont un VLAN d’admin (99).
    Je peux depuis l’interface d’admin du switch pingué l’ensemble des PC sur les differents VLAN et vice-versa via le routeur configuré.
    Après réflexion et lecture d’un autre article je m’aperçois que mon switch n’a pas de default ip-gw de configuré.
    J’aimerai savoir à quoi sert de configurer cette defaut ip-gw vu que l »interface VLAN admin peut répondre à une requete d’un autre PC d’un VLAN different en utilisant le dot1q configuré précédemment.

    Merci par avance pour votre reponse.

    • La passerelle par défaut permet au switch de communiquer avec un autre réseau, par l’intermédiaire de cette même passerelle, lorsqu’il n’a pas lui même accès à ce réseau.

  4. Bonjour,

    Dans ce cas précis, le VLAN 20 et 10 communiquent de manière totale ?

    Est il possible de faire un routage statique fin entre ces 2 VLANS ?

      • Quelque soit la méthode, le routage est fonctionnel et complet à partir du moment où le routeur (ou switch multi-layer) a une interface connectée et adressé dans chacun des domaines de diffusion.