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.
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.
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 ».