[Tuto] Proxmox n°3 : Création d’un LAN privé et permettre l’accès internet sur ce LAN. (sans IPFO)
Oui on a sauté deux articles… ils arriveront sûrement un jour ou l’autre mais bon 🙂 pour l’instant je vais vous expliquer comment créer votre propre réseaux LAN dans votre serveur Proxmox dans le but de donner accès à Internet au VM de ce LAN. Et tous cela sans utiliser d’IP Fail-Over.
Étape 1 : Créer le LAN
Afin que toutes les VMs puissent communiquer entre elles ainsi qu’avec le serveur hôte, nous allons créer un réseau local ou LAN.
Nous allons pour cela modifier le fichier /etc/network/interfaces
, dans celui-ci on retrouve les différentes interfaces du serveur.
Vous devez y trouver les interfaces :
- eth0 : interface physique du serveur
- vmbr0 : interface bridge lié à eth0 dispose de l’IP publique de votre serveur.
Nous allons ajouter l’interface vmbr1 qui sera une interface bridge. Nous allons configurer cette interface pour qu’elle fonctionne sur le réseau : 192.168.1.0/24. Nous lui mettrons l’IP : 192.168.1.254,
Pour cela éditons donc le fichier et ajoutons les lignes suivantes à la fin de celui-ci.
auto vmbr1
iface vmbr1 inet static
address 192.168.1.254
netmask 255.255.255.0
broadcast 192.168.1.255
bridge_ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
Les trois dernières lignes autorisent le NAT et permettent à toutes les VMs disposant d’une IP dans le même réseau d’accéder à Internet en passant par l’interface vmbr1 qui elle va router le trafique vers internet.
Démarrer la nouvelle interface réseau fraichement créée :
ifup vmbr1
Voilà, normalement votre interface est correctement démarrée, vous devez pouvoir la voir sur votre interface Proxmox.
Étape 2 : Configurer une VM
Vous pouvez maintenant créer des VMs avec des IP en 1192.168.1.x (n’oubliez pas de remplacer « x ») avec le masque de sous réseaux 255.255.255.0 . Indiquez aussi sur la VM, la passerelle, elle correspond à l’IP de l’interface vmbr1 soit 192.168.1.254.
Étape 3 (facultative) : Accéder à un port d’une VMs depuis internet
Si vous voulez rendre accessible un port d’une de vos VM, depuis internet par exemple l’accès au port 22 pour le SSH ou 80 pour un serveur web, cela est possible.
Nous allons prendre un exemple dans le cas où vous voudriez pouvoir vous connecter en SSH à une de vos VM.
Le port SSH par défaut est le 22, sachant que le port 22 du serveur hôte est déjà utilisé, nous ne pouvons pas l’utiliser, nous ferons correspondre le port de la VM avec un port différent dans notre cas le port 12345.
Imaginons que l’IP de la VM est 192.168.1.1, et que le ssh écoute sur le port 22. Nous allons ajouter les deux lignes suivantes à la suite des lignes précédemment ajoutées dans le fichier /etc/network/interfaces.
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 12345 -j DNAT --to 192.168.1.1:22
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 12345 -j DNAT --to 192.168.1.1:22
La première ligne permet d’ajouter la règle iptable lors du démarrage de l’interface et la seconde à la supprimer lorsque celle-ci est éteinte.
On y retrouve le port 12345 qui sera utilisé pour accéder au SSH depuis une machine extérieure, puis l’IP de la VM et le port 22 qu’elle utilise pour le SSH.
Redémarrer l’interface réseaux :
ifup vmbr1
Pour se connecter en SSH à cette VM, il faut indiquer l’IP du serveur hôte et le port 12345 lors de la connexion.
Voilà c’est tout pour ce tuto, si vous avez des questions n’hésitez pas à les poster en commentaires.
Merci pour le tuto, mais lorsque je fais cela et demare ma VM elle ne veut pas démarrer et j’ai l’erreur
()
no physical interface on bridge ‘vmbr1’
Avez vous une idée du problème ?
Merci
Pour « address 192.168.1.254 », il faut rajouter /24 à la fin
Ca donne « address 192.168.1.254/24 » et ca fonctionne