Vlan : sur Debian ou Ubuntu

Je vais vous montrer comment mettre en place des VLANs sur un serveur Debian/Ubuntu.
Qu'est ce qu'un VLAN ?
C'est un réseau local virtuel, communément appelé VLAN (pour Virtual Local Area Network), est un réseau informatique logique indépendant. De nombreux VLAN peuvent coexister sur un même commutateur réseau.
Les VLAN présentent les intérêts suivants:

Améliorer la gestion du réseau.

Optimiser la bande passante.

Séparer les flux.

Segmentation : réduire la taille d'un domaine de broadcast

Sécurité : permet de créer un ensemble logique isolé pour améliorer la sécurité.
Le seul moyen pour communiquer entre des machines appartenant à des VLAN différents est alors de passer par un ou plusieurs routeurs ou simplement de mettre en place les même VLAN sur le serveur.

Avant de vous expliquer comment faire je vous expliqué ce qu'est la norme 802.1Q.
Le standard IEE 802.1Q fournit un mécanisme d'encapsulation très répandu et implanté dans de nombreux équipements de marques différentes.
Il permet de propager plusieurs VLANs sur un même lien physique (trunk).

Il faut installer le package qui nous permettra d’activer le module 8021q:

apt-get update
apt-get upgrade -y
apt-get install vlan

Puis, on active le module

echo 8021q >> /etc/modules

Pour évité de redémarrer la machine:

modprobe 8021q

Le module activé, nous pouvons configurer nos interfaces virtuelles.
Sous LINUX, nous pouvons créer des Vlans de manière dynamique, c'est à dire qu'au premier redémarrage ils disparaitront, je montrerai aussi comment faire la même chose de manière permanente.

solution temporaire

Voici les commandes qui vont permettre la création d'un vlan

ip link add link <nom interface> name <nom de interface du vlan> type vlan id <num vlan>
ip link set dev <nom de interface du vlan> up
ip addr add <IP/masque> brd <broadcast IP> dev <nom de interface du vlan>
ip -d link show <nom de interface du vlan>

exemple : Nous allons créer un vlan 5 sur l'interface eno1:

ip link add link eno1 name eno1.5 type vlan id 5
ip link set dev eno1.5 up
ip addr add 192.168.1.200/24 brd 192.168.1.255 dev eno1.5
ip -d link show eno1.5

sur la commande ip addr add …: l'option brd n'est pas indispensable

Pour supprimer le vlan :

ip link set dev eno1.5 down
ip link delete eno1.5

Solution permanent

Pour cela nous allons éditer le fichier de configuration des interfaces réseau (interfaces dans /etc/network)

auto <nom interface>
iface <nom interface> inet <dhcp ou static>
address <IP> #SI CE N'EST PAS EN DHCP
netmask <mask> #SI CE N'EST PAS EN DHCP
auto <nom interface>.<num vlan>
iface <nom interface>.<num vlan> inet <dhcp ou static>
address <IP> #SI CE N'EST PAS EN DHCP
netmask <mask> #SI CE N'EST PAS EN DHCP
vlan-raw-device <nom interface>

exemple : Nous allons créer sur l'interface eno1 le vlan 5

auto eno1
iface eno1 inet static
address 192.168.2.13
netmask 255.255.255.0
gateway 192.168.2.254
auto eno1.5
iface eno1.5 inet static
address 192.168.3.13
netmask 255.255.255.0
vlan-raw-device eno1

La même chose en DHCP

auto eno1
iface eno1 inet dhcp

auto eno1.5
iface eno1.5 inet dhcp
vlan-raw-device eno1

Source: wikipédia.org