Ubuntu-Server - Netzwerk-Konfiguration mit Netplan
Seit Ubuntu Server 17.10 setzt Ubuntu bei der Netzwerkkonfiguration auf Netplan und nicht mehr auf ifupdown. Im Desktop-Bereich kommt der NetworkManager zum Einsatz.
Die Konfiguration unterscheidet sich hier grundlegend und erfolgt über das YAML-Format.
Die Netzwerkkonfiguration wird in .yaml Dateien unterhalb /etc/netplan umgesetzt. Aus diesen Dateien generiert das System beim Start eine Running Config.
Netzwerk-Konfiguration nach Installation
Nach der Installation eines Ubuntu Servers 20.04 enthält das Verzeichnis /etc/netplan die Datei 00-installer-config.yaml
# This is the network config written by 'subiquity' network: ethernets: ens160: addresses: - 10.10.10.10/24 gateway4: 10.10.10.1 nameservers: addresses: - 10.10.10.1 search: [] version: 2
Vorlagen mit Erläuterung
Es folgen zwei Standard-Konfiguration mit Erklärung der einzelnen Möglichkeiten
Vorlage DHCP
Eine DHCP-Konfiguration auf Basis von IPv4 und IPv6 sieht wie folgt aus:
# Basierend auf 'netplan.io' network: version: 2 renderer: networkd ethernets: ens160: dhcp4: true dhcp6: true
Vorlage Statische IP
Eine statische Konfiguration auf Basis von IPv4 und IPv6 sieht wie folgt aus:
# Basierend auf 'netplan.io' network: version: 2 renderer: networkd ethernets: ens160: dhcp4: no dhcp6: no addresses: - 10.10.10.10/24 - "fe80:0000:0001:0011:0111:1111:0000:0001/64" gateway4: 10.10.10.1 gateway6: fe80:db7::1 nameservers: search: [meineDomain, andereDomain] addresses: [10.10.10.100, 10.10.10.110]
Wichtig
Die Einrückungen müssen mit Leerzeichen und nicht mit Tabulator-Einzügen gemacht werden. Die Einrückungen müssen konsequent durchgezogen werden, da YAML diese zur sauberen Interprätation benötigt.
Erläuterungen
Konfiguration | Erläuterung |
network: | Gibt den Startpunkt der Netzwerk-Konfiguration an |
version: | 2 - Gibt die Version von netplan an |
renderer: | Das verwendete Backend. networkd für die Server-Installation und NetworkManager für die Desktop-Installation |
ethernets: | Start der LAN-Konfiguration (Ethernet-Port) |
ens160: | Name des Netzwerk-Interfaces |
dhcp4: | true für aktiviertes DHCP-v4 - no für deaktiviertes DHCP-v4 |
dhcp6: | true für aktiviertes DHCP-v6 - no für deaktiviertes DHCP-v6 |
addresses: | Beginn der Adress-Konfiguration |
Pro Zeile eine Adresse, gefolgt vom Subnetz in CIDR-Präfix Schreibweise (z.B. /24). Die Adresseingabe kann mit Bindestrich - oder in eckigen Klammern [] erfolgen. Es können IPv4- sowie IPv6-Adressen verwendet werden. | |
gateway4: | Das Gateway für die IPv4 Adresse |
gateway6: | Das Gateway für die IPv6 Adresse |
nameservers: | Beginn der Nameserver-Konfiguration |
- addresses: | IP-Adressen der DNS-Nameserver. Die Angabe erfolgt in eckigen Klammern. Mehrere Eingaben durch Komma getrennt |
search: | Such-Domains (Search-Domains), die Angabe erfolgt in eckigen Klammern. Mehrere Eingaben durch Komma getrennt |
Tabelle CIDR
Zur Hilfestellung hier noch eine Präfix-Tabelle für die Netze ab /24
CIDR-Präfix | IPv4 Subnetzmaske |
/24 | 255.255.255.0 |
/25 | 255.255.255.128 |
/26 | 255.255.255.192 |
/27 | 255.255.255.224 |
/28 | 255.255.255.240 |
/29 | 255.255.255.248 |
/30 | 255.255.255.252 |
/31 | 255.255.255.254 |
/32 | 255.255.255.255 |
Abschluss der Konfiguration
Konfiguration generieren
Der folgende Befehl generiert aus den yaml-Dateie eine Netzwerk-Konfiguration
sudo netplan generate
Konfiguraton testen
Die getätigte Konfiguration könnt Ihr mit folgendem Befehl überprüfen.
sudo netplan try
Erfolgt innerhalb von 120 Sekunden keine Bestätigung, werden die Änderungen rückgängig gemacht.
Somit ist sichergestellt, dass man sich bei einer fehlerhaften Konfiguration nicht aussperrt.
Konfiguration debuggen
Tritt beim Test ein Fehler auf kann man die Konfiguration debuggen
sudo netplan –debug apply
Konfiguration übernehmen
Mit apply kann schlussendlich die Konfiguration übernommen werden.
sudo netplan apply
Fazit
Einerseits verschafft die einheitliche Struktur etwas mehr Übersicht und vereinfacht die Konfiguration auf den ersten Blick, doch diese penible Einrückerei ohne Tab-Unterstützung ist für mich ein absolutes NoGo. Für mich ist das mal wieder eine gute Idee halb fertig auf die Menschheit losgelassen.
Wie es sich in Zukunft in der Praxis bewährt, werden wir sehen.
Euer RSB
Haftungsausschluss
Wir haben die hier gezeigten Anleitung sorgfältig erstellt und in unserer Testumgebungen ausgiebig getestet.
Wer sich entschließt diese Anleitungen für sich selbst umzusetzen, führt diese auf eigene Verantwortung durch.
Der Ersteller des Artikels, sowie der Seitenbetreiber, haftet nicht für eventuelle Schäden an Hard- und/oder Software oder damit zusammenhängenden Schäden\\
Diskussion