
IL MIO HOMELAB #14 | Assegnare IP statici in Proxmox
In questo nuovo approfondimento dedicato a Proxmox ci occupiamo dell'impostazione di indirizzi IP statici per i container e le macchine virtuali.
Perché impostare un IP statico?
Di default container e macchine virtuali ricevono un indirizzo IP automaticamente tramite il DHCP del vostro router e questo significa che lo stesso può cambiare di volta in volta, a meno di particolari configurazioni.
Lasciare l'assegnazione dinamica tramite DHCP può portare a problemi di conflitto con altri dispositivi sulla rete che magari hanno lo stesso indirizzo assegnato manualmente.
La modifica casuale dell'indirizzo può anche comportare l'impossibilità di accedere a un servizio dall'esterno tramite tunnel (come nel caso di Cloudflare).
Assegnare un indirizzo IP statico risolve questi problemi garantendo, ad ogni riavvio di container, macchine virtuali o Proxmox stesso che lo stesso indirizzo resti invariato.
Questa configurazione può essere fatta anche in fase di creazione (ad esempio tramite Cloud-init), ma oggi vedremo come risolvere il problema in un secondo momento, avendo già il DHCP attivo.
La procedura varia leggermente tra container e macchine virtuali.
Configurazione dell'indirizzo statico per un Container (LXC)
La procedura per i container è più semplice e si esegue direttamente dall'interfaccia di Proxmox.
- Accedete all'interfaccia web di Proxmox e selezionate il container desiderato
- Tra le voci di menu sulla sinistra individuate la sezione "Rete" (o "Network" in base alla lingua impostata)
- Selezionate la scheda di rete assegnata (nella maggior parte dei casi ne sarà presente una soltanto). Di default vedrete che l'indirizzo IP e il gateway non sono specificati ma è abilitata l'opzione DHCP
- Selezionate la riga della scheda di rete e cliccate su "Modifica" (o "Edit")
- Nella finestra di dialogo occorre:
- abilitare la spunta su "Statico" (o "Static")
- inserire l'indirizzo IP desiderato per il vostro container. È consigliabile scegliere indirizzi al di fuori del range gestito dal DHCP del vostro router per evitare potenziali sovrapposizioni. Ad esempio, se il DHCP gestisce il blocco da .100 a .199, si possono usare indirizzi da .200 in su.
- specificare la subnet mask che per le reti domestiche basate su indirizzi di classe C é solitamente /24 in notazione CIDR (corrispondente a 255.255.255.0). La subnet mask serve a identificare quali parte dell'indirizzo IP si riferisce alla rete e quale all'host
- inserire l'indirizzo IP del gateway, che in genere corrisponde a quello del router, così da poter accedere ad Internet
- cliccare su "OK" per salvare le modifiche.
- Una volta apportata la modifica, è sufficiente eseguire un riavvio (reboot) del container.
A questo punto il container avrà l'indirizzo IP statico impostato che non sarà più modificato in automatico.
Configurazione dell'IP statico per una macchina virtuale (VM)
La procedura in questo caso è leggermente più complessa perché la configurazione deve essere fatta dall'interno del sistema operativo della VM.
Nell'interfaccia di Proxmox non è presente una voce specifica per la rete come per i container.
Vediamo i passi richiesti:
- accedere all'interfaccia web di Proxmox e selezionare la macchina virtuale desiderata
- avviare la console della macchina virtuale. Potrebbe essere necessario settare un terminale più comodo (come xterm) se non è già attivo
- dalla console modificare il file di configurazione della rete del sistema operativo. Nelle distribuzioni Linux (come Debian/Ubuntu assai comuni nelle VM) questo file si trova solitamente in
/etc/network/interfaces
. Si può modificarle con un comune editor di testo qualenano
ovim
(ad esempiosudo nano /etc/network/interfaces
) - all'interno del file la configurazione di default per il DHCP apparirà probabilmente in questo modo:
Nota: l'interfaccia di rete nelle VM di Proxmox è spesso identificata come
auto lo iface lo inet loopback auto ens18 # Il nome dell'interfaccia di rete potrebbe variare (es. eth0) iface ens18 inet dhcp
ens18
anzichéeth0
. - per impostare un indirizzo IP statico occorre modificare la sezione relativa all'interfaccia di rete (
ens18
nell'esempio). La rigaiface ens18 inet dhcp
va sostituita con le seguenti (adattando di conseguenza gli indirizzi IP e la subnet mask):A differenza della configurazione per i container dove la netmask viene specificata come /24 accanto all'indirizzo IP (notazione CIDR), in questo caso si utilizzano righe separate perauto ens18 iface ens18 inet static address 192.168.1.201 # L'indirizzo IP statico desiderato netmask 255.255.255.0 # La subnet mask (equivalente a /24) gateway 192.168.1.1 # L'indirizzo IP del vostro router nameservers 8.8.8.8 8.8.4.4 # Server DNS (es. Google DNS)
address
,netmask
,gateway
e si aggiungono anche inameservers
. - salvate le modifiche al file
- uscire console della VM.
- rendere effettive le modifiche riavviando la macchina virtuale.
Ora la macchina virtuale utilizzerà l'indirizzo IP statico specificato nel file di configurazione.
Conclusioni
Abbiamo visto come, con due procedure leggermente diverse, sia possibile assegnare indirizzi IP statici a container e macchine virtuali in Proxmox anche dopo che sono stati creati con configurazione DHCP. Questo è un passo fondamentale per garantire la stabilità e l'affidabilità dei vostri servizi homelab.
Ci sono ulteriori configurazioni da considerare, come quelle relative al firewall, e in futuro esploreremo come impostare l'IP statico già in fase di creazione, oltre a parlare di servizi come Cloudflare o configurazioni DNS avanzate.