Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 519 minIntermédiaire

Réseau virtuel Proxmox : bridge Linux, VLAN et SDN

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • expliquer les modes réseau d'un hyperviseur de poste ;
  • configurer un pont Linux sensible aux VLAN avec un agrégat LACP ;
  • placer une VM dans le bon VLAN et configurer le trunk du switch ;
  • décrire les zones et les VNets du SDN de Proxmox.

4 exercices corrigés1 schéma

Le réseau virtuel relie les cartes réseau des machines virtuelles entre elles et au réseau physique : sous Proxmox VE, c'est un pont Linux (bridge), un commutateur logiciel à l'intérieur de l'hôte, sur lequel chaque VM branche sa carte virtuelle, avec ou sans étiquette VLAN. Ce chapitre part des modes réseau d'un hyperviseur de poste, explique le pont vmbr0, configure un pont sensible aux VLAN avec l'agrégation de liens comme chez Sorbier, et présente le SDN de Proxmox.

Les modes réseau d'un hyperviseur de poste

Sur ton PC, VirtualBox te demande de choisir le mode d'accès réseau de chaque carte de VM. Ces modes existent, sous d'autres noms, dans tous les hyperviseurs : les comprendre aide à comprendre un serveur.

Mode VirtualBoxCe que voit la VMLa VM joint InternetLe réseau local joint la VMUsage
NATUn petit réseau privé, propre à cette VM, derrière l'hôteOuiNon (sauf redirection de port)Installer et mettre à jour une VM seule
Réseau NATUn réseau privé partagé par plusieurs VM, derrière l'hôteOuiNonPlusieurs VM qui se parlent et sortent sur Internet
Accès par pont (bridged)Le réseau physique, comme si la VM y était branchéeOuiOuiUne VM qui doit être vue comme une vraie machine
Réseau interneUn réseau isolé entre les VM qui ont le même nom de réseauNonNonUn laboratoire fermé, derrière un pfSense virtuel
Réseau privé hôteUn réseau entre les VM et l'hôte seulementNonNonAdministrer les VM depuis le PC, sans exposition

Un hyperviseur de serveur n'a pas besoin de tous ces modes : il fonctionne presque toujours en accès par pont, et c'est le découpage en VLAN qui isole les réseaux. Le mode « réseau interne » correspond à un pont sans carte physique ; le NAT, à une zone SDN avec traduction d'adresses (voir plus bas).

Le pont Linux, commutateur virtuel de l'hôte

Un pont (bridge) Linux se comporte comme un switch : il apprend les adresses MAC des machines qui y sont branchées et transmet les trames de port en port. Sur Proxmox VE, l'installateur crée un pont nommé vmbr0, relié à la carte physique choisie pendant l'installation, et lui donne l'adresse IP d'administration. Chaque VM y branche sa carte virtuelle, qui apparaît sur l'hôte comme une interface tap177i0 (VM 177, carte 0).

La configuration réseau de l'hôte est dans le fichier /etc/network/interfaces, au format ifupdown2. Juste après l'installation de pve1, il ressemble à ceci :

text
auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.10.213/28
        gateway 192.168.10.222
        bridge-ports eno1
        bridge-stp off
        bridge-fd 0

eno1 n'a pas d'adresse (inet manual) : c'est un simple port du pont. bridge-ports eno1 branche la carte physique sur le pont ; bridge-stp off désactive le Spanning Tree sur ce pont (le réseau physique s'en charge) ; bridge-fd 0 supprime le délai d'attente avant de transmettre.

On modifie ce fichier de deux façons :

  • dans l'interface : sélectionne le nœud, System > Network, puis Create (Linux Bridge, Linux Bond, Linux VLAN) ou Edit. Les changements sont écrits dans /etc/network/interfaces.new ; ils ne s'appliquent qu'au clic sur Apply Configuration ;
  • en ligne de commande : modifie le fichier, puis applique sans redémarrer avec ifreload -a.

Le pont sensible aux VLAN

Chez Sorbier, les VM appartiennent à plusieurs VLAN : les serveurs au VLAN 20, le serveur web au VLAN 60 (DMZ), un serveur de tests au VLAN 10. Créer un pont par VLAN fonctionne, mais devient vite ingérable. La bonne méthode est un pont sensible aux VLAN (VLAN aware) : un seul pont, relié au switch par un trunk 802.1Q, et un numéro de VLAN indiqué sur chaque carte de VM.

