VirtualBox et connectivité des VM

Voici comment rendre accessible une VM sur le réseau local, et aussi comment accéder à un conteneur LXC quand on a installé une VM Proxmox.

La connectivité des VM

Après avoir créé la VM et avant d’installer le système, allez dans la paramètres de la nouvelle VM, partie Réseau, et pour l’option « Mode d’accès réseau » choisissez « Accès par pont ». Juste en dessous, vérifiez que le nom de l’interface correspond bien à l’interface du système hôte qui est utilisée pour accéder au réseau local.

Si vous avez un serveur DHCP et que vous voulez attribuer une IP spécifique à cette VM en fonction de son adresse MAC, cette dernière se trouve dans la partie « Avancé », repliée par défaut.

La connectivité des sous-VM

J’ai testé Proxmox dernièrement, et voici comment se connecter à un conteneur LXC qui tourne dans le système invité (par abus de langage, j’appellerai ce conteneur « une sous-VM »), que ça soit à partir du système hôte ou d’une autre machine du réseau local.

Après avoir configuré les paramètres réseau de la VM comme ci-dessus, et avoir installé le système, il faut activer le NAT sur la VM. Pour ça, entrer ces deux commandes en root :

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE

Vous pouvez ajouter ces deux lignes dans /etc/rc.local pour éviter d’avoir à les lancer après chaque démarrage de la VM.

Mettons que vous créez la sous-VM avec les paramètres suivants :

Bridge :	vmbr0
Adresse IP :	192.168.X.1/24
(Masque :	255.255.255.0)

Comme passerelle, il faut indiquer l’IP de la VM. Admettons que cette IP soit 192.168.X.254.

Sur les machines où vous souhaitez accéder à la sous-VM, vérifiez quelle est l’interface qui permet de joindre la VM (ip route). Ensuite lancez cette commande en root :

# ip route add 192.168.X.1 via 192.168.X.254 dev INTERFACE

Cette commande signifie : « Pour joindre l’IP 192.168.X.1, il faut envoyer les paquets vers l’IP 192.168.X.254 ».

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *