Für Cloud Server und Virtual Server Cloud

In diesem Artikel wird erklärt, wie Sie weitere, öffentliche IPv4- und IPv6-Adressen auf einem Cloud Server oder vServer hinzufügen, auf dem Ubuntu 22.04 sowie netplan installiert ist.

Die Netzwerkkonfiguration wird in den Images von IONOS für Ubuntu 22.04 über netplan vorgenommen. Die Netzwerkkonfiguration wird nicht mehr über die Datei /etc/network/interfaces gesteuert, sondern über Dateien mit der Dateiendung .yaml, die sich im Verzeichnis /etc/netplan befinden. Wenn in diesem Verzeichnis mehrere Dateien vorhanden sind, werden diese in der lexikalischen Reihenfolge geladen.

Hinweis

Wie Sie mittels Secure Shell (SSH) eine verschlüsselte Netzwerkverbindung zu Ihrem Server herstellen können, wird in den folgenden Artikeln erklärt:

Computer mit Windows-Betriebssystemen

Computer mit Linux-Betriebssystemen

Achtung

Diese Anleitung ist nur für Cloud Server und vServer mit Ubuntu 22.04 gültig. Wie Sie IPv4-Adressen und IPv6-Adressen auf einem Dedicated Server hinzuzufügen, wird in den folgenden Artikeln beschrieben:

Öffentliche IPv4-Adresse auf einem Dedicated Server hinzufügen (Ubuntu 20.04)

Öffentliche IPv6-Adresse auf einem Dedicated Server hinzufügen (Ubuntu 20.04)

Wie Sie IPv4-Adressen und IPv6-Adressen auf einem vServer oder Cloud Server konfigurieren, auf dem Ubuntu 18.04, Ubuntu 20.04, Debian 10, 11 oder Debian 12 installiert ist, wird im folgenden Artikel beschrieben:

Öffentliche IPv4- und IPv6-Adressen auf einem Linux Server hinzufügen (Ubuntu 18.04, Ubuntu 20.04, Debian 10, 11 und Debian 12)

So konfigurieren Sie weitere, öffentliche IPv4- und IPv6-Adressen in Ubuntu 22.04:

Voraussetzungen
  • Sie haben Ihrem Server im Cloud Panel eine oder mehrere zusätzliche, öffentliche IPv4- und/oder IPv6-Adressen zugewiesen.

  • Sie haben sich auf dem Server eingeloggt.

  • Sie haben die IPv4-Adressen und IPv6-Adressen des Servers notiert.

Prüfen, ob netplan für die Netzwerkkonfiguration verwendet wird

Um zu prüfen, ob Ihr Server bereits netplan für die Netzwerkkonfiguration verwendet, geben Sie den folgenden Befehl ein:

  • Um zu überprüfen, ob das netplan.io-Paket auf deinem Ubuntu- oder Debian-System installiert ist, geben Sie den folgenden Befehl ein:

    [root@localhost ~]# dpkg -l | grep netplan.io

    Wenn das netplan.io-Paket installiert ist, werden Ihnen z. B. folgende Informationen angezeigt:

    root@localhost:~# dpkg -l | grep netplan.io
    ii netplan.io 0.105-0ubuntu2~22.04.3 amd64 YAML network configuration abstraction for various backends

  • Wechseln Sie in das Verzeichnis /etc/netplan.

    [root@localhost ~]# cd /etc/netplan

  • Prüfen Sie, ob sich in diesem Verzeichnis nicht bereits eine Konfigurationsdatei befindet. Geben Sie hierzu den folgenden Befehl ein:

    [root@localhost ~]# ls

Hinweis

Wenn das netplan.io-Paket nicht installiert ist und das Verzeichnis /etc/netplan nicht existiert, wurde netplan nicht installiert. Installieren Sie in diesem Fall nicht Netplan, sondern folgen Sie in diesem Fall den Schritten, die im folgenden Artikel beschrieben werden:

Öffentliche IPv4-Adresse auf einem Dedicated Server hinzufügen (Ubuntu 20.04, 22.04, Debian 10 und 11)

Netzwerkinterface ermitteln

Ermitteln Sie den Dateinamen des Netzwerkinterfaces. Geben Sie hierzu den folgenden Befehl ein:

[root@localhost ~]# ip addr

In diesem Beispiel lautet der Name des Netzwerkinterfaces 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

Standard-DNS-Server anzeigen

  • Um die verwendeten DNS-Server anzuzeigen, geben Sie die folgenden Befehle ein:

    [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

    Anschließend werden die verwendeten DNS-Server am Ende der Ausgabe angezeigt. Beispiel:

    [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) port 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, Authorization
    < 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

  • Notieren Sie die DNS-Server. Im oben genannten Beispiel werden die DNS-Server oberhalb von der Zeile * Connection #0 to host 169.254.169.254 left intact angezeigt.

  • Wenn der DNS Server für IPv6 nicht angezeigt wird, geben Sie den folgenden Befehl ein:

    [root@localhost ~]# resolvectl --no-pager |grep Server

    Beispiel:

    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

Gateway für IPv4 und IPv6 anzeigen

  • Um das Standard-Gateway der aktiven Schnittstelle anzuzeigen, geben Sie die folgenden Befehle ein:

    IPv4:

    [root@localhost ~]# ip route show | grep 'default' 

    IPv6:

    [root@localhost ~]# ip -6 route show | grep 'default'

  • Notieren Sie die IP-Adressen der Gateways. Diese sind direkt hinter dem Teil default via aufgeführt. Beispiele:

    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 diesem Beispiel ist fe80::1 das IPv6 Gateway.

IPv4- und IPv6-Adressen hinzufügen

  • Prüfen Sie, ob sich in diesem Verzeichnis nicht bereits eine Konfigurationsdatei befindet. Geben Sie hierzu den folgenden Befehl ein:

    [root@localhost ~]# ls /etc/netplan

Achtung!

Wenn sich in dem Verzeichnis die Datei 00-Public_network.yaml befindet, benennen Sie diese nicht um, da diese Datei für das öffentliche Netzwerk benötigt wird.

  • Wenn sich in diesem Verzeichnis eine Konfigurationsdatei befindet, benennen Sie diese um. Geben Sie hierzu den folgenden Befehl ein und ersetzen Sie die Platzhalter.

    [root@localhost ~]# mv ALTE_KONFIGURATIONSDATEI.yaml ALTE_KONFIGURATIONSDATEI.yaml.old

  • Erstellen Sie die Datei /etc/netplan/01-netcfg.yaml mit dem Editor vi. Geben Sie hierzu den folgenden Befehl ein:

    [root@localhost ~]# vi /etc/netplan/01-netcfg.yaml

Hinweise
  • Der Editor vi verfügt über einen Einfügemodus und einen Befehls- oder Kommandomodus. Den Einfügemodus können Sie mit der Taste [i] aufrufen. In diesem Modus werden die eingegebenen Zeichen sofort in den Text eingefügt. Um den Befehlsmodus aufzurufen, drücken Sie anschließend [ESC]. Wenn Sie den Befehlsmodus nutzen, werden Ihre Tastatureingaben als Befehl interpretiert.

  • Um vi zu beenden und die Datei zu speichern, geben Sie den Befehl :wq ein und drücken Sie anschließend Enter.

  • Fügen Sie die folgenden Informationen ein:

    network:
      version: 2
      renderer: networkd
      ethernets:
        NETZWERKINTERFACE:
          addresses:
            - HAUPT-IPv4-ADRESSE/32
            - ZUSÄTZLICHE IPv4-ADRESSE_1/32
            - HAUPT-IPv6-ADRESSE/64
            - ZUSÄTZLICHE IPv6-ADRESSE_1/64  
          gateway4: GATEWAY FÜR IPv4
          nameservers:
            addresses:
              - IP-ADRESSE VON NAMESERVER_1
              - IP-ADRESSE VON NAMESERVER_2  
          routes:
            - to: default
              via: GATEWAY FÜR IPv4
            - to: default
              via: GATEWAY FÜR IPv6

    Beispiel:

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

  • Ersetzen Sie den Platzhalter NETZWERKINTERFACE durch das ermittelte Netzwerkinterface. Im oben aufgeführten Beispiel handelt es sich um das Netzwerkinterface ens192. Tragen Sie anschließend die Haupt-IPv4-Adresse, die zusätzlichen IPv4-Adressen sowie und die Haupt-IPv6-Adresse und die zusätzlichen IPv6-Adressen ein. Ersetzen Sie hierzu die Platzhalter.

Achtung
  • Die Einrückungen gehören zu Syntax des YAML-Formats. Stellen Sie daher sicher, dass diese korrekt eingehalten werden. Anderenfalls kann die Konfiguration nicht korrekt übernommen werden und der Server ist ggf. nicht mehr erreichbar.

  • Verwenden Sie für die Einrückungen stets die Leertaste.

  • Ersetzen Sie den Platzhalter GATEWAY FÜR IPv4 mit dem ermittelten IPv4-Gateway.

  • Ersetzen Sie den Platzhalter IP-ADRESSE VON NAMESERVER 1 und IP-ADRESSE VON NAMESERVER 2 mit den ermittelten Nameservern.

  • Ersetzen Sie den Platzhalter GATEWAY FÜR IPv6 mit dem ermittelten IPv6-Gateway.

  • Um vi zu beenden und die Datei zu speichern, geben Sie den Befehl :wq ein und drücken Sie anschließend Enter.

  • Um die Berechtigungen der Datei 01-netcfg.yaml so zu ändern, dass die Datei nur vom root-Konto gelesen und geändert werden kann,geben Sie den folgenden Befehl ein:

    root@localhost:~# sudo chmod 600 /etc/netplan/01-netcfg.yaml

  • Um die Konfigurationsdatei zu prüfen, geben Sie den folgenden Befehl ein:

    root@localhost:~# netplan --debug apply

Achtung

Die von Ihnen vorgenommenen Änderungen in der Datei /etc/netplan/01-netcfg.yaml bleiben bestehen und müssen von Ihnen geändert werden, wenn  diese nicht korrekt sind. Anderenfalls wird das Betriebssystem nach einem Neustart versuchen, diese zu laden.

Hinweis

Wenn nach der Eingabe des Befehls netplan --debug apply z. B. eine ähnliche Fehlermeldung wie die unten stehende aufgeführt wird, deutet dies daraufhin, dass es ein Problem mit der Einrückung in der Datei /etc/netplan/01-netcfg.yaml gibt:

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

Korrigieren Sie in diesem Fall die Einrückung und versuchen Sie es erneut.

  • Um Konflikte zu vermeiden, ist es erforderlich, dass Sie ifupdown deinstallieren. Um ifupdown sowie alle anderen abhängigen Pakete zu deinstallieren und die Konfigurations- und/oder Datendateien von ifupdown zu löschen, geben Sie den folgenden Befehl ein:

    root@localhost:~# sudo apt-get autoremove --purge ifupdown

  • Führen Sie einen Neustart des Server durch, damit die Änderungen übernommen werden. Geben Sie hierzu den folgenden Befehl ein:

    root@localhost:~# systemctl reboot

  • Um zu prüfen, ob die zusätzliche IPv4-Adresse korrekt konfiguriert wurde, geben Sie den folgenden Befehl ein:

    root@localhost:~# ip addr

Hinweis

Sollte der Server aufgrund eines Konfigurationsfehlers nicht mehr erreichbar sein, können Sie mittels der KVM-Konsole die Konfiguration korrigieren. Eine Anleitung zur Nutzung der KVM-Konsole finden Sie im folgenden Artikel:

KVM-Konsole für den Server-Zugriff nutzen (Cloud Server und Virtual Server Cloud)