Tutorial · Rete di Proxmox VE 9
Tutorial di rete su Proxmox un IP pubblico per ogni macchina virtuale
Questo tutorial di rete su Proxmox ti mostra come assegnare a una macchina virtuale il proprio IP pubblico sul tuo server Primcast: collegala al bridge vmbr0, inserisci indirizzo, gateway e netmask, ed è online. Nessun riavvio e nulla da registrare prima presso di noi.
Se desideri più controllo, seguono altre due configurazioni: traffico instradato attraverso l'host e macchine private che condividono l'indirizzo dell'host. Le abbiamo provate tutte e tre sulla nostra rete prima di scriverle.
- Netmask
- /24
- Gateway IPv4
- .1 dell'intervallo
- IPv6
- /64 · gw ::1
- DNS dell'host
- 209.244.0.3
Trova i tuoi IP pubblici e il gateway che ciascuno utilizza
I tuoi indirizzi sono nell'email Dedicated Server Setup che ti abbiamo inviato il giorno in cui è stato creato il server, prima IPv4 e poi IPv6. Puoi vederli anche in qualsiasi momento nel tuo account: apri il server e guarda il pannello chiamato Access, Networking & rDNS.
Su un server Proxmox, solo il primo indirizzo è configurato sull'host. L'email te lo indica sotto l'elenco degli indirizzi. Ci fermiamo lì di proposito: un host che detiene tutti gli indirizzi risponderebbe per tutti, e le tue macchine virtuali non avrebbero più nulla da usare. Gli altri sono tuoi da assegnare alle macchine virtuali, o all'host se vuoi che ne abbia più di uno.
Servono sempre gli stessi pochi valori ogni volta che assegni un indirizzo:
- Netmask
- /24Che corrisponde a 255.255.255.0.
- Gateway
- .1Il .1 dell'intervallo in cui si trova l'indirizzo, quindi 203.0.113.58 usa 203.0.113.1.
- DNS sull'host
- 209.244.0.3Le tue macchine virtuali possono usare qualsiasi resolver tu preferisca.
- IPv6
- /64Il gateway è il prefisso seguito da ::1. Il passaggio 06 contiene i dettagli.
Controlla prima il gateway quando qualcosa non funziona. Gli indirizzi ricevuti insieme condividono un intervallo e un gateway. Gli indirizzi aggiunti al server in seguito possono provenire da un intervallo diverso dei nostri, e in tal caso usano il .1 di quell'intervallo. Un gateway errato è il motivo più comune per cui una nuova macchina virtuale non riesce a raggiungere nulla.
Guarda il bridge di rete Proxmox che hai già
Accedi all'host via SSH come root e guarda cosa c'è:
ip -br addr cat /etc/network/interfaces
Un server che abbiamo appena installato ha un file che assomiglia più o meno a questo. Il nome dell'interfaccia e il primo indirizzo saranno diversi:
/etc/network/interfaces
auto lo
iface lo inet loopback
iface eno1 inet manual
auto vmbr0
iface vmbr0 inet static
address 203.0.113.10/24
gateway 203.0.113.1
bridge-ports eno1
bridge-stp off
bridge-fd 0 Nota che vmbr0 è già un bridge con la tua porta di rete collegata. È tutto ciò che serve alla configurazione bridged del passaggio 03, quindi per quella lasci questo file invariato.
Proxmox VE 9 gira su Debian 13 e usa ifupdown2, il che significa che le modifiche di rete si applicano senza riavvio. Dopo aver salvato il file, esegui:
ifreload -a
Se preferisci l'interfaccia web di Proxmox, le tue modifiche attendono in /etc/network/interfaces.new finché non fai clic su Apply Configuration.
Apri la console nel tuo account prima di cambiare qualsiasi cosa. Raggiunge il server tramite la sua scheda di gestione, non attraverso la rete, quindi funziona ancora se un errore di battitura manda offline il server.
Quale configurazione dovresti usare?
| Domanda | Bridged | Instradata | Privata |
|---|---|---|---|
| Usa uno dei tuoi IP pubblici | Sì | Sì | No |
| Modifiche sull'host | Nessuna | L'indirizzo si sposta sulla scheda di rete | Un secondo bridge |
| Il firewall dell'host vede il traffico | No | Tutto | Tutto |
| Raggiungibile da internet | Sì | Sì | Solo le porte che inoltri |
| DHCP consentito | No | No | Sì |
Bridged: un IP pubblico Proxmox direttamente sulla rete
La maggior parte delle persone dovrebbe scegliere questa. La tua macchina virtuale si comporta come un computer autonomo sullo stesso switch, parla direttamente con i nostri router e l'host non richiede alcuna modifica.
In Proxmox, aggiungi un dispositivo di rete alla macchina virtuale, scegli vmbr0 come bridge e mantieni l'indirizzo MAC generato da Proxmox. Poi imposta l'indirizzo all'interno della macchina virtuale.
Debian o Ubuntu con ifupdown
/etc/network/interfaces
auto lo
iface lo inet loopback
auto ens18
iface ens18 inet static
address 203.0.113.58/24
gateway 203.0.113.1
dns-nameservers 209.244.0.3 1.1.1.1 Ubuntu con netplan
/etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
ens18:
addresses: [203.0.113.58/24]
routes:
- to: default
via: 203.0.113.1
nameservers:
addresses: [209.244.0.3, 1.1.1.1] Windows
Inserisci lo stesso indirizzo, netmask e gateway nelle impostazioni IPv4 della scheda di rete. Il sistema operativo non fa differenza per noi: la tua macchina virtuale è un computer in più sulla rete.
Non devi comunicarci nulla
Non c'è alcun modulo da compilare per ogni nuova macchina virtuale e non ci invii gli indirizzi MAC. Alcuni host chiedono entrambi. Abbiamo verificato dalla nostra parte prima di affermarlo: la porta dello switch usata dal tuo server non ha limiti sugli indirizzi MAC e la port security è disattivata. Abbiamo anche messo un secondo indirizzo e MAC su uno dei nostri server e l'abbiamo raggiunto da internet.
Alcune regole lo mantengono funzionante:
- Assegna a ogni macchina virtuale il proprio indirizzo MAC. Se due ne condividono uno, o una copia quello dell'host, nessuna funziona correttamente.
- Usa il gateway che corrisponde all'intervallo dell'indirizzo, dal passaggio 01.
- Usa solo indirizzi presenti sul tuo account. Questo bridge si collega a una rete con altri clienti sopra, e un indirizzo che non è tuo sottrae il loro traffico.
- Non eseguire mai un server DHCP né inviare annunci router su
vmbr0, per lo stesso motivo. Se vuoi l'indirizzamento automatico, usa il bridge privato del passaggio 05.
Instradata: invia ogni macchina virtuale attraverso l'host
Scegli questa quando vuoi che il firewall dell'host veda ogni pacchetto, o quando preferisci che le tue macchine virtuali non appaiano mai sulla rete condivisa. Usano comunque IP pubblici reali del tuo account. Cambia solo il percorso.
L'indirizzo pubblico si sposta dal bridge alla scheda di rete, l'host inoltra il traffico e risponde per le macchine dietro di sé. Sull'host:
/etc/network/interfaces (host)
auto lo
iface lo inet loopback
auto eno1
iface eno1 inet static
address 203.0.113.10/24
gateway 203.0.113.1
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up echo 1 > /proc/sys/net/ipv4/conf/eno1/proxy_arp
auto vmbr0
iface vmbr0 inet manual
bridge-ports none
bridge-stp off
bridge-fd 0
up ip route add 203.0.113.58/32 dev vmbr0
down ip route del 203.0.113.58/32 dev vmbr0 Aggiungi una riga up e una down per ogni indirizzo che instradi. Dentro la macchina virtuale, l'indirizzo è un /32 e l'host deve essere raggiungibile tramite la propria rotta prima della rotta predefinita:
/etc/network/interfaces (macchina virtuale)
auto lo
iface lo inet loopback
auto ens18
iface ens18 inet static
address 203.0.113.58/32
post-up ip route add 203.0.113.10 dev ens18
post-up ip route add default via 203.0.113.10
dns-nameservers 209.244.0.3 1.1.1.1 Mantieni la riga proxy_arp. I nostri router chiedono alla rete chi detiene ciascun indirizzo, e quella riga fa sì che l'host risponda per le macchine dietro di sé. Senza, non possono essere trovate. Per rendere permanenti entrambe le impostazioni alla maniera di sysctl, metti questo in un file sotto /etc/sysctl.d/:
net.ipv4.ip_forward=1 net.ipv4.conf.eno1.proxy_arp=1
Il lavoro extra ti dà un host che può filtrare e registrare tutto il traffico. Se non ti serve, la configurazione bridged ha meno parti in movimento.
Privata: macchine virtuali che condividono l'indirizzo dell'host
Molte macchine virtuali devono solo uscire, mai essere raggiunte: runner di build, worker, un database che deve restare nascosto. Assegna loro indirizzi privati su un secondo bridge e l'host traduce il loro traffico nel proprio IP pubblico. Questo non usa nessuno dei tuoi indirizzi, quindi puoi eseguirne quante ne consente l'hardware.
Aggiungi un secondo bridge e lascia vmbr0 com'è:
auto vmbr1
iface vmbr1 inet static
address 10.10.10.1/24
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 '10.10.10.0/24' -o eno1 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE Collega le macchine virtuali a vmbr1 e assegna a ciascuna un indirizzo in quell'intervallo, con 10.10.10.1 come gateway. Internet le vede come il tuo server. Nulla può raggiungerle dall'esterno finché non inoltri una porta, il che richiede un'altra coppia di righe su una porta che l'host non sta usando:
post-up iptables -t nat -A PREROUTING -i eno1 -p tcp --dport 8443 -j DNAT --to 10.10.10.2:443 post-down iptables -t nat -D PREROUTING -i eno1 -p tcp --dport 8443 -j DNAT --to 10.10.10.2:443
Poiché vmbr1 non ha una porta fisica, un server DHCP su di esso è sicuro ed è un modo semplice per indirizzare molte macchine.
Aggiungi i tuoi indirizzi IPv6
Ricevi indirizzi IPv6 individuali, non un blocco da suddividere. Sono elencati alla fine dell'email di configurazione e li assegni uno per uno, proprio come IPv4: uno sull'host se vuoi che l'host sia raggiungibile via IPv6, gli altri sulle macchine virtuali che ne hanno bisogno. Nessuno di essi è configurato per te al momento dell'installazione.
Scrivi ogni indirizzo con /64. Il gateway è il prefisso seguito da ::1, quindi un indirizzo in 2001:db8:1234::/64 usa 2001:db8:1234::1. Sull'host, accanto al bridge esistente:
iface vmbr0 inet6 static
address 2001:db8:1234::2/64
gateway 2001:db8:1234::1 In una macchina virtuale sul bridge:
iface ens18 inet6 static
address 2001:db8:1234::5/64
gateway 2001:db8:1234::1 Esegui di nuovo ifreload -a. Poiché questi indirizzi non sono un blocco tuo, non annunciare rotte né distribuire indirizzi che non ti sono stati assegnati. Se te ne servono altri, chiediceli.
Imposta il DNS inverso su ciascun indirizzo
Puoi impostare il DNS inverso su qualsiasi tuo indirizzo da solo. Accedi, apri il server e vai su Access, Networking & rDNS. Ogni indirizzo mostra il suo nome attuale con un pulsante Edit rDNS accanto, e gli indirizzi IPv6 funzionano allo stesso modo.
Inserisci un hostname: lettere, numeri, trattini e punti, almeno due parti, ciascuna da 1 a 63 caratteri. Il punto finale viene aggiunto per te. La modifica richiede alcuni minuti.
Se una macchina virtuale invia email, imposta il DNS inverso sull'indirizzo da cui parte la posta. Nella configurazione privata è l'indirizzo dell'host. Aggiungi anche il record forward corrispondente presso il tuo provider DNS, perché i server di posta in ricezione controllano che entrambi coincidano e rifiutano la posta quando non lo fanno.
Domande sulla rete Proxmox, con risposta
01Come assegno un IP pubblico a una VM Proxmox?
Collega la macchina virtuale al bridge vmbr0 e imposta al suo interno uno dei tuoi IP pubblici extra, con netmask /24 e il .1 dell'intervallo di quell'indirizzo come gateway. Su un server Primcast l'host non richiede modifiche per questo e non devi registrarci l'indirizzo MAC.
02La mia macchina virtuale è in esecuzione ma non ha rete. Cosa devo controllare?
Inizia dal gateway: deve essere il .1 dell'intervallo a cui appartiene l'indirizzo, e indirizzi aggiunti in momenti diversi possono trovarsi in intervalli diversi. Poi assicurati che l'indirizzo sia sul tuo account, che la netmask sia /24 e che nessun'altra macchina usi lo stesso indirizzo MAC.
03Devo inviare a Primcast l'indirizzo MAC di ogni macchina virtuale?
No. La porta del tuo switch apprende tutti gli indirizzi MAC che usi e la port security è disattivata, quindi una macchina virtuale appare come qualsiasi computer fisico. Mantieni l'indirizzo MAC generato da Proxmox e non dare mai a due macchine lo stesso.
04Perché sul mio nuovo server Proxmox è configurato un solo IP?
Così le tue macchine virtuali hanno indirizzi da usare. Se l'host li detenesse tutti, risponderebbe per ognuno di essi. Configuriamo il primo indirizzo perché tu possa raggiungere il server, e l'email di configurazione lo indica sotto l'elenco dei tuoi indirizzi.
05Devo usare la rete bridged o instradata in Proxmox?
Usa la bridged a meno che tu non abbia bisogno che l'host filtri il traffico. Non cambia nulla sull'host e ogni macchina virtuale si comporta come un normale computer sulla rete. L'instradata fa per te quando il firewall dell'host deve vedere ogni pacchetto, in cambio di un po' più di configurazione dentro ogni macchina.
06Posso usare il DHCP per le mie macchine virtuali Proxmox?
Sì, su un bridge privato senza porta fisica, come vmbr1 nel passaggio 05. Mai su vmbr0: si collega a una rete condivisa con altri clienti, e un server DHCP o annunci router lì risponderebbero a macchine che non sono tue.
07Ho applicato una configurazione di rete errata e ho perso il server. Come rientro?
Apri la console dal tuo account Primcast. Passa attraverso la scheda di gestione del server anziché la sua rete, quindi funziona mentre la rete è rotta. Correggi /etc/network/interfaces, esegui ifreload -a e il server è di nuovo raggiungibile.
08Come ottengo più indirizzi IP per le mie macchine virtuali?
Chiedi in live chat o apri un ticket e dicci a cosa serve ciascun indirizzo, poiché i registri degli indirizzi richiedono una motivazione per ogni assegnazione. Gli indirizzi IPv4 extra vengono fatturati mensilmente sullo stesso account e compaiono nel tuo pannello di controllo una volta allocati.
Bloccato su un passaggio? Chiedici in chat.
Il nostro assistente AI risponde in pochi secondi e può controllare per te il server e i suoi indirizzi. Chiedi di una persona quando vuoi.