doganddev
Accueil Blog Boutique

Créer un LAN privé sous Proxmox VE

DOG&DEV · 25/01/2025

Sécurité Failles & Patches iptables
Créer un LAN privé sous Proxmox VE

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 vmbr1 ont 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

  1. Datacenterpve (nœud) → Network (ou Réseau).
  2. CreateLinux Bridge.
  3. Bridge: vmbr1
  4. 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.
  5. 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 :

  • HardwareNetwork device : passer le bridge de vmbr0 à vmbr1 (ou ajouter une deuxième interface sur vmbr1).
  • Dans l’OS invité : attribuer une IP statique dans 10.10.10.0/24 (ex. 10.10.10.2, 10.10.10.3) avec gateway 10.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.2 depuis une VM 10.10.10.3.
  • Internet : depuis une VM : ping 8.8.8.8, curl https://example.com.
  • Depuis l’hôte : ping 10.10.10.2 si 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.

Commentaires (0)

Laisser un commentaire