## Introduction Ce guide vous explique comment créer un réseau privé (LAN) pour vos machines virtuelles sous Proxmox VE. Cette configuration permet à vos VMs d'accéder à Internet via NAT (Network Address Translation) tout en restant isolées sur un réseau privé interne. ## Objectifs - Créer un réseau privé isolé pour les machines virtuelles - Permettre la communication entre les VMs du réseau privé - Fournir un accès Internet via NAT - Maintenir la sécurité en isolant les VMs du réseau principal ## Prérequis - Proxmox VE installé et configuré - Accès root au serveur Proxmox - Connaissances de base en réseau et Linux ## Architecture du Réseau ``` Internet | [vmbr0] - Bridge public (réseau principal) | [Proxmox Host] | [vmbrX] - Bridge privé (192.168.0.0/24) | [VMs] - Machines virtuelles (192.168.0.10, 192.168.0.20, etc.) ``` ## Étape 1 : Création du Bridge Privé ### Via l'Interface Web Proxmox 1. Connectez-vous à l'interface web Proxmox 2. Naviguez vers **Datacenter** → **Nom du nœud** → **System** → **Network** 3. Cliquez sur **Create** → **Linux Bridge** 4. Dans la fenêtre qui s'ouvre, configurez : - **Name** : `vmbr1` (ou tout autre nom de votre choix) - **IPv4/CIDR** : `192.168.0.1/24` - **Comment** : "Bridge privé pour VMs" - Laissez les autres champs par défaut ### Configuration Manuelle (Alternative) Si vous préférez configurer manuellement, éditez le fichier de configuration réseau : ```bash nano /etc/network/interfaces ``` Ajoutez la configuration suivante : ```bash # Bridge privé pour les VMs auto vmbr1 iface vmbr1 inet static address 192.168.0.1/24 bridge_ports none bridge_stp off bridge_fd 0 comment "Bridge privé pour VMs" ``` Redémarrez le service réseau : ```bash systemctl restart networking ``` ## Étape 2 : Configuration des Machines Virtuelles ### Création d'une Nouvelle VM Lors de la création d'une nouvelle machine virtuelle : 1. Dans l'onglet **Network**, sélectionnez le bridge `vmbr1` 2. Configurez le modèle de carte réseau selon vos besoins (VirtIO recommandé) ### Modification d'une VM Existante Pour modifier une VM existante : 1. Sélectionnez votre VM dans l'interface Proxmox 2. Allez dans **Hardware** → **Network Device** 3. Modifiez ou ajoutez une interface réseau 4. Sélectionnez le bridge `vmbr1` ## Étape 3 : Configuration IP des Machines Virtuelles ### Configuration Statique Linux Éditez le fichier de configuration réseau de votre VM Linux : ```bash # Debian/Ubuntu nano /etc/network/interfaces # Configuration auto eth0 iface eth0 inet static address 192.168.0.10 netmask 255.255.255.0 gateway 192.168.0.1 dns-nameservers 8.8.8.8 8.8.4.4 ``` Pour les systèmes utilisant Netplan (Ubuntu 18.04+) : ```yaml # /etc/netplan/01-netcfg.yaml network: version: 2 ethernets: eth0: addresses: [192.168.0.10/24] gateway4: 192.168.0.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] ``` Appliquez la configuration : ```bash # Pour les systèmes classiques systemctl restart networking # Pour Netplan netplan apply ``` ### Configuration Statique Windows 1. Ouvrez **Panneau de configuration** → **Réseau et Internet** → **Connexions réseau** 2. Clic droit sur votre carte réseau → **Propriétés** 3. Sélectionnez **Protocole Internet version 4 (TCP/IPv4)** → **Propriétés** 4. Configurez : - **Adresse IP** : `192.168.0.20` - **Masque de sous-réseau** : `255.255.255.0` - **Passerelle par défaut** : `192.168.0.1` - **Serveur DNS préféré** : `8.8.8.8` - **Serveur DNS auxiliaire** : `8.8.4.4` ## Étape 4 : Configuration du NAT ### Activation du Routage IP Éditez le fichier de configuration système : ```bash nano /etc/sysctl.conf ``` Ajoutez ou décommentez la ligne : ```bash net.ipv4.ip_forward = 1 ``` Activez immédiatement le routage : ```bash sysctl -p ``` ### Configuration d'iptables Ajoutez la règle NAT pour permettre l'accès Internet : ```bash iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j MASQUERADE ``` ### Persistance des Règles iptables Installez iptables-persistent si ce n'est pas déjà fait : ```bash apt update apt install iptables-persistent ``` Sauvegardez les règles : ```bash netfilter-persistent save ``` Pour une configuration plus robuste, créez un script de démarrage : ```bash nano /etc/systemd/system/proxmox-nat.service ``` ```ini [Unit] Description=Proxmox NAT Rules After=network.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j MASQUERADE ExecStop=/sbin/iptables -t nat -D POSTROUTING -s 192.168.0.0/24 -o vmbr0 -j MASQUERADE [Install] WantedBy=multi-user.target ``` Activez le service : ```bash systemctl enable proxmox-nat.service systemctl start proxmox-nat.service ``` ## Étape 5 : Tests et Vérification ### Tests de Connectivité Depuis l'hôte Proxmox, testez la connectivité vers vos VMs : ```bash # Test ping vers une VM ping 192.168.0.10 ping 192.168.0.20 ``` ### Tests depuis les VMs Depuis vos VMs, testez : ```bash # Test vers la passerelle ping 192.168.0.1 # Test vers Internet ping 8.8.8.8 ping google.com # Test de résolution DNS nslookup google.com ``` ### Diagnostic en cas de Problème Si la connectivité ne fonctionne pas : 1. Vérifiez la configuration du bridge : ```bash ip addr show vmbr1 ``` 2. Vérifiez les règles iptables : ```bash iptables -t nat -L POSTROUTING -v ``` 3. Vérifiez le routage IP : ```bash cat /proc/sys/net/ipv4/ip_forward ``` 4. Vérifiez les routes sur les VMs : ```bash route -n # ou ip route show ``` ## Configuration Avancée ### Serveur DHCP (Optionnel) Pour automatiser l'attribution des adresses IP, vous pouvez installer un serveur DHCP : ```bash apt install isc-dhcp-server ``` Configurez `/etc/dhcp/dhcpd.conf` : ```bash subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200; option routers 192.168.0.1; option domain-name-servers 8.8.8.8, 8.8.4.4; option domain-name "lan.local"; } ``` ### Règles de Pare-feu Avancées Pour plus de sécurité, vous pouvez ajouter des règles spécifiques : ```bash # Autoriser uniquement certains ports iptables -A FORWARD -i vmbr1 -o vmbr0 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i vmbr1 -o vmbr0 -p tcp --dport 443 -j ACCEPT # Bloquer l'accès à l'interface d'administration Proxmox iptables -A FORWARD -i vmbr1 -d [IP_PROXMOX] -p tcp --dport 8006 -j DROP ``` ## Bonnes Pratiques 1. **Sécurité** : Utilisez des adresses IP privées (RFC 1918) 2. **Performance** : Utilisez VirtIO pour les interfaces réseau 3. **Monitoring** : Surveillez le trafic réseau 4. **Documentation** : Documentez vos configurations réseau 5. **Sauvegarde** : Sauvegardez vos configurations iptables ## Dépannage Courant ### Problème : Pas d'accès Internet depuis les VMs **Solutions** : - Vérifiez que `ip_forward` est activé - Vérifiez les règles NAT iptables - Vérifiez la configuration DNS des VMs ### Problème : Les VMs ne peuvent pas communiquer entre elles **Solutions** : - Vérifiez que les VMs sont bien sur le même bridge - Vérifiez les paramètres de pare-feu des VMs - Vérifiez la configuration du bridge ### Problème : Configuration perdue après redémarrage **Solutions** : - Utilisez `netfilter-persistent` pour les règles iptables - Créez un service systemd pour automatiser la configuration - Vérifiez que les modifications dans `/etc/network/interfaces` sont correctes ## Conclusion Avec cette configuration, vous disposez maintenant d'un réseau privé fonctionnel sous Proxmox VE. Vos machines virtuelles peuvent communiquer entre elles et accéder à Internet via NAT tout en restant isolées du réseau principal. Cette solution est idéale pour : - Environnements de développement et de test - Isolation de services sensibles - Laboratoires d'apprentissage - Déploiements de services internes N'hésitez pas à adapter cette configuration selon vos besoins spécifiques et à implémenter des mesures de sécurité supplémentaires selon votre environnement.