Configurare indirizzi IPv4 e IPv6 pubblici su un Server Cloud o Server Virtuale con netplan (Ubuntu 22.04)
Per creare un PDF, utilizzare la funzione “Stampa” in fondo alla pagina.
Per Server Cloud e Server Virtuale Cloud
In questo articolo ti spieghiamo come configurare indirizzi IPv4 e IPv6 pubblici aggiuntivi su un Server Cloud o vServer su cui sono installati Ubuntu 22.04 e netplan.
La configurazione di rete nelle immagini di IONOS per Ubuntu 20.04 e Ubuntu 22.04 viene eseguita tramite netplan. La configurazione non viene più controllata dal file /etc/network/interfaces, ma dai file con estensione .yaml, che si trovano nella directory /etc/netplan. Se ci sono più file in questa directory, vengono caricati in ordine lessicale.
Nota bene
Gli articoli seguenti spiegano come stabilire una connessione di rete crittografata al tuo server tramite Secure Shell (SSH):
Importante
Queste istruzioni sono valide solo per i Server Cloud e i Server Virtuali con Ubuntu 22.04. Per aggiungere indirizzi IPv4 e IPv6 su un Server Dedicato, consulta i seguenti articoli:
Aggiungere un indirizzo IPv4 pubblico su un Server Dedicato (Ubuntu 20.04).
Aggiungere un indirizzo IPv6 pubblico su un Server Dedicato (Ubuntu 20.04)
Per configurare degli indirizzi IPv4 e IPv6 su un Server Cloud o su un vServer su cui è installato Ubuntu 18.04, Ubuntu 20.04, Debian 10, 11 o Debian 12, consulta il seguente articolo:
Come configurare indirizzi IPv4 e IPv6 pubblici aggiuntivi su Ubuntu 22.04:
Requisiti
Hai assegnato uno o più indirizzi IPv4 e/o IPv6 pubblici aggiuntivi al tuo server nel Cloud Pannel.
Hai effettuato l'accesso al server.
Hai annotato gli indirizzi IPv4 e IPv6 del server.
Verificare se netplan viene già utilizzato per la configurazione di rete
Per verificare se il tuo server utilizza già netplan per la configurazione della rete, inserisci il seguente comando:
- Per controllare se il pacchetto netplan.io è già installato sul tuo sistema Ubuntu o Debian, digita il seguente comando:
[root@localhost ~]# dpkg -l | grep netplan.io
Se il pacchetto netplan.io è installato, otterrai ad esempio le seguenti informazioni:
root@localhost:~# dpkg -l | grep netplan.io
ii netplan.io 0.105-0ubuntu2~22.04.3 amd64 YAML network configuration abstraction for various backends Passa alla directory /etc/netplan.
[root@localhost ~]# cd /etc/netplan
Controlla che non ci sia già un file di configurazione in questa directory. Per farlo, inserisci il seguente comando:
[root@localhost ~]# ls
Nota bene
Se la directory /etc/netplan non esiste, significa che netplan non è stato installato. In questo caso, non installare netplan, ma segui la procedura descritta nel seguente articolo:
Individuare l'interfaccia di rete
Individua il nome del file dell'interfaccia di rete. Per farlo, immetti il seguente comando:
[root@localhost ~]# ip addr
In questo esempio, il nome dell'interfaccia di rete è ens192:
root@localhost:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:08:a5:c6 brd ff:ff:ff:ff:ff:ff
altname enp11s0
inet 217.160.141.60/32 metric 100 scope global dynamic ens192
inet6 2001:8d8:1801:5d2::1/64 scope global dynamic noprefixroute
valid_lft 3443sec preferred_lft 3443sec
inet6 fe80::250:56ff:fe08:a5c6/64 scope link
valid_lft forever preferred_lft forever
Visualizzare i server DNS predefiniti
Per visualizzare i server DNS utilizzati, inserisci i seguenti comandi:
[root@localhost ~]# curl http://169.254.169.254/latest/meta_data/dns/nameservers -Lv
[root@localhost ~]# curl http://169.254.169.254/latest/meta_data/dns/nameservers6 -LvI server DNS utilizzati vengono visualizzati alla fine dell'output. Esempio:
[root@localhost ~]# curl http://169.254.169.254/latest/meta_data/dns/nameservers -Lv
* Trying 169.254.169.254...
* TCP_NODELAY set
* Connected to 169.254.169.254 (169.254.169.254) porta 80 (#0)
> GET /latest/meta_data/dns/nameservers HTTP/1.1
> Host: 169.254.169.254
> User-Agent: curl/7.61.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Thu, 08 Sep 2022 12:19:36 GMT
< Server: Apache
< Strict-Transport-Security: max-age=63072000; includeSubDomains
< Vary: Accept-Encoding
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Headers: X-TOKEN, X-HASH, X-MICROTIME, X-USER, Content-Type, X-API-TOKEN, Authorization
< Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS
< Access-Control-Expose-Headers: Error-Msg
< Cache-control: no-cache, no-store, max-age=0
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Headers: X-TOKEN, X-HASH, X-MICROTIME, Content-Type, X-API-TOKEN, Authorisation
< Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS
< Access-Control-Expose-Headers: Error-Msg
< Transfer-Encoding: chunked
< Content-Type: text/plain;charset=UTF-8
<
212.227.123.16,212.227.123.17
* Connection #0 to host 169.254.169.254 left intactNell'esempio precedente, i server DNS vengono riportati sopra la riga * Connection #0 to host 169.254.169.254 left intact.
Se il server DNS per IPv6 non viene visualizzato, inserisci il seguente comando:
[root@localhost ~]# resolvectl --no-pager |grep Server
Esempio :
root@localhost:/etc/netplan# resolvectl --no-pager |grep Server
Current DNS Server: 212.227.123.16
DNS Servers: 212.227.123.16 212.227.123.17 2001:8d8:fe:53:72ec::1
Visualizzare il gateway per IPv4 e IPv6
Per visualizzare il gateway predefinito dell'interfaccia attiva, inserisci i seguenti comandi:
IPv4:[root@localhost ~]# ip route show default
IPv6:
[root@localhost ~]# ip -6 route show default
Prendi nota degli indirizzi IP dei gateway. Li trovi elencati subito dopo la sezione "default via".
Esempio:
IPv4 Gateway
root@localhost:~# ip route show default
default via 10.255.255.1 dev ens192 proto dhcp src 217.160.141.60
metric 100
IPv6 Gateway
root@localhost:~# ip -6 route show | grep 'default'
default via fe80::1 dev ens192 proto ra metric 100 expires 4sec
pref high
In questo esempio, fe80::1 è il gateway IPv6.
Aggiungere indirizzi IPv4 e IPv6
Controlla se esiste già un file di configurazione in questa directory. Per farlo, inserisci il seguente comando:
[root@localhost ~]# ls /etc/netplan
Importante
Se la cartella contiene il file 00-Public_network.yaml, non rinominarlo, poiché questo file è necessario per la rete pubblica.
Se esiste un file di configurazione in questa directory, rinominalo. Per farlo, inserisci il seguente comando e sostituisci il segnaposto.
[root@localhost ~]# mv VECCHIO_FILE_CONFIGURAZIONE.yaml
VECCHIO_FILE_CONFIGURAZIONE.yaml.oldCrea il file /etc/netplan/01-netcfg.yaml con l'editor vi. Per farlo, inserisci il seguente comando:
[root@localhost ~]# vi /etc/netplan/01-netcfg.yaml
Nota bene
L'editor vi ha una modalità di inserimento e una modalità di comando. Puoi accedere alla modalità di inserimento premendo il tasto [i]. In questa modalità, i caratteri digitati vengono inseriti immediatamente nel testo. Per accedere alla modalità di comando, premi il tasto [ESC]. Quando utilizzi la modalità di comando, i caratteri digitati vengono interpretati come comandi.
Per uscire da vi e salvare il file, immetti il comando :wq e premi Invio.
Aggiungi le seguenti informazioni:
network:
version: 2
renderer: networkd
ethernets:
NETWORKINTERFACE:
addresses:
- INDIRIZZO-IPv4-PRINCIPALE/32
- INDIRIZZO-IPv4-AGGIUNTIVO_1/32
- INDIRIZZO-IPv6-PRINCIPALE/64
- INDIRIZZO-IPv6-AGGIUNTIVO_1/64
gateway4: GATEWAY PER IPv4
nameservers:
addresses:
- INDIRIZZO-IP DEL NAME SERVER_1
- INDIRIZZO-IP DEL NAME SERVER_2
routes:
- to: default
via: GATEWAY PER IPv4
- to: default
via: GATEWAY PER IPv6Esempio:
network:
version: 2
renderer: networkd
ethernets:
ens192:
addresses:
- 85.215.105.86/32
- 85.215.109.181/32
- 2a01:239:0:805d::1/64
- 2a01:239:0:805d::2/64
gateway4: 10.255.255.1
nameservers:
addresses:
- 212.227.123.16
- 212.227.123.17
routes:
- to: default
via: 10.255.255.1
- to: default
via: fe80::1Sostituisci il segnaposto NETWORKINTERFACE con l'interfaccia di rete individuata. Nell'esempio precedente si tratta dell'interfaccia di rete ens192. Inserisci quindi l'indirizzo IPv4 principale e gli indirizzi IPv4 aggiuntivi, così come l'indirizzo IPv6 principale e gli indirizzi IPv6 aggiuntivi. Per farlo, sostituisci i relativi segnaposto.
Importante
Le indentazioni appartengono alla sintassi del formato YAML. Assicurati sempre che siano riportate correttamente. In caso contrario, la configurazione non verrà riconosciuta come valida e il server potrebbe non essere più accessibile.
Utilizza sempre la barra spaziatrice per le indentazioni.
Sostituisci il segnaposto GATEWAY PER IPv4 con il gateway IPv4 individuato.
Sostituisci i segnaposto INDIRIZZO IP DEL NAME SERVER_1 e INDIRIZZO IP DEL NAME SERVER_2 con i name server individuati in precedenza.
Sostituisci il segnaposto GATEWAY PER IPv6 per con il gateway IPv6 individuato.
Per uscire da vi e salvare il file, immetti il comando :wq e premi Invio.
Per cambiare i permessi del file 01-netcfg.yaml in modo che il file possa essere letto e modificato solo dall'account root, digita il seguente comando:
root@localhost:~# sudo chmod 600 /etc/netplan/01-netcfg.yaml
Per verificare il file di configurazione, immetti il seguente comando:
root@localhost:~# netplan --debug apply
Importante
Le modifiche che hai apportato al file /etc/netplan/01-netcfg.yaml vengono mantenute e dovrai quindi modificarle autonomamente se non dovessero risultare corrette. In caso contrario, il sistema operativo cercherà di caricarle una volta riavviato il server.
Nota bene
Se dopo aver immesso il comando netplan --debug apply viene visualizzato un messaggio di errore simile a quello riportato di seguito, ciò significa che c'è un problema di indentazione nel file /etc/netplan/01-netcfg.yaml:
root@localhost:# netplan --debug apply
** (generate:1617): DEBUG: 16:52:11.664: starting new processing pass
/etc/netplan/01-netcfg.yaml:2:10: Invalid YAML: mapping values are not allowed in this context:
version: 2
In questo caso, correggi l'indentazione e riprova.
Per evitare conflitti, dovrai disinstallare ifupdowm. Per disinstallare ifupdown e gli altri pacchetti dipendenti, e per cancellare i file di configurazione e/o di dati di ifupdown, inserisci il seguente comando:
root@localhost:~# sudo apt-get autoremove --purge ifupdown
Riavvia il server per applicare le modifiche. Per farlo, immetti il seguente comando:
root@localhost:~# systemctl reboot
Per verificare se l'indirizzo aggiuntivo IPv4 è stato configurato correttamente, inserisci il seguente comando:
root@localhost:~# ip addr
Nota bene
Se il server non dovesse più essere accessibile per un errore di configurazione, puoi correggere la configurazione usando la console KVM. Il seguente articolo ti spiega come fare:
Utilizzare la console KVM per accedere ad un server (Server Cloud e Server Virtuale Cloud)
Qui trovi ulteriori informazioni su netplan:
http://manpages.ubuntu.com/manpages/bionic/man5/systemd.network.5.html