Aggiungere indirizzi IPv4 e IPv6 pubblici su un server Linux (Ubuntu 20.04 e 22.04)
Per server cloud
Questo articolo spiega come aggiungere ulteriori indirizzi IPv4 e IPv6 pubblici su un server in cui è installato Ubuntu 20.04 o 22.04.
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.
Importante
Queste istruzioni sono valide solo per i server cloud. 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)
Come configurare indirizzi IPv4 e IPv6 pubblici aggiuntivi su Ubuntu 20.04 e 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 server utilizza già netplan per la configurazione della rete, inserisci il seguente comando:
Passa alla directory /etc/netplan.
[root@localhost ~]# cd /etc/netplanControlla 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:
Aggiungere un indirizzo IPv4 e/o IPv6 pubblico su un server Linux (Ubuntu e Debian)
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
valid_lft 21695sec preferred_lft 21695sec
inet 82.165.254.101/32 scope global ens192
valid_lft forever preferred_lft forever
inet6 2001:8d8:1801:5d2::2/64 scope global
valid_lft forever preferred_lft forever
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 -Lv
I 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.
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 | grep 'default'
IPv6:
[root@localhost ~]# ip -6 route show | grep 'default'Prendi nota dei gateway.
IPv4 Gateway
root@localhost:~# ip route show | grep 'default'
default via 10.255.255.1 dev ens192 proto static onlink
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 3sec pref high
default via fe80::1 dev ens192 proto static metric 1024 pref medium
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/netplanSe esiste un file di configurazione in questa directory, rinominalo. Per farlo, inserisci il seguente comando e sostituisci il segnaposto.
[root@localhost ~]# mv ALTE_KONFIGURATIONDATEI.yaml ALTE_KONFIGURATIONDATEI.yaml.old
Importante
Se la cartella contiene il file 00-Public_network.yaml, non rinominarlo, poiché questo file è necessario per la rete pubblica.
Crea 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. È possibile richiamare la modalità di inserimento con il tasto [i]. In questa modalità, i caratteri digitati vengono immediatamente inseriti nel testo. Per accedere alla modalità di comando, premi il tasto [ESC]. Quando si utilizza la modalità di comando, i tasti 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
gateway6: GATEWAY PER IPv6
nameservers:
addresses:
- INDIRIZZO IP DEL NAME SERVER 1
- INDIRIZZO IP DEL NAME SERVER 2
routes:
- on-link: true
to: default
via: STANDARD-GATEWAY DELL'INTERFACCIA ATTIVA
version: 2
Esempio:
network:
ethernets:
ens192:
addresses:
- 217.160.141.60/32
- 82.165.254.101/32
- 2001:8d8:1801:5d2::1/64
- 2001:8d8:1801:5d2::2/64
gateway6: fe80::1
nameservers:
addresses:
- 127.0.0.53
routes:
- on-link: true
to: default
via: 10.255.255.1
version: 2Sostituisci il segnaposto <Interface_Device> con ens192 . Quindi inserisci 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 rientranze 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 rientranze.
Sostituisci il segnaposto GATEWAY PER IPv6 con il gateway IPv6 individuato.
Sostituisci i segnaposto INDIRIZZO IP DEL NAME SERVER 1 e INDIRIZZO IP DEL NAME SERVER 2 con i server name individuati in precedenza.
Sostituisci il segnaposto STANDARD-GATEWAY DELL'INTERFACCIA ATTIVA con il gateway IPv4 individuato.
Per verificare il file di configurazione, immetti il seguente comando:
root@localhost:~# netplan --debug apply
Importante
Le modifiche apportate nel file /etc/netplan/01-netcfg.yaml vengono mantenute e devono quindi essere modificate dall'utente se non dovessero risultare corrette. In caso contrario, il sistema operativo cercherà di caricarle una volta riavviato il server.
Riavvia il server per applicare le modifiche. Per farlo, immetti il seguente comando:
systemctl reboot
Qui trovi ulteriori informazioni su netplan:
http://manpages.ubuntu.com/manpages/bionic/man5/systemd.network.5.html