Créer un LAN privé sous Proxmox VE
DOG&DEV · 25/01/2025
Créer un LAN privé sous Proxmox VE
Un LAN privé entre les VM et conteneurs Proxmox permet d’isoler le trafic interne, de faire du NAT vers Internet et, si besoin, d’ajouter un DHCP ou des règles de forwarding. Ce guide décrit la création d’un bridge privé (vmbr1), le NAT et des options avancées.
Prérequis
- Proxmox VE installé (install-proxmox)
- Accès root ou sudo en SSH
- Au moins une VM ou LXC pour les tests
Objectifs
- Réseau privé : les VM sur
vmbr1ont des IP dans un réseau dédié (ex.10.10.10.0/24) et peuvent communiquer entre elles. - NAT : accès Internet pour les VM en passant par l’hôte (vmbr0 / interface WAN).
- Isolation : le trafic entre VM reste sur le bridge ; l’accès depuis l’extérieur se fait via des règles de forwarding explicites (port forwarding, reverse proxy, etc.).
1. Créer le bridge vmbr1 (sans port physique)
Le bridge vmbr1 sera utilisé uniquement pour les VM (réseau interne). Il n’a pas besoin d’une interface physique.
Méthode 1 : Interface web
- Datacenter → pve (nœud) → Network (ou Réseau).
- Create → Linux Bridge.
- Bridge:
vmbr1 - IPv4/CIDR : laisser vide (pas d’IP sur l’hôte pour ce bridge) ou, si vous donnez une IP à l’hôte sur ce LAN, ex.
10.10.10.1/24. - Autostart : oui.
Méthode 2 : Fichier /etc/network/interfaces
Éditez /etc/network/interfaces (ou les includes dans /etc/network/interfaces.d/) :
auto vmbr1
iface vmbr1 inet static
address 10.10.10.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
Puis :
ifreload -a
# ou
systemctl restart networking
Ici, 10.10.10.1 est la passerelle du LAN pour les VM. Si vous ne souhaitez pas d’IP sur l’hôte, supprimez la ligne address.
2. Configurer les VM pour utiliser vmbr1
Pour chaque VM ou LXC :
- Hardware → Network device : passer le bridge de
vmbr0àvmbr1(ou ajouter une deuxième interface survmbr1). - Dans l’OS invité : attribuer une IP statique dans
10.10.10.0/24(ex.10.10.10.2,10.10.10.3) avec gateway10.10.10.1, ou utiliser le DHCP si vous en installez un (voir § 4).
Exemple Debian (Netplan) :
network:
version: 2
ethernets:
ens18:
addresses: [10.10.10.2/24]
routes:
- to: default
via: 10.10.10.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Exemple Windows : Configuration manuelle : IP 10.10.10.2, masque 255.255.255.0, passerelle 10.10.10.1.
3. NAT (IP forwarding + iptables MASQUERADE)
Pour que les VM sur vmbr1 accèdent à Internet via l’hôte :
Activer le forwarding :
echo 1 > /proc/sys/net/ipv4/ip_forward
Pour que ce soit persistant :
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.d/99-forwarding.conf
sysctl -p /etc/sysctl.d/99-forwarding.conf
Règles iptables (MASQUERADE) :
Supposons que l’interface « sortante » de l’hôte soit vmbr0 (ou eno1 selon votre config). Sur l’hôte Proxmox :
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o vmbr0 -j MASQUERADE
Pour rendre les règles iptables persistantes (Debian/Proxmox) :
apt install iptables-persistent
netfilter-persistent save
(Proxmox peut les gérer via son firewall ; adaptez selon que vous utilisez le firewall Proxmox ou iptables à la main.)
4. DHCP (optionnel) : isc-dhcp-server
Sur l’hôte (ou une VM dédiée sur le LAN) :
apt install isc-dhcp-server
Exemple /etc/dhcp/dhcpd.conf :
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.10 10.10.10.100;
option routers 10.10.10.1;
option domain-name-servers 8.8.8.8, 1.1.1.1;
}
Indiquez l’interface sur laquelle écouter (ex. vmbr1) dans /etc/default/isc-dhcp-server, puis :
systemctl enable isc-dhcp-server
systemctl start isc-dhcp-server
5. Avancé : port forwarding (accès de l’extérieur vers une VM)
Pour exposer un service (ex. HTTP 80) d’une VM 10.10.10.2 sur l’IP publique de l’hôte :
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to-destination 10.10.10.2:80
iptables -A FORWARD -p tcp -d 10.10.10.2 --dport 80 -j ACCEPT
(À combiner avec la politique FORWARD par défaut et le NAT de retour. En production, le firewall Proxmox offre une gestion plus claire.)
Sécurité : pour limiter l’accès à l’interface d’admin Proxmox (8006), vous pouvez restreindre les IP autorisées ou bloquer l’accès depuis le LAN privé si inutile :
iptables -A INPUT -i vmbr1 -p tcp --dport 8006 -j DROP
(À adapter selon votre topologie.)
6. Tests
- Entre VM :
ping 10.10.10.2depuis une VM10.10.10.3. - Internet : depuis une VM :
ping 8.8.8.8,curl https://example.com. - Depuis l’hôte :
ping 10.10.10.2si l’hôte a une IP sur le LAN.
Dépannage
| Symptôme | Cause possible | Correctif |
|---|---|---|
| Pas d’Internet depuis les VM | ip_forward, MASQUERADE, mauvais -o |
Vérifier ip_forward=1 ; iptables -t nat -L ; interface de sortie (vmbr0 ou eth) |
| Les VM ne se voient pas | Mauvais bridge, firewall dans les VM | Vérifier que les deux VM sont sur vmbr1 ; désactiver temporairement le firewall dans les VM |
| Config perdue au reboot | Règles non persistantes, interfaces incorrect |
netfilter-persistent ; /etc/network/interfaces ; ifreload -a |
Bonnes pratiques
- Schéma : dessiner un schéma réseau (vmbr0 = WAN/management, vmbr1 = LAN privé) pour garder la cohérence.
- DNS : en DHCP ou manuellement, utiliser des résolveurs fiables (8.8.8.8, 1.1.1.1 ou votre propre serveur).
- Pour l’installation de Proxmox et la création de VM/LXC : install-proxmox.
Ressources
Cet article s’inscrit dans notre série de guides hébergement et gaming. Pour un serveur sur-mesure, contact.