Files
homelab/docs/01-network-bridge.md

3.9 KiB

01 — Netzwerk-Bridge (br0)

Datum: 2026-03-16 Nodes: rnk-cp01, rnk-wrk01, rnk-wrk02


Ziel

Auf jedem Node eine Linux-Bridge (br0) konfigurieren, sodass KVM-VMs direkt im LAN-Segment 192.168.11.0/24 erreichbar sind (kein NAT).


Node-Übersicht

Node IP Ethernet-Interface
rnk-cp01 192.168.11.170 enx1065308999be
rnk-wrk01 192.168.11.171 enxa4bb6df4c4d7
rnk-wrk02 192.168.11.172 enxcc96e5c5702b

Vorgehensweise

1. Bestehende Netplan-Config prüfen

sudo cat /etc/netplan/50-cloud-init.yaml
ip link show

2. Neue Bridge-Config schreiben

Neue Datei /etc/netplan/99-br0.yaml erstellen (Beispiel für rnk-cp01):

network:
  version: 2
  ethernets:
    enx1065308999be:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
      interfaces: [enx1065308999be]
      addresses:
        - "192.168.11.170/24"
      nameservers:
        addresses:
          - 192.168.11.1
        search:
          - int.befast.at
      routes:
        - to: "default"
          via: "192.168.11.1"
      parameters:
        stp: false
        forward-delay: 0

stp: false und forward-delay: 0 sorgen dafür, dass die Bridge sofort ohne Spanning-Tree-Verzögerung verfügbar ist — wichtig für VMs die beim Boot DHCP nutzen.

3. Berechtigungen setzen

sudo chmod 600 /etc/netplan/99-br0.yaml

Netplan verweigert sonst das Anwenden (Warnung: "Permissions too open").

4. Alte Cloud-Init Config entfernen

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

5. Config anwenden

sudo netplan apply

Die IP wechselt von der Ethernet-Schnittstelle auf br0 — SSH-Verbindung bleibt erhalten, da die IP gleich bleibt.


Konfiguration je Node

rnk-cp01 — /etc/netplan/99-br0.yaml

network:
  version: 2
  ethernets:
    enx1065308999be:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
      interfaces: [enx1065308999be]
      addresses:
        - "192.168.11.170/24"
      nameservers:
        addresses:
          - 192.168.11.1
        search:
          - int.befast.at
      routes:
        - to: "default"
          via: "192.168.11.1"
      parameters:
        stp: false
        forward-delay: 0

rnk-wrk01 — /etc/netplan/99-br0.yaml

network:
  version: 2
  ethernets:
    enxa4bb6df4c4d7:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
      interfaces: [enxa4bb6df4c4d7]
      addresses:
        - "192.168.11.171/24"
      nameservers:
        addresses:
          - 192.168.11.1
        search:
          - int.befast.at
      routes:
        - to: "default"
          via: "192.168.11.1"
      parameters:
        stp: false
        forward-delay: 0

rnk-wrk02 — /etc/netplan/99-br0.yaml

network:
  version: 2
  ethernets:
    enxcc96e5c5702b:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
      interfaces: [enxcc96e5c5702b]
      addresses:
        - "192.168.11.172/24"
      nameservers:
        addresses:
          - 192.168.11.1
        search:
          - int.befast.at
      routes:
        - to: "default"
          via: "192.168.11.1"
      parameters:
        stp: false
        forward-delay: 0

Verifikation

# Bridge-Interface prüfen
ip addr show br0

# Bridge-Members prüfen
bridge link show

# Konnektivität testen
ping -c2 192.168.11.1

Erwartete Ausgabe ip addr show br0:

br0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
    inet 192.168.11.XXX/24 brd 192.168.11.255 scope global br0

Ergebnis

Node br0 IP Status
rnk-cp01 192.168.11.170 UP
rnk-wrk01 192.168.11.171 UP
rnk-wrk02 192.168.11.172 UP

VMs können jetzt mit --network bridge=br0 gestartet werden und erhalten eine IP direkt aus dem LAN-Segment.