Öffentliche IPv4- und IPv6-Adressen auf einem Cloud Server mit netplan konfigurieren (Ubuntu 22.04)
Bitte verwenden sie die "Drucken" Funktion am Seitenende, um ein PDF zu erstellen.
Für Cloud Server
In diesem Artikel wird erklärt, wie Sie weitere, öffentliche IPv4- und IPv6-Adressen auf einem Cloud Server 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:
Achtung
Diese Anleitung ist nur für Cloud Server 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 Cloud Server konfigurieren, auf dem Ubuntu 18.04, Ubuntu 20.04, Debian 10, 11 oder Debian 12 installiert ist, wird im folgenden Artikel beschrieben:
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 backendsWechseln 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:
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 -LvAnschließ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 intactNotieren 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 Gatewayroot@localhost:~# ip route show default
default via 10.255.255.1 dev ens192 proto dhcp src 217.160.141.60 metric 100IPv6 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 IPv6Beispiel:
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::1Ersetzen 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)
Weitere Informationen zu netplan finden Sie hier:
http://manpages.ubuntu.com/manpages/bionic/man5/systemd.network.5.html