La séparation des réseaux en réseaux virtuels (VLAN) amène les administrateurs réseaux a déployer des VMs sur différents VLAN.
Une des solutions possible serait de mettre un vlan par carte réseau cependant pour une entreprise disposant de 200 vlan cela pourrait poser problème.
On peut parer ce problème en branchant directement le serveur Proxmox à un ou plusieurs trunk (bonding).
Cependant il faut penser à créer une interface spéciale pour pouvoir accéder au service web de managent.
Let's Go !
Pour cet exemple nous allons juste configurer une carte (eth0) mais il est possible d'adapter la configuration à un bonding.
Tout va se passer dans le fichier /etc/network/interfaces
:
On commence par déclarer la carte réseau eth0 et la boucle locale :
auto lo iface lo inet loopback auto eth0 iface eth0 inet manual
Puis on défini le vlan qui va nous servir à nous connecter à notre serveur proxmox via l'interface web :
auto vlan2 iface vlan2 inet manual vlan_raw_device eth0
Enfin on créer le bridge principale avec l'ip que l'on veut donner à notre serveur proxmox sur le vlan indiqué précédemment :
#bridge vlan2 - Administration du serveur auto vmbr0 iface vmbr0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 bridge_ports vlan2 bridge_stp off bridge_fd 0
Pour finir on crée le bridge sur lequel on va connecter nos VMs :
#Brige du trunk pour les VM auto vmbr1 iface vmbr1 inet manual bridge_ports eth0 bridge_stp off bridge_fd 0
Puis on sauvegarde et on redémarre le serveur.
Lors de la création des VMs ou des containers il suffira de configurer le réseau comme ci-suis :
Dans cet exemple on connecte notre container/VM au vlan 45
Pour des raisons évidentes des sécurité, il ne faut jamais connecter les VMs avec le bridge vmbr0.
Fichier de conf en entier :
auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto vlan2 iface vlan2 inet manual vlan_raw_device eth0 #bridge vlan2 - Administration du serveur auto vmbr0 iface vmbr0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 bridge_ports vlan2 bridge_stp off bridge_fd 0 #Brige du trunk pour les VM auto vmbr1 iface vmbr1 inet manual bridge_ports eth0 bridge_stp off bridge_fd 0