hôte pve1srv-ad177 · tag 20srv-gestion179 · tag 20srv-web225 · tag 60vmbr0.99.213 · VLAN 99vmbr0 · pont sensible aux VLANbridge-vids 10 20 30 40 50 60 99bond0 · LACP (802.3ad)eno1 + eno2carte seule,sans ponteno3.242 · stockagetrunk 802.1Qaccès VLAN 80SW-COEURPort-channel11 : trunk VLAN 10, 20, 21, 30, 40, 50, 60, 99 · natif 999
Un seul pont sensible aux VLAN : chaque carte de VM porte son numéro de VLAN, le trunk les transporte tous

Le pont étiquette les trames de chaque VM avec le numéro de VLAN de sa carte avant de les envoyer sur le trunk, et ne lui remet que les trames de son VLAN. Pour la VM, rien ne change : elle ne voit pas d'étiquette, comme un poste branché sur un port d'accès. Seule exception chez Sorbier : la VM pfSense, qui route entre les VLAN, reçoit le trunk entier et crée elle-même ses interfaces VLAN (installer pfSense sur Proxmox VE et interfaces et VLAN sur pfSense).

Le plan réseau des hôtes de Sorbier

Chaque hôte de Sorbier a trois cartes 10 Gbit/s :

InterfaceRôleConfiguration côté hôteConfiguration côté switch
eno1, eno2Trafic des VM et administrationAgrégées en bond0 (LACP), port du pont vmbr0 sensible aux VLANPort-channel en trunk : VLAN 10, 20, 30, 40, 50, 60, 99 ; VLAN natif 999
vmbr0.99Administration de l'hôte (interface web, SSH, cluster)192.168.10.213/28 (pve1), .214 (pve2), .215 (pve3), passerelle 192.168.10.222Transporté par le trunk
eno3Stockage (NFS vers TrueNAS, sauvegardes vers Proxmox Backup Server)192.168.10.242/28 (pve1), .243 (pve2), .244 (pve3), sans passerellePort d'accès du VLAN 80, non routé

Les VLAN et leurs réseaux sont ceux du cours Routage et commutation, auxquels Sorbier ajoute le VLAN 21 des applications internes et de la recette, et le VLAN 80 de stockage :

VLANNomRéseauPasserelleDans ce cours
10POSTES192.168.10.64/26.126Un poste de test virtuel
20SERVEURS192.168.10.176/28.190srv-ad .177, srv-fichiers .178, srv-gestion .179, srv-journaux .180, srv-ad2 .181
21APPLIS192.168.21.0/24.254 (pare-feu)ct-horaires .182, srv-recette .186
60DMZ192.168.10.224/28.238 (pare-feu)srv-web .225
80STOCKAGE192.168.10.240/28AucuneTrueNAS .241, hôtes .242 à .244, Proxmox Backup Server .245
99ADMIN192.168.10.208/28.222Poste d'administration .209, bastion .210, hôtes .213 à .215

Configurer le pont, l'agrégat et l'administration

Voici le fichier /etc/network/interfaces complet de pve1 :

text
auto lo
iface lo inet loopback

iface eno1 inet manual
iface eno2 inet manual

# Stockage : NFS vers TrueNAS, sauvegardes vers PBS (VLAN 80, non routé)
auto eno3
iface eno3 inet static
        address 192.168.10.242/28

# Agrégat LACP vers SW-COEUR
auto bond0
iface bond0 inet manual
        bond-slaves eno1 eno2
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer2+3

# Pont des VM, sensible aux VLAN
auto vmbr0
iface vmbr0 inet manual
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 10 20 30 40 50 60 99

# Administration de l'hôte dans le VLAN 99
auto vmbr0.99
iface vmbr0.99 inet static
        address 192.168.10.213/28
        gateway 192.168.10.222

Ce qu'il faut comprendre, ligne par ligne :

  • bond0 agrège eno1 et eno2 en mode 802.3ad, c'est-à-dire LACP : le switch et l'hôte négocient l'agrégat, le trafic se répartit sur les deux liens, et la panne d'un câble ne coupe rien. bond-miimon 100 vérifie l'état des liens toutes les 100 ms ; layer2+3 répartit les flux selon les adresses MAC et IP. Le fonctionnement de LACP est dans le cours Routage et commutation ;
  • vmbr0 n'a plus d'adresse : c'est un pur commutateur. bridge-vlan-aware yes active les VLAN ; bridge-vids limite les VLAN autorisés sur le pont à ceux qui existent chez Sorbier ;
  • vmbr0.99 est une interface du pont dans le VLAN 99 : c'est elle qui porte l'adresse d'administration de l'hôte. Dans l'interface web, elle se crée avec Create > Linux VLAN, nom vmbr0.99.

Applique avec ifreload -a, puis vérifie :

bash
ip -br address                 # vmbr0.99 et eno3 ont leurs adresses
cat /proc/net/bonding/bond0    # mode 802.3ad, les deux liens « up », même partenaire LACP
bridge vlan show               # les VLAN autorisés sur bond0 et sur chaque tap de VM

La carte réseau d'une VM

Dans l'onglet Hardware d'une VM, la carte réseau (Network Device) a quatre réglages importants :

RéglageValeur chez SorbierRôle
Bridgevmbr0Le pont sur lequel la carte est branchée
VLAN Tag20 pour un serveur, 60 pour la DMZLe VLAN de la VM ; vide, la VM sort sans étiquette
ModelVirtIO (paravirtualized)La carte la plus performante ; Intel E1000 seulement pour un système sans pilote VirtIO
FirewallCochéActive le pare-feu de Proxmox sur cette carte (chapitre 11)

En ligne de commande, la même carte s'écrit virtio,bridge=vmbr0,tag=20,firewall=1 :

bash
qm set 179 --net0 virtio,bridge=vmbr0,tag=20,firewall=1

Le côté du switch

Le trunk doit transporter exactement les VLAN déclarés dans bridge-vids. Sur le switch de cœur, les hôtes sont branchés sur les ports à 10 Gbit/s du module d'extension (Te1/1/x, voir le cours Routage et commutation). Pour pve1 (ports Te1/1/3 et Te1/1/4 en LACP, port Te1/1/5 pour le stockage) :

text
SW-COEUR(config)# vlan 80
SW-COEUR(config-vlan)# name STOCKAGE
SW-COEUR(config-vlan)# exit
SW-COEUR(config)# interface range TenGigabitEthernet1/1/3 - 4
SW-COEUR(config-if-range)# description pve1 bond0
SW-COEUR(config-if-range)# channel-group 11 mode active
SW-COEUR(config-if-range)# exit
SW-COEUR(config)# interface Port-channel11
SW-COEUR(config-if)# description pve1 trunk des VM
SW-COEUR(config-if)# switchport mode trunk
SW-COEUR(config-if)# switchport trunk native vlan 999
SW-COEUR(config-if)# switchport trunk allowed vlan 10,20,21,30,40,50,60,99
SW-COEUR(config-if)# switchport nonegotiate
SW-COEUR(config-if)# spanning-tree portfast edge trunk
SW-COEUR(config-if)# exit
SW-COEUR(config)# interface TenGigabitEthernet1/1/5
SW-COEUR(config-if)# description pve1 stockage
SW-COEUR(config-if)# switchport mode access
SW-COEUR(config-if)# switchport access vlan 80
SW-COEUR(config-if)# spanning-tree portfast edge

Le VLAN 80 n'a pas de SVI sur le switch : il n'est pas routé. Le VLAN 60 (DMZ) traverse le switch en niveau 2 seulement, sans SVI non plus, pour que le pare-feu reste la seule passerelle de la DMZ : une VM de la DMZ ne peut joindre le reste du réseau qu'à travers lui. Les commandes de trunk, de VLAN natif et d'EtherChannel sont expliquées dans le cours Routage et commutation.

Le SDN de Proxmox : zones et VNets

Quand le cluster grandit, déclarer les mêmes ponts et les mêmes tags sur chaque nœud devient fastidieux. Le SDN (Software-Defined Networking) de Proxmox VE, installé par défaut, décrit le réseau une fois pour tout le cluster, dans Datacenter > SDN :

ObjetRôleExemple chez Sorbier
ZoneUne technique de séparation des réseaux, et les nœuds où elle s'appliqueZone sorbier de type VLAN, sur le pont vmbr0 de tous les nœuds
VNetUn réseau virtuel de la zone, que les VM choisissent comme BridgeVNet serveurs (tag 20), VNet dmz (tag 60)
SubnetLe réseau IP d'un VNet, avec sa passerelle192.168.10.176/28, passerelle 192.168.10.190

Les types de zones :

TypePrincipeUsage
SimpleUn pont isolé sur chaque nœud, sans lien physique, avec traduction d'adresses (SNAT) et DHCP intégré en optionUn laboratoire fermé, l'équivalent du « réseau NAT » de VirtualBox
VLANDes VLAN sur un pont existantLe cas de Sorbier
QinQDes VLAN empilés (802.1ad)Les hébergeurs, qui transportent les VLAN de plusieurs clients
VXLANDes réseaux de niveau 2 encapsulés dans UDP, entre nœuds qui ne partagent pas de VLANDes nœuds dans plusieurs salles ou centres de données
EVPNVXLAN avec routage BGP entre les nœudsLes grands clusters

Une fois la zone et les VNets créés, clique sur Apply dans Datacenter > SDN : Proxmox écrit la configuration sur tous les nœuds. Les VM choisissent alors le VNet serveurs au lieu de vmbr0 avec le tag 20. Deux avantages : impossible de se tromper de numéro de VLAN, et on peut déléguer un VNet à un groupe (rôle PVESDNUser) : un stagiaire ne pourra brancher ses VM que sur le VNet de test. Depuis la version 9.0, le SDN gère aussi des fabrics (OpenFabric, OSPF) pour relier les nœuds entre eux, par exemple pour un réseau Ceph maillé.

Exercices

Exercice 1 sur 4 Le fichier de pve2 Réussi À revoir

Écris le fichier /etc/network/interfaces de pve2, sur le modèle de pve1, avec ses adresses : .214 dans le VLAN 99 et .243 dans le VLAN 80.

Voir la réponseMasquer la réponse de l'exercice 1
text
auto lo
iface lo inet loopback

iface eno1 inet manual
iface eno2 inet manual

auto eno3
iface eno3 inet static
        address 192.168.10.243/28

auto bond0
iface bond0 inet manual
        bond-slaves eno1 eno2
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer2+3

auto vmbr0
iface vmbr0 inet manual
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0
        bridge-vlan-aware yes
        bridge-vids 10 20 30 40 50 60 99

auto vmbr0.99
iface vmbr0.99 inet static
        address 192.168.10.214/28
        gateway 192.168.10.222

Seules les deux adresses changent. Une seule passerelle par défaut pour l'hôte, dans le VLAN 99 : le réseau de stockage n'en a pas.

Tu avais trouvé ?

Exercice 2 sur 4 La VM qui ne joint rien Réussi À revoir

La nouvelle VM 180 (srv-journaux, 192.168.10.180/28, passerelle 192.168.10.190) ne joint ni sa passerelle ni srv-ad. Sa carte est virtio,bridge=vmbr0,firewall=1. Le trunk du switch vers son hôte est conforme à celui de pve1.

  1. Dans quel VLAN la VM se trouve-t-elle en réalité ?
  2. Corrige sa carte, avec la commande qm.
Voir la réponseMasquer la réponse de l'exercice 2
  1. La carte n'a pas d'étiquette : les trames sortent sans tag et le switch les place dans le VLAN natif 999, qui ne contient aucune machine. La VM est isolée.
  2. qm set 180 --net0 virtio,bridge=vmbr0,tag=20,firewall=1. Attention : sans préciser macaddr=, la commande attribue une nouvelle adresse MAC à la carte ; pour garder l'ancienne, recopie-la depuis qm config 180 (ou modifie seulement le champ VLAN Tag dans Hardware).

Tu avais trouvé ?

Exercice 3 sur 4 Le VLAN oublié Réussi À revoir

Sorbier crée le VLAN 70 pour des serveurs de vidéosurveillance virtualisés. Une VM avec le tag 70 n'a aucun réseau, alors que le VLAN 70 existe sur le switch et qu'une SVI lui a été donnée. Cite les deux endroits à corriger, avec la modification.

Voir la réponseMasquer la réponse de l'exercice 3
  1. Sur chaque hôte : bridge-vids ne contient pas 70, le pont rejette donc les trames de ce VLAN. Ajoute 70 à la ligne bridge-vids de vmbr0 sur les trois nœuds, puis ifreload -a.
  2. Sur le switch : la liste des VLAN autorisés du trunk ne contient pas 70. Sur chaque Port-channel vers un hôte : switchport trunk allowed vlan add 70 (avec add, sinon la commande remplace la liste et coupe tous les autres VLAN).

Tu avais trouvé ?

Exercice 4 sur 4 Quel mode réseau ? Réussi À revoir

Pour chaque besoin de TP sous VirtualBox, choisis le mode d'accès réseau.

  1. Une VM Debian seule doit télécharger ses mises à jour.
  2. Un pfSense virtuel protège trois VM qui ne doivent jamais toucher le réseau de la salle.
  3. Le serveur web d'une VM doit être consulté par tes camarades depuis leurs postes.
Voir la réponseMasquer la réponse de l'exercice 4
  1. NAT : la VM sort sur Internet par l'hôte, personne ne la joint.
  2. Les trois VM en réseau interne (même nom de réseau), avec la carte LAN de pfSense dans ce même réseau interne ; la carte WAN de pfSense en NAT (ou en accès par pont) pour sortir.
  3. Accès par pont : la VM obtient une adresse du réseau de la salle et se comporte comme un poste de plus. Vérifie que la charte de la salle l'autorise.

Tu avais trouvé ?

Chapitre terminé !

Fais les 4 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : Créer une VM sous Proxmox : Debian 13 et Windows Server 2025Revoir le sommaire du cours