Création d’un Réseau Interne avec NAT dans Proxmox

Dans cet article, nous allons voir comment créer un réseau interne avec NAT (Network Address Translation) dans Proxmox. Ce type de configuration est utile lorsque vous souhaitez isoler vos machines virtuelles du réseau externe tout en leur donnant accès à Internet. Cela peut être particulièrement avantageux dans des environnements de laboratoire ou lors de l’utilisation de conteneurs LXC.

Étape 1 : Vérification de la configuration réseau actuelle

Avant de commencer, vérifiez la configuration réseau actuelle de votre Proxmox en utilisant la commande suivante :

ip a

Cela vous permet de voir les interfaces réseau et les ponts (bridges) existants. Dans mon cas, j’ai déjà les réseaux vmbr0 et vmbr1. Nous allons maintenant ajouter un nouveau pont vmbr2 pour notre réseau interne avec NAT.

Étape 2 : Création du nouveau pont réseau

  • Accédez à l’interface Web de Proxmox.
  • Allez dans Datacenter, puis sélectionnez votre nœud ( dans votre cas pveh).
  • Allez dans System, puis dans Network.
  • Cliquez sur Create et choisissez Linux Bridge.

Dans la fenêtre pop-up, remplissez les informations suivantes :

  • Name : vmbr2
  • IPv4/CIDR : 172.16.2.1/24 (ou une autre adresse IP selon vos besoins)
  • Comment : “Réseau Interne avec NAT”

Cliquez sur Create pour créer le pont réseau.

Pour appliquer les modifications, cliquez sur Apply Configuration.

Étape 3 : Configuration du NAT

Pour configurer le NAT, vous devez modifier la configuration réseau directement sur le serveur Proxmox. Cela se fait à l’aide de iptables, un outil puissant pour gérer les règles de pare-feu et de translation d’adresses réseau (NAT) sous Linux.

  1. Connectez-vous à votre serveur Proxmox via SSH.
  2. Ouvrez le fichier /etc/network/interfaces pour le modifier.
  3. Ajoutez les lignes suivantes à la fin du fichier :
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '172.16.2.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '172.16.2.0/24' -o vmbr0 -j MASQUERADE

Dans mon exemple, j’utilise le réseau 172.16.2.0/24 pour vmbr2, et vmbr0 est le pont relié à l’extérieur avec accès à Internet. Remplacez ces valeurs en fonction de votre configuration.

  • echo 1 > /proc/sys/net/ipv4/ip_forward active le transfert des paquets IP.
  • iptables -t nat -A POSTROUTING -s ‘172.16.2.0/24’ -o vmbr0 -j MASQUERADE configure le NAT pour le réseau 172.16.2.0/24, en utilisant vmbr0 pour la connexion à l’extérieur.
  • iptables -t nat -D POSTROUTING -s ‘172.16.2.0/24’ -o vmbr0 -j MASQUERADE supprime cette règle NAT lors de l’arrêt ou du redémarrage.

Étape 4 : Application des changements et redémarrage

Une fois les modifications effectuées, redémarrez le serveur Proxmox pour appliquer la nouvelle configuration :

reboot

Étape 5 : Test configuration avec LXC container

Après le redémarrage, j’assigne vmbr2 à mon nouveau conteneur LXC Debian 12. Pour cela, pendant la création du conteneur, dans l’onglet Network, choisissez vmbr2 comme bridge et attribuez une adresse IP dans la plage 172.16.2.0/24, en définissant la passerelle sur 172.16.2.1 (l’adresse IP du pont). Dans mon cas, j’utilise 172.16.2.10/24.

Pour vérifier que les machines virtuelles ont bien accès à Internet via le NAT, nous pouvons tester la connectivité. Démarrez votre VM, connectez-vous via la console, puis essayez de pinger mon blog ou google en utilisant la commande suivante :

ping oleks.ca

Et voilà, vous avez maintenant configuré un réseau interne avec NAT dans Proxmox !

Bonne chance!