Fedora – Interne Bridge vmbr0 mit NAT
Version vom 2. März 2026, 11:22 Uhr von Thomas.will (Diskussion | Beiträge)
Fedora – Interne Bridge vmbr0 mit generischem NAT
Ziel
- Bridge vmbr0 mit 192.168.16.254/24
- Internes Netz 192.168.16.0/24
- Permanenter Carrier über dummy0
- NAT unabhängig vom verwendeten Uplink
- Vollständig NetworkManager-konform
- Keine ip-link-Manipulation
Dummy-Modul beim Boot laden
- echo dummy > /etc/modules-load.d/dummy.conf
- echo "options dummy numdummies=1" > /etc/modprobe.d/dummy.conf
- modprobe dummy numdummies=1
Alte Reste entfernen (optional bei Neuaufbau)
- nmcli connection delete vmbr0 2>/dev/null
- nmcli connection delete dummy0 2>/dev/null
- nmcli connection delete bridge-slave-dummy0 2>/dev/null
- ip link delete vmbr0 2>/dev/null
- ip link delete dummy0 2>/dev/null
Dummy über NetworkManager erstellen
- nmcli connection add type dummy ifname dummy0 con-name dummy0
- nmcli connection up dummy0
Bridge erstellen
- nmcli connection add type bridge ifname vmbr0 con-name vmbr0
- nmcli connection modify vmbr0 ipv4.addresses 192.168.16.254/24
- nmcli connection modify vmbr0 ipv4.method manual
- nmcli connection modify vmbr0 ipv6.method ignore
Dummy als Bridge-Port anbinden
- nmcli connection add type bridge-slave ifname dummy0 master vmbr0
Bridge aktivieren
- nmcli connection up vmbr0
Kontrolle
- ip link show vmbr0
- Erwartet
- state UP
- kein NO-CARRIER
IP-Forwarding dauerhaft aktivieren
- echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf
- sysctl --system
Aktive Uplink-Connection ermitteln
- nmcli connection show --active
- Die Connection mit Default-Route identifizieren
Bridge als internal setzen
- nmcli connection modify vmbr0 connection.zone internal
- nmcli connection up vmbr0
Aktive Uplink-Connection als public setzen
- nmcli connection modify "<AKTIVE-CONNECTION>" connection.zone public
- nmcli connection up "<AKTIVE-CONNECTION>"
NAT konfigurieren
- firewall-cmd --permanent --zone=public --add-masquerade
- firewall-cmd --permanent --zone=internal --add-forward
- firewall-cmd --reload
Ergebnis
- vmbr0 permanent state UP
- 192.168.16.0/24 wird genattet
- NAT funktioniert mit jedem Interface in Zone public
- Keine Kernel-Manipulation notwendig