Configurer des VLANs (802.1q) sur un serveur Linux avec Netplan¶
Résumé
Ce tutoriel explique comment configurer une interface réseau Linux pour qu'elle puisse communiquer sur plusieurs VLANs (norme 802.1q) en utilisant Netplan. Cette configuration est indispensable lorsque votre serveur est connecté à un port de switch configuré en mode "Trunk" (ou tagged).
| Propriété | Valeur |
|---|---|
| Difficulté | Intermédiaire |
| OS / Environnement | Ubuntu 24.04 (ou toute distribution utilisant Netplan) |
| Dernière mise à jour | 2026-06-20 |
Contexte¶
En entreprise ou en laboratoire, un serveur physique ou une machine virtuelle doit souvent accéder à plusieurs réseaux isolés (VLANs). Au lieu d'ajouter une carte réseau physique pour chaque réseau, on utilise le standard 802.1q. Cela permet de faire transiter plusieurs VLANs sur un seul câble, via un port de switch configuré en Trunk.
Côté serveur Linux, il faut "découper" cette interface physique en plusieurs interfaces virtuelles, chacune associée à un ID de VLAN (le VLAN tag). Sous les distributions modernes basées sur Debian/Ubuntu, cela se fait très simplement avec Netplan.
Prérequis¶
- Un serveur Linux (Ubuntu 22.04 / 24.04) fonctionnant avec Netplan.
- Des privilèges d'administration (
sudoouroot). - Le nom de votre interface physique connectée au switch (ex:
eth0,enp3s0). - Un port de commutateur (switch) configuré en Trunk (laissant passer les VLANs souhaités).
- Les IDs de VLAN et les adresses IP prévues. Dans ce tutoriel, nous utiliserons :
- VLAN 10 (Management) :
10.0.10.5/24 - VLAN 20 (Production) :
10.0.20.5/24
- VLAN 10 (Management) :
Procédure¶
Étape 1 : Identifier l'interface réseau physique¶
Avant de configurer les VLANs, vous devez connaître le nom de l'interface qui reçoit le lien Trunk.
Résultat attendu
Vous devriez voir une interface active (avec l'état UP), par exemple enp3s0. C'est cette interface qui servira de base (interface "parente") pour nos VLANs.
Étape 2 : Éditer la configuration Netplan¶
Les fichiers de configuration de Netplan se trouvent dans le répertoire /etc/netplan/ et portent l'extension .yaml.
Ouvrez le fichier de configuration existant ou créez-en un nouveau (par exemple 50-cloud-init.yaml ou 01-netcfg.yaml) :
Voici comment structurer votre fichier YAML pour déclarer les deux VLANs sur l'interface enp3s0 :
Attention à l'indentation
Le format YAML est extrêmement strict sur l'indentation. Utilisez des espaces (2 espaces par niveau), et jamais de tabulations.
Étape 3 : Tester et appliquer la configuration¶
Netplan permet de tester la configuration avant de l'appliquer définitivement, ce qui évite de perdre la main sur le serveur en cas d'erreur de syntaxe ou de routage.
Si le test est concluant, validez en appuyant sur Entrée. Si la commande ne retourne pas d'erreur, mais que vous voulez appliquer directement (en connaissance de cause) :
Vérification¶
Une fois la configuration appliquée, vérifions que les interfaces virtuelles ont bien été créées et qu'elles possèdent les bonnes adresses IP.
Résultat attendu
lo UNKNOWN 127.0.0.1/8 ::1/128
enp3s0 UP
vlan10@enp3s0 UP 10.0.10.5/24 fe80::...
vlan20@enp3s0 UP 10.0.20.5/24 fe80::...
vlan10 et vlan20 attachées à l'interface parente @enp3s0. Vérifiez ensuite la connectivité vers les passerelles respectives des VLANs :
Ressources¶
- Documentation officielle Ubuntu sur Netplan — Le manuel officiel pour la configuration réseau sous Ubuntu.
- Standard IEEE 802.1Q — Pour approfondir la théorie sur le fonctionnement du protocole d'encapsulation des VLANs.