Netzwerkkonfiguration mit Netplan

Last change on 2025-11-04 • Created on 2025-10-28 • ID: RO-E9BFB

In diesem Artikel geht's um die wichtigsten Konfigurationsoptionen von Netplan, das oft bei Distributionen wie Ubuntu und seinen Ablegern genutzt wird. Wir schauen uns die empfohlene Basiskonfiguration, die Konfiguration zusätzlicher IPs und deren Verwendung in einer virtualisierten Umgebung an.

Es gibt mehrere Optionen zur Auswahl:

  • Verwende mehrere IP-Adressen auf dem HOST ohne Virtualisierung
  • Verwende Bridging (Layer 2), um deinen VMs IP-Adressen zuzuweisen
  • Verwende Routing (Layer 3), um deinen VMs IP-Adressen zuzuweisen
  • Kombiniere Routing und Bridging zu einer hybriden Konfiguration, indem du zwei oder mehr Netzwerkbrücken nutzt

Beispielterminologie

2001:db8:1234::   # Platzhalter für öffentliches IPv6-Netzwerk des Servers
10.0.0.168        # Platzhalter für Haupt-IPv4
10.0.10.135       # Platzhalter für zusätzliche einzelne IPv4
10.10.10.128/29   # Platzhalter für zusätzliches IPv4-Netzwerk
AA:BB:CC:DD:EE:FF # Platzhalter für MAC-Adresse der physischen Schnittstelle und Haupt-IPv4
00:50:56:00:11:22 # Platzhalter für virtuelle MAC-Adresse der zusätzlichen einzelnen IP-Adresse

Beispiel für die Standardkonfiguration nach einer neuen Ubuntu 24-Installation (Hetzner-Installationsimage)

nano /etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    enp7s0:
      addresses:
        - 10.0.0.1               # Haupt-IPv4 für den HOST
        - 2001:db8:1234::1       # Haupt-IPv6/64-Subnetz für den HOST
      routes:
        - on-link: true
          to: 0.0.0.0/0
          via: 10.0.0.129        # Gateway IPv4 of the main IPv4 address
        - to: default
          via: fe80::1           # Standard-IPv6-Gateway von Hetzner
      nameservers:
        addresses:
          - 185.12.64.2          # Nameservers from installimage process
          - 2a01:4ff:ff00::add:1 # Nameservers from installimage process
          - 185.12.64.1          # Nameservers from installimage process
          - 2a01:4ff:ff00::add:2 # Nameservers from installimage process

Konfigurieren von zusätzlichen einzelnen IPv4-Adressen und IPv4-Subnetzen (ohne Virtualisierung)

Voraussetzungen:

  • Der Server hat 1 physische Uplink-Schnittstelle – enp7s0 mit der MAC-Adresse AA:BB:CC:DD:EE:FF
  • Der Server hat eine Haupt-IPv4-Adresse (enp7s0)
  • Der Server hat eine zusätzliche einzelne IPv4-Adresse (die virtuelle MAC-Adresse wurde über das Robot-Konto deaktiviert)
  • Der Server hat ein zusätzliches IPv4-Subnetz
  • Der Server hat ein /64 IPv6-Subnetz für den HOST

Ziel:

  • Der Server kann über folgende Adressen kommunizieren:
  • Haupt-IPv4
  • Zusätzliche einzelne IPv4
  • Alle nutzbaren IP-Adressen des IPv4-Subnetzes (einschließlich der Netz-IP)
  • IPv6::2/64
  • IPv6::3/64

Umsetzung:

  • Alle IP-Adressen und Routen werden direkt auf der Hauptschnittstelle konfiguriert.

Schritt 1 – Netplan auf dem HOST einrichten

nano /etc/netplan/01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    enp7s0:
      addresses:
        - 10.0.0.168/32           # Main IPv4 for the HOST

        - 10.0.10.135/32          # The single IPv4 Address for the GUEST

        - 10.10.10.128/32         # Net-IP of the IPv4 Subnet (Net IP can be used in this case)
        - 10.10.10.129/32         # IP of the IPv4 Subnet
        - 10.10.10.130/32         # IP of the IPv4 Subnet
        - 10.10.10.131/32         # IP of the IPv4 Subnet
        - 10.10.10.132/32         # IP of the IPv4 Subnet
        - 10.10.10.133/32         # IP of the IPv4 Subnet
        - 10.10.10.134/32         # Last usable IP of the IPv4 Subnet (.135 is reserved for broadcast)

        - 2001:db8:1234::2/128    # Main IPv6/64 subnet for the HOST
        - 2001:db8:1234::3/128    # Main IPv6/64 subnet for the HOST
      routes:
        - on-link: true
          to: 0.0.0.0/0
          via: 10.0.0.129         # Gateway IPv4 of the main IPv4 address
        - to: default
          via: fe80::1            # Default Hetzner IPv6 gateway
      nameservers:
        addresses:
          - 185.12.64.2           # Nameservers from installimage process
          - 2a01:4ff:ff00::add:1  # Nameservers from installimage process
          - 185.12.64.1           # Nameservers from installimage process
          - 2a01:4ff:ff00::add:2  # Nameservers from installimage process

Erklärung:

Der Kernel nutzt keine Routen für lokale zusätzliche IPs, auch wenn sie definiert sind. Der Datenverkehr wird für zusätzliche IPs nicht über die Haupt-IPv4 geleitet, und du siehst keinen zusätzlichen Hop für zusätzliche IPs. Das führt aber nicht zu abuse. Bei jeder IP ist die Source-MAC-Adresse die erlaubte MAC-Adresse der Haupt-IPv4. Das Hetzner-Netzwerk leitet den Datenverkehr korrekt an zusätzliche IPs auf deinem Server weiter, und der Server sendet den Datenverkehr ordnungsgemäß an das Hetzner-Netzwerk.

Weiterführende Tutorials

Table of Contents