Netplan unter Ubuntu: Moderne Netzwerk­konfiguration einfach erklärt [2024]

1. Überblick über Netplan in Ubuntu

Was ist Netplan?

Netplan ist ein Netzwerk-Konfigurationstool, das seit Ubuntu 17.10 verwendet wird. Früher wurden ifconfig oder /etc/network/interfaces genutzt, aber Netplan bietet ein neues, modernes Format als Ersatz. Das Hauptmerkmal von Netplan ist die Nutzung von YAML-Dateien zur Beschreibung der Netzwerkeinstellungen. Dadurch sind einfache und konsistente Konfigurationen möglich, selbst komplexe Netzwerke lassen sich unkompliziert verwalten.

Netplan unterstützt verschiedene Backends wie NetworkManager und systemd-networkd und wird sowohl in der Desktop- als auch in der Server-Version von Ubuntu eingesetzt. So kann das Netzwerk in unterschiedlichen Umgebungen auf die gleiche Art und Weise verwaltet werden.

Warum sollte man Netplan verwenden?

Im Vergleich zu herkömmlichen Methoden bietet Netplan folgende Vorteile:

  1. Einfache Syntax: Das YAML-Format ist intuitiv und strukturiert. Die Konfiguration ist übersichtlich und auch für Einsteiger leicht verständlich.
  2. Zentrale Verwaltung: Da Netplan sowohl im Desktop- als auch im Server-Umfeld eingesetzt werden kann, lassen sich verschiedene Netzwerkkonfigurationen zentral steuern.
  3. Dynamische Änderungen: Nach dem Bearbeiten der Konfigurationsdateien können Netzwerk-Einstellungen in Echtzeit übernommen werden.

Grundlegender Aufbau von Netplan

Die Konfigurationsdateien von Netplan befinden sich normalerweise im Verzeichnis /etc/netplan/ und haben die Endung .yaml. Diese Dateien enthalten Einstellungen für Netzwerk-Interfaces, IP-Adressen und DNS-Server.

Ein einfaches Beispiel für eine Netplan-Konfiguration sieht folgendermaßen aus:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

In diesem Beispiel erhält das Ethernet-Interface enp3s0 seine IP-Adresse automatisch per DHCP.

Die Rolle von Netplan ab Ubuntu 18.04 LTS

Ab Ubuntu 18.04 LTS ist Netplan standardmäßig installiert und wird sowohl für die Netzwerkverwaltung auf Servern als auch auf Desktops verwendet. Gerade im Server-Bereich, wo mehrere Netzwerk-Interfaces oder statische IPs gebraucht werden, spielt die Flexibilität von Netplan eine große Rolle.

Im nächsten Abschnitt erklären wir, wie man Netzwerke mit Netplan konkret konfiguriert.

年収訴求

2. Grundlegende Netplan-Konfiguration

Speicherort der Netplan-Konfigurationsdateien

Die Netplan-Konfigurationsdateien befinden sich in der Regel im Verzeichnis /etc/netplan/. Durch das Bearbeiten der .yaml-Dateien in diesem Ordner kann das Netzwerk angepasst werden. Häufige Dateinamen sind beispielsweise 50-cloud-init.yaml, dies kann aber je nach Umgebung variieren.

Zum Öffnen der Konfigurationsdatei kann man Editoren wie vi oder nano verwenden:

sudo vi /etc/netplan/50-cloud-init.yaml

DHCP (dynamische IP-Adresse) einrichten

Um die IP-Adresse automatisch per DHCP zu beziehen, kann folgende YAML-Konfiguration verwendet werden. Diese Einstellung ist besonders in Heim- und Büro-Umgebungen gängig:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

Statische IP-Adresse einrichten

In manchen Umgebungen müssen Server oder bestimmte Geräte mit festen IP-Adressen konfiguriert werden. Das folgende Beispiel zeigt eine Konfiguration für eine statische IP-Adresse:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Anwenden der Konfiguration

Nach dem Bearbeiten der Konfigurationsdateien kann man die Einstellungen mit folgendem Befehl aktivieren:

sudo netplan apply

Überprüfen der Konfiguration

Um zu überprüfen, ob die Netplan-Konfiguration erfolgreich angewendet wurde, kann folgender Befehl genutzt werden:

ip a

3. Konfiguration mehrerer Netzwerk-Interfaces

Mehrere Ethernet-Interfaces konfigurieren

Bei Servern oder Geräten mit mehreren Netzwerk-Interfaces kann jedes Interface individuell konfiguriert werden. Im folgenden Beispiel sind zwei Ethernet-Interfaces unterschiedlich eingestellt:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
    enp4s0:
      addresses:
        - 192.168.1.150/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Bonding zur Erhöhung der Redundanz

Durch „Bonding“ werden mehrere Netzwerk-Interfaces zu einem virtuellen Interface zusammengefasst, um Redundanz und Verfügbarkeit zu erhöhen. Das folgende Beispiel zeigt zwei gebündelte Interfaces als bond0:

network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      interfaces:
        - enp3s0
        - enp4s0
      addresses:
        - 192.168.1.200/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
      parameters:
        mode: active-backup
        primary: enp3s0

Wi-Fi-Verbindung konfigurieren

Mit Netplan kann auch WLAN eingerichtet werden. Das folgende Beispiel zeigt die Konfiguration für eine Verbindung mit einer bestimmten SSID:

network:
  version: 2
  renderer: networkd
  wifis:
    wlp2s0:
      access-points:
        "my_wifi_network":
          password: "password1234"
      dhcp4: true

VLAN-Konfiguration

Für bestimmte Anwendungsfälle kann das Netzwerk durch VLAN (Virtual LAN) logisch segmentiert werden. Auch dies ist mit Netplan möglich. Das folgende Beispiel richtet ein VLAN auf enp3s0 ein:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan10:
      id: 10
      link: enp3s0
      addresses:
        - 192.168.10.1/24

 

4. Erweiterte Netplan-Konfiguration

Statisches Routing einrichten

Wenn das Netzwerk über mehrere Router verbunden wird, sind statische Routen notwendig. Mit Netplan kann man solche Routen einfach festlegen. Hier ein Beispiel:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      routes:
        - to: 10.0.0.0/24
          via: 192.168.1.1

In diesem Beispiel wird der gesamte Datenverkehr zum Netzwerk 10.0.0.0/24 über das Gateway 192.168.1.1 geleitet.

Mehrere Default-Gateways konfigurieren

Bei mehreren Netzwerk-Interfaces können jeweils unterschiedliche Default-Gateways gesetzt werden. Dies ist in Umgebungen nützlich, die den Zugang zum Internet über verschiedene Netzwerke benötigen:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
    enp4s0:
      addresses:
        - 10.0.0.100/24
      gateway4: 10.0.0.1

DNS-Server einrichten

Mit Netplan lassen sich auch statische DNS-Server einfach konfigurieren. Im folgenden Beispiel werden die öffentlichen DNS-Server von Google angegeben:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Erweiterte Bonding-Konfiguration

Neben dem zuvor vorgestellten Bonding-Modus kann der Betriebsmodus individuell angepasst werden. Im folgenden Beispiel wird der Round-Robin-Modus verwendet:

network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      interfaces:
        - enp3s0
        - enp4s0
      addresses:
        - 192.168.1.200/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
      parameters:
        mode: balance-rr

Im balance-rr (Round Robin)-Modus wird die Bandbreite gleichmäßig auf beide Interfaces verteilt. Weitere Modi wie active-backup für Failover oder balance-tlb für Load-Balancing stehen ebenfalls zur Verfügung.

Erweiterte VLAN-Konfiguration

VLANs (Virtual LANs) werden genutzt, um große Netzwerke logisch zu segmentieren. Auch das lässt sich mit Netplan einfach einrichten. Im Beispiel wird das VLAN-Interface vlan100 konfiguriert:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan100:
      id: 100
      link: enp3s0
      addresses:
        - 192.168.100.1/24

Hier wird dem Interface enp3s0 die VLAN-ID 100 und die statische IP 192.168.100.1 zugewiesen. So lässt sich das Netzwerk in logische Segmente unterteilen.

5. Netplan: Fehlersuche und Problemlösung

Die Netplan-Konfiguration ist zwar sehr praktisch, aber Fehler in der Konfiguration oder spezielle Systemumgebungen können zu Problemen führen. In diesem Abschnitt werden häufige Probleme und deren Lösungen vorgestellt, damit Netzwerkfehler schnell behoben werden können.

Häufige Netplan-Probleme und ihre Ursachen

1. Änderungen werden nicht übernommen

Manchmal werden Änderungen trotz Ausführung des Befehls nicht übernommen. Mögliche Ursachen:

  • Fehlerhafte Einrückung in YAML-Dateien: YAML ist sehr empfindlich bezüglich Leerzeichen und Tabs. Bereits kleine Fehler führen dazu, dass die Konfiguration nicht erkannt wird. Prüfen Sie daher die Einrückung sorgfältig.
  • Falscher Interface-Name: Es muss der korrekte Name des Netzwerk-Interfaces angegeben werden. Mit ip a lässt sich der exakte Name herausfinden, der auch in der Konfiguration verwendet werden muss.

Lösungsansätze

  1. Nach dem Speichern der Konfiguration netplan apply ausführen.
  2. Tritt ein Fehler auf, kann sudo netplan try genutzt werden, um die Änderungen zuerst zu testen. Innerhalb von 5 Minuten kann bei Problemen automatisch die alte Konfiguration wiederhergestellt werden.
sudo netplan apply
sudo netplan try

2. Netzwerkverbindung schlägt fehl

Wenn keine Netzwerkverbindung besteht, können folgende Ursachen vorliegen:

  • Falsche Gateway- oder DNS-Konfiguration: Fehlerhafte Gateways oder DNS-Server verhindern die Internetverbindung. Überprüfen Sie die IP-Adressen und die angegebenen DNS-Server sorgfältig.
  • Physische Probleme am Interface: Bei nicht korrekt angeschlossenen Kabeln oder defekten Geräten hilft auch eine korrekte Software-Konfiguration nicht. Prüfen Sie daher immer auch die Hardware.

Lösungsansätze

  1. Mit ping kann getestet werden, ob das Netzwerk erreichbar ist. Zum Beispiel kann man den Google-DNS-Server (8.8.8.8) anpingen:
ping 8.8.8.8
  1. Liegt ein Problem in der Konfiguration vor, erneut netplan apply ausführen und das Netzwerk mit folgendem Befehl neu starten:
sudo systemctl restart networkd

3. Fehler beim netplan apply-Befehl

Wird beim Ausführen von netplan apply eine Fehlermeldung angezeigt, liegt meist ein Problem in der Konfiguration oder bei der Erkennung der Interfaces vor.

  • Beispiel-Fehlermeldung: Error in network configuration: failed to bring up device enp3s0

Dieser Fehler tritt auf, wenn das angegebene Interface enp3s0 nicht erkannt wird. Überprüfen Sie mit ip a, ob der Name korrekt ist.

Lösungsansätze

Lesen Sie die Fehlermeldungen aufmerksam und überprüfen Sie Interface-Namen, IP-Adressen, Einrückungen und Schreibweisen in der YAML-Datei.

Prüfung der Log-Dateien

Beim Troubleshooting sind System-Logs oft sehr hilfreich. Mit journalctl lassen sich Netplan-bezogene Fehlermeldungen und Warnungen einsehen:

journalctl -u systemd-networkd

Dieser Befehl zeigt Netzwerk-Logs an. So können Fehler schnell identifiziert und gelöst werden.

6. Zusammenfassung und nächste Schritte mit Netplan

Mit Netplan lässt sich die Netzwerkkonfiguration unter Ubuntu einfach und effizient verwalten. In diesem Abschnitt werden die wichtigsten Erkenntnisse zusammengefasst und weitere Schritte zur Vertiefung vorgeschlagen.

Die wichtigsten Vorteile von Netplan

Netplan bietet im Vergleich zu klassischen Methoden viele Vorteile:

  1. Intuitive YAML-Konfiguration: Netplan nutzt ein leicht verständliches YAML-Format, was die Konfiguration und Fehlersuche erleichtert.
  2. Flexible Netzwerkkonfiguration: Die Konfiguration mehrerer Interfaces, Bonding, statisches Routing und VLANs lassen sich klar und einfach umsetzen.
  3. Einheitliche Schnittstelle: Netplan unterstützt verschiedene Backends wie systemd-networkd und NetworkManager und kann so plattformübergreifend genutzt werden.
  4. Echtzeit-Änderungen: Mit einem einzigen Befehl werden Änderungen sofort übernommen, was Ausfallzeiten minimiert.

Weitere Anwendungsmöglichkeiten

Nach den Grundlagen empfiehlt es sich, sich mit fortgeschrittenen Netplan-Themen zu beschäftigen. Hier einige Beispiele für nächste Schritte:

  1. Virtuelle Netzwerke einrichten: Durch die Nutzung mehrerer VLANs kann das physische Netzwerk logisch segmentiert und die Sicherheit sowie Verwaltung verbessert werden – besonders relevant für große Infrastrukturen oder Cloud-Umgebungen.
  2. IPv6-Konfiguration: Da IPv4-Adressen knapp werden, lohnt sich die Vorbereitung auf IPv6 mit Netplan.
  3. Automatisierungsskripte: Durch Scripting und Tools wie Ansible oder Puppet lassen sich Netplan-Konfigurationen automatisieren und im großen Maßstab verwalten.
  4. Erhöhung der Netzwerksicherheit: Mit Netplan kann die Netzwerksicherheit durch Firewall-Regeln, Zugangsbeschränkungen und Netzsegmentierung gezielt verbessert werden.

Empfohlene Ressourcen für die Vertiefung

Die offizielle Netplan-Dokumentation sowie technische Infos zu Ubuntu-Netzwerken sind ausgezeichnete Quellen für weiterführendes Lernen. Auch Foren und Technik-Blogs sind hilfreich. Hier einige Empfehlungen:

 

侍エンジニア塾