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

203 lines
3.9 KiB
Markdown

# 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
```bash
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):
```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
```
> `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
```bash
sudo chmod 600 /etc/netplan/99-br0.yaml
```
Netplan verweigert sonst das Anwenden (Warnung: "Permissions too open").
### 4. Alte Cloud-Init Config entfernen
```bash
sudo rm /etc/netplan/50-cloud-init.yaml
```
### 5. Config anwenden
```bash
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
```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
```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
```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
```bash
# 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.