Main menu:

Site search

Categories

mars 2009
L M M J V S D
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Archive

Utiliser les vlans avec Ubuntu

Pour pouvoir utiliser les vlans, il faut d’abord installer le paquet vlan et activer le module correspondant:

$ sudo aptitude install vlan
$ sudo modprobe 8021q

Si le lancement du module doit se faire au démarrage du PC, il faut ajouter ce module au fichier /etc/modules.

Quelques rappels sur les vlans d’abord. Un trunk est une connexion réseau sur laquelle transitent plusieurs vlans. Il est évident et important de remarquer que tous le vlans dans un trunk partagent la même bande passante.
A chaque trame IP est ajouté un identifiant sur 4 octets. En mode unicast, lorsqu’un switch reçoit un paquet IP, il regarde vers quel port il doit l’envoyer en utilisant à la fois l’adresse MAC de destination et l’identifiant du vlan. En mode broadcast, le paquet IP est envoyé à tous les ports correspondant à ce numéro de vlan.
Dans un PC, pour pouvoir gérer plusieurs vlans, on créera une ou plusieurs interfaces virtuelles. Lorsqu’un PC reçoit un paquet IP avec un numéro de vlan, il détermine au moyen de ce numéro de vlan à quelle interface virtuelle ce paquet appartient. Une interface virtuelle se comporte comme une interface physique normale.

La première chose à faire donc est de raccorder le PC à un trunk. A ce moment, une interface réseau peut être attachée à un ou plusieurs vlans en créant des interfaces virtuelles. On procède comme ceci pour créer une interface virtuelle attachée à une interface physique (exemple donné pour le vlan 2 ou le vlan 21):

$ sudo vconfig add eth0 2
ou
$ sudo vconfig add eth0 21

ce qui donne comme résultat lorsqu’on demande à ifconfig de nous afficher la configuration des interfaces:

$ sudo vconfig add eth0 2
Added VLAN with VID == 2 to IF -:eth0:-
$ ifconfig -a
...
eth0.2    Link encap:Ethernet  HWaddr 00:0b:5d:9f:03:df  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)
...

Pour supprimer la nouvelle interface virtuelle, il faudrait taper:

$ sudo vconfig rem eth0.2
Removed VLAN -:eth0.2:-

Pratiquement, pour raccorder votre PC à un vlan (par exemple le vlan 22) de façon à ce que l’interface soit configurée dès le démarrage, il faut modifier le fichier /etc/network/interfaces comme ci-dessous puis activer l’interface:

$ sudo nano /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0 vlan22
iface eth0 inet dhcp

# VLAN22
iface vlan22 inet static
address 10.224.66.200
netmask 255.255.255.0
vlan_raw_device eth0

$ sudo ifup vlan22

Note: Il est bien sûr possible de créer plusieurs vlans sur la même interface ou sur des interfaces différentes.

$ ifconfig -a
...
vlan22    Link encap:Ethernet  HWaddr 00:0b:5d:9f:03:df  
          inet adr:10.224.66.200  Bcast:10.224.66.255  Masque:255.255.255.0
          adr inet6: fe80::20b:5dff:fe9f:3df/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Packets reçus:9 erreurs:0 :0 overruns:0 frame:0
          TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          Octets reçus:1319 (1.3 KB) Octets transmis:6891 (6.8 KB)
...

Remarquez que nous aurions pu donner n’importe quel nom à notre interface virtuelle. L’appeler vlan n’est en rien une obligation.
Tout ceci n’est pas fort différent de la configuration habituelle des interfaces physiques. C’est aussi un des gros avantages des vlans.