VLAN 802.1Q sur Linux Configurer des sous-interfaces VLAN 802.1Q sur un serveur dédié HolyCloud pour isoler trafic public, stockage ou management. ~14 min de lecture Avancé #vlan #802.1q #reseau #dedie VLAN 802.1Q sur Linux Le standard IEEE 802.1Q encapsule le trafic Ethernet dans des VLAN tagués. Sur un serveur dédié HolyCloud avec port trunk, vous séparez management, production et stockage sans cartes réseau multiples. Prérequis VLAN provisionnés côté switch/datacenter (IDs confirmés par HolyCloud) Interface physique connectée en mode trunk (pas access seul) Accès root, sauvegarde réseau avant modification Risque de coupure SSH : gardez IPMI/KVM ouvrable Concepts [Switch] -- trunk (VLAN 100, 200) --> [eth0] ├── eth0.100 (public) └── eth0.200 (stockage iSCSI) Le tag VLAN est ajouté par le module 8021q. Charger le module sudo modprobe 8021q echo 8021q | sudo tee /etc/modules-load.d/vlan.conf Création manuelle (test) ip link show eth0 sudo ip link add link eth0 name eth0.100 type vlan id 100 sudo ip addr add 10.10.100.2/24 dev eth0.100 sudo ip link set eth0.100 up ping -c 2 10.10.100.1 Suppression : sudo ip link del eth0.100 Persistance : iproute2 (interfaces) Debian /etc/network/interfaces : auto eth0 iface eth0 inet manual auto eth0.100 iface eth0.100 inet static address 203.0.113.50 netmask 255.255.255.248 gateway 203.0.113.49 vlan-raw-device eth0 auto eth0.200 iface eth0.200 inet static address 192.168.200.10 netmask 255.255.255.0 vlan-raw-device eth0 sudo ifreload -a Netplan network: version: 2 vlans: eth0.100: id: 100 link: eth0 addresses: [203.0.113.50/29] routes: - to: default via: 203.0.113.49 eth0.200: id: 200 link: eth0 addresses: [192.168.200.10/24] sudo netplan apply systemd-networkd /etc/systemd/network/10-eth0.network : [Match] Name=eth0 [Network] VLAN=eth0.100 VLAN=eth0.200 /etc/systemd/network/10-eth0.100.netdev : [NetDev] Name=eth0.100 Kind=vlan [VLAN] Id=100 Fichier .network associé avec Address=. MTU et performance Trunk + overhead VLAN : souvent MTU 1500 sur VLAN public ; stockage peut nécessiter jumbo frames (9000) si bout-en-bout supporté. ip link set eth0.200 mtu 9000 Validez avec HolyCloud avant jumbo sur liaison partagée. Pare-feu par VLAN sudo nft add table inet filter sudo nft add chain inet filter forward { type filter hook forward priority 0 \; } # isolez : pas de forward entre eth0.100 et eth0.200 sauf règles explicites Ou ufw sur interfaces nommées : ufw allow in on eth0.100 to any port 443 ufw deny in on eth0.200 from any to any Vérification ip -d link show type vlan cat /proc/net/vlan/eth0.100 tcpdump -i eth0 -e vlan Erreurs fréquentes | Erreur | Cause | |--------|-------| | Pas de DHCP/routage | Mauvais VLAN ID ou port en access | | Double tag | VLAN natif mal géré côté switch | | iSCSI instable | MTU mismatch, filtrage SAN | Migration sans coupure Créez l'interface VLAN avec une IP secondaire de test. Validez connectivité depuis le switch de management. Basculez les services vers la VLAN cible. Retirez l'ancienne IP sur l'interface untagged si plus nécessaire. Besoin d'aide ? Demandez au support HolyCloud la liste des VLAN ID autorisés, le mode port (trunk/access) et les plages IP associées avant toute config production. Suite de la lecture Article précédent Tuning carte réseau (ethtool) Lire