Questo articolo è una traduzione di quanto scritto quì. Piu o meno adattata per Proxmox VE 6.x.
Proxmox utilizza i bridge per fornire connettività Internet alla macchine virtuali, ma in un bridge c’è bisogno di un indirizzo IP esterno per ognuna delle macchine virtuali. Se si ha a disposizione un numero limitato di indirizzi IP, si può utilizzare NAT per fornire accesso Internet alle proprie macchine. Tuttavia è preferibile avere un IP pubblico statico se si eseguono servizi pubblici come un web server. Oggi vediamo come impostare il NAT su Proxmox.
Passo 1: Creare un bridge
Entrare sull’host PVE via SSH ed editare il file /etc/network/interfaces
vi /etc/network/interfaces
Aggiungiamo un nuovo bridge, chiamato vmbr2 (quello creato da PVE di default si chiama vmbr0), come segue:
auto vmbr2
#private sub network
iface vmbr2 inet static
address 192.168.1.1
netmask 255.255.255.0
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
- vmbr2 : Questo è il nome bridge per il NAT.
- vmbr0 : Questo è il bridge di default già configurato nel file.
- 192.168.1.0/24 : Questa sarà la rete interna che utilizzeremo nelle macchine virtuali. Gli IP interni utilizzabili in questa rete saranno: 192.168.1.2 – 192.168.1.254
- bridge_ports none : Le bridge ports quì sono configurate su none, visto che non ci collegheremo all’esterno direttamente.
Salvate il file e chiudetelo: avete configurato il vostro nuovo bridge!
Passo 2: Attivare il Bridge NAT
Per attivare il bridge NAT si può utilizzare questo comando:
ifup vmbr2
adesso il bridge è attivo.
Passo 3: Configurazione delle VM
Il passaggio finale, consiste nel configurare le VM per usare un indirizzo IP statico, visto che DHCP non è presente. A seconda del sistema operativo che si utilizza, impostare (ad esempio) i seguenti parametri:
- IP : 192.168.1.2
- Gateway : 192.168.1.1
- Netmask : 255.255.255.0
Per future VM, si possono usare gli indirizzi seguenti:
- 192.168.1.3
- 192.168.1.4
- ..fino a 254
Passo 4: Utilizzare il bridge corretto
Per default, le nuove VM cercheranno di utilizzare il bridge vmbr0, ma così facendo non riusciranno ad uscire attraverso il NAT. Occorre impostare vmbr2 nella configurazione della VM:
Passo 5: (opzionale) Port-forwarding per fornire servizi all’esterno
Sull’host PVE, supponendo di voler inoltrare le richieste che arrivano sulle porte 80 e 443 ad un reverse proxy (guest) con indirizzo IP 192.168.1.2, facciamo in modo che i seguenti comandi vengano eseguiti all’avvio (es. tramite /etc/rc.local):
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 192.168.1.2:80
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 192.168.1.2:443