Connecter des serveurs à un VLAN | INTROSERV
EUR
european

EUR

usa

USD

French Fr
Ex. VAT Ex. VAT 0%

Connecter des serveurs à un VLAN

Ce guide explique comment configurer des VLAN sur des serveurs Linux afin d’isoler et de contrôler le trafic réseau. Les étapes ci-dessous couvrent Ubuntu 22.04, Debian 11 ainsi qu’AlmaLinux 9 / Rocky Linux 9.

Info

Avant de configurer les VLAN sur le serveur, assurez-vous que le port du commutateur est correctement configuré. Pour les VLAN avec balises, le port du commutateur doit autoriser les ID VLAN requis. Pour le trafic non balisé, le port doit être en mode access et avoir le VLAN approprié attribué.

Vérifier le module du noyau 8021q

Sur toutes les distributions, vérifiez que le module du noyau 8021q est chargé avant de configurer les VLAN :

lsmod | grep 8021q

Si le module n’est pas chargé, exécutez :

sudo modprobe 8021q

Pour charger le module automatiquement, ajoutez-le à /etc/modules :

echo "8021q" | sudo tee -a /etc/modules

Ubuntu 22.04

Ubuntu 22.04 utilise netplan pour la configuration réseau.

Identifier l’interface réseau

Exécutez la commande suivante pour déterminer le nom de l’interface :

ip link show

Dans les exemples ci-dessous, l’interface est enp0s8.

Configurer le réseau pour un port access non balisé

Cette section décrit l’attribution d’une adresse IP statique directement à l’interface physique, sans créer de sous-interface VLAN.

Ouvrez le fichier de configuration netplan :

sudo nano /etc/netplan/*.yaml

Ajoutez la configuration suivante. Utilisez des adresses IP différentes sur chaque serveur :

Serveur 1 :

network: version: 2 ethernets: enp0s8: dhcp4: no addresses: - 192.168.1.1/24 routes: - to: default via: 192.168.1.254

Serveur 2 :

network: version: 2 ethernets: enp0s8: dhcp4: no addresses: - 192.168.1.2/24 routes: - to: default via: 192.168.1.254

Warning

Le paramètre gateway4 est obsolète depuis netplan 0.100 et génère un avertissement. Utilisez routes: comme indiqué ci-dessus.

Testez la configuration avant de l’appliquer. La commande attend une confirmation pendant 120 secondes maximum, puis restaure automatiquement la configuration précédente si elle n’est pas confirmée. Cela est particulièrement utile sur les serveurs distants :

sudo netplan try

Si la configuration est valide, appliquez-la :

sudo netplan apply

Vérifiez que l’adresse a été attribuée :

ip addr show enp0s8

Configurer les VLAN avec balises

Ouvrez le fichier de configuration netplan et ajoutez les interfaces VLAN. Utilisez des adresses IP différentes pour chaque serveur sur chaque VLAN :

Serveur 1 :

network: version: 2 ethernets: enp0s8: dhcp4: no vlans: vlan10: id: 10 link: enp0s8 addresses: - 192.168.10.1/24 vlan20: id: 20 link: enp0s8 addresses: - 192.168.20.1/24

Serveur 2 :

network: version: 2 ethernets: enp0s8: dhcp4: no vlans: vlan10: id: 10 link: enp0s8 addresses: - 192.168.10.2/24 vlan20: id: 20 link: enp0s8 addresses: - 192.168.20.2/24

Warning

L’utilisation d’adresses IP en double provoquera un conflit. Chaque serveur doit avoir une adresse IP unique sur chaque VLAN.

Info

Normalement, une seule interface VLAN doit avoir une passerelle par défaut. L’attribution d’une passerelle à plusieurs interfaces VLAN peut entraîner des problèmes de routage, sauf si un routage avancé est configuré.

Testez et appliquez la configuration :

sudo netplan try sudo netplan apply

Vérifiez le résultat :

ip addr

Pour vérifier que le balisage VLAN fonctionne correctement :

ip -d link show vlan10 ip -d link show vlan20

Vérifiez la connectivité :

ping 192.168.10.2 ping 192.168.20.2

Debian 11

Debian 11 utilise le fichier /etc/network/interfaces pour la configuration réseau.

Installer le paquet vlan

Sur une installation Debian propre, installez le paquet vlan avant de configurer les interfaces VLAN :

sudo apt update sudo apt install vlan

Identifier l’interface réseau

ip link show

Dans les exemples ci-dessous, l’interface est enp0s8.

Configurer le réseau pour un port access non balisé

Cette section décrit l’attribution d’une adresse IP statique directement à l’interface physique, sans créer de sous-interface VLAN.

Ajoutez la configuration suivante dans /etc/network/interfaces sur chaque serveur.

Warning

La commande ip addr add attribue une adresse temporairement et cette configuration ne survivra pas à un redémarrage. Utilisez la configuration persistante ci-dessous pour la rendre permanente.

Serveur 1 :

auto enp0s8 iface enp0s8 inet static address 192.168.1.1/24 gateway 192.168.1.254

Serveur 2 :

auto enp0s8 iface enp0s8 inet static address 192.168.1.2/24 gateway 192.168.1.254

Appliquez la configuration sans redémarrer :

sudo systemctl restart networking

Vérifiez que l’adresse est active :

ip addr

Vérifiez que les serveurs peuvent communiquer entre eux :

ping 192.168.1.2

Configurer les VLAN avec balises

Ajoutez les interfaces VLAN à /etc/network/interfaces sur chaque serveur. Utilisez des adresses IP différentes pour chaque serveur sur chaque VLAN.

Serveur 1 :

auto enp0s8.10 iface enp0s8.10 inet static address 192.168.10.1/24 gateway 192.168.10.254 auto enp0s8.20 iface enp0s8.20 inet static address 192.168.20.1/24

Serveur 2 :

auto enp0s8.10 iface enp0s8.10 inet static address 192.168.10.2/24 gateway 192.168.10.254 auto enp0s8.20 iface enp0s8.20 inet static address 192.168.20.2/24

Appliquez la configuration :

Warning

Le redémarrage du service réseau sur un serveur distant peut interrompre la session SSH actuelle.

sudo systemctl restart networking

Vérifiez le résultat :

ip addr

Pour vérifier que le balisage VLAN fonctionne correctement :

ip -d link show enp0s8.10 ip -d link show enp0s8.20

Vérifiez la connectivité :

ping 192.168.10.2 ping 192.168.20.2

AlmaLinux 9 / Rocky Linux 9

AlmaLinux 9 et Rocky Linux 9 utilisent NetworkManager pour la configuration réseau. L’outil recommandé pour gérer les connexions est nmcli. L’ancienne méthode utilisant /etc/sysconfig/network-scripts/ n’est pas prise en charge dans les distributions basées sur RHEL 9.

Identifier l’interface réseau

nmcli device status

Dans les exemples ci-dessous, l’interface est enp0s8.

Vérifier les connexions existantes

Avant d’ajouter une nouvelle connexion, vérifiez si un profil de connexion existe déjà pour l’interface :

nmcli connection show

Si un profil existant est actif sur enp0s8, supprimez-le afin d’éviter les conflits. Utilisez le nom du profil exactement comme indiqué dans la sortie ci-dessus. Ignorez cette étape si le profil existant a été créé par votre hébergeur ou par cloud-init :

nmcli connection delete "Wired connection 1"

Configurer le réseau pour un port access non balisé

Attribuez une adresse IP statique à l’interface physique.

Serveur 1 :

nmcli connection add type ethernet con-name "enp0s8-primary" ifname enp0s8 \ ipv4.method manual ipv4.addresses 192.168.1.1/24 \ ipv4.gateway 192.168.1.254 \ connection.autoconnect yes nmcli connection up enp0s8-primary

Serveur 2 :

nmcli connection add type ethernet con-name "enp0s8-primary" ifname enp0s8 \ ipv4.method manual ipv4.addresses 192.168.1.2/24 \ ipv4.gateway 192.168.1.254 \ connection.autoconnect yes nmcli connection up enp0s8-primary

Vérifiez que l’adresse a été attribuée :

ip addr show enp0s8

Vérifiez la connectivité entre les serveurs :

ping 192.168.1.2

Configurer les VLAN avec balises

Créez une interface VLAN au-dessus de l’interface physique. Utilisez des adresses IP différentes sur chaque serveur pour chaque VLAN.

Serveur 1 :

nmcli connection add type vlan con-name vlan10 ifname enp0s8.10 \ vlan.parent enp0s8 vlan.id 10 \ ipv4.method manual ipv4.addresses 192.168.10.1/24 \ connection.autoconnect yes nmcli connection add type vlan con-name vlan20 ifname enp0s8.20 vlan.parent enp0s8 vlan.id 20 ipv4.method manual ipv4.addresses 192.168.20.1/24 connection.autoconnect yes nmcli connection up vlan10 nmcli connection up vlan20

Serveur 2 :

nmcli connection add type vlan con-name vlan10 ifname enp0s8.10 \ vlan.parent enp0s8 vlan.id 10 \ ipv4.method manual ipv4.addresses 192.168.10.2/24 \ connection.autoconnect yes nmcli connection add type vlan con-name vlan20 ifname enp0s8.20 vlan.parent enp0s8 vlan.id 20 ipv4.method manual ipv4.addresses 192.168.20.2/24 connection.autoconnect yes nmcli connection up vlan10 nmcli connection up vlan20

Warning

L’utilisation d’adresses IP en double provoquera un conflit. Chaque serveur doit avoir une adresse IP unique sur chaque VLAN.

Vérifiez le résultat :

ip addr

Pour vérifier que le balisage VLAN fonctionne correctement :

ip -d link show enp0s8.10 ip -d link show enp0s8.20

Vérifiez la connectivité :

ping 192.168.10.2 ping 192.168.20.2

Dépannage

Si les interfaces VLAN n’apparaissent pas ou ne reçoivent pas de trafic :

  • vérifiez que le port du commutateur autorise les ID VLAN requis ;
  • assurez-vous que le vSwitch ou le groupe de ports de l’hyperviseur est configuré pour laisser passer les balises VLAN ;
  • assurez-vous que la bonne interface parente est spécifiée dans la configuration ;
  • vérifiez que le module du noyau 8021q est chargé : lsmod | grep 8021q.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA