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/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:

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 intact

  • Nell'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/netplan

  • Se 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: 2

  • Sostituisci 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