====== Ubuntu-Server - Netzwerk-Konfiguration mit Netplan ====== {{alt:wiki:linux-alt:linux-alt:linux:linux-ubuntu-server:ubuntu-server.png?200 |}}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 \\ ---- {{page>impressum:ausschluss#Haftungsausschluss}} ---- ~~DISCUSSION~~