Fedora – Interne Bridge vmbr0 mit NAT: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 6: Zeile 6:
 
* NAT für 192.168.16.0/24
 
* NAT für 192.168.16.0/24
 
* Vollständig NetworkManager-konform
 
* Vollständig NetworkManager-konform
 +
* Keine doppelte Dummy-Connection
 +
* Kein manuelles ip link add
  
== Dummy-Modul beim Boot laden ==
+
== Alte Konfiguration vollständig entfernen ==
*echo dummy > /etc/modules-load.d/dummy.conf
 
*echo "options dummy numdummies=1" > /etc/modprobe.d/dummy.conf
 
*modprobe dummy numdummies=1
 
 
 
== Alte Konfiguration entfernen ==
 
 
*nmcli connection delete vmbr0 2>/dev/null
 
*nmcli connection delete vmbr0 2>/dev/null
 
*nmcli connection delete dummy0 2>/dev/null
 
*nmcli connection delete dummy0 2>/dev/null
Zeile 19: Zeile 16:
 
*ip link delete dummy0 2>/dev/null
 
*ip link delete dummy0 2>/dev/null
  
== Dummy-Interface erstellen ==
+
== Dummy-Kernelmodul dauerhaft laden ==
*nmcli connection add type dummy ifname dummy0 con-name dummy0
+
*echo dummy > /etc/modules-load.d/dummy.conf
*nmcli connection up dummy0
+
*echo "options dummy numdummies=1" > /etc/modprobe.d/dummy.conf
 +
*modprobe dummy numdummies=1
 +
 
 +
== Prüfen ob dummy0 existiert ==
 +
*ip link show dummy0
 +
 
 +
;dummy0 muss sichtbar sein
  
 
== Bridge erstellen ==
 
== Bridge erstellen ==
Zeile 34: Zeile 37:
 
== Bridge starten ==
 
== Bridge starten ==
 
*nmcli connection up vmbr0
 
*nmcli connection up vmbr0
*nmcli connection up bridge-slave-dummy0
 
  
 
== Kontrolle ==
 
== Kontrolle ==
Zeile 52: Zeile 54:
 
;Name der aktiven Connection mit Default-Route merken
 
;Name der aktiven Connection mit Default-Route merken
  
== Bridge als internal setzen ==
+
== Zonen setzen ==
 
*nmcli connection modify vmbr0 connection.zone internal
 
*nmcli connection modify vmbr0 connection.zone internal
 +
*nmcli connection modify "<AKTIVE-CONNECTION>" connection.zone public
 
*nmcli connection up vmbr0
 
*nmcli connection up vmbr0
 
== Aktive Uplink-Connection als public setzen ==
 
*nmcli connection modify "<AKTIVE-CONNECTION>" connection.zone public
 
 
*nmcli connection up "<AKTIVE-CONNECTION>"
 
*nmcli connection up "<AKTIVE-CONNECTION>"
  
Zeile 66: Zeile 66:
  
 
== Ergebnis ==
 
== Ergebnis ==
*vmbr0 bleibt permanent UP
+
*vmbr0 permanent state UP
 
*192.168.16.0/24 wird genattet
 
*192.168.16.0/24 wird genattet
 
*NAT funktioniert mit jeder Connection in Zone public
 
*NAT funktioniert mit jeder Connection in Zone public

Aktuelle Version vom 2. März 2026, 11:39 Uhr

Fedora – Interne Bridge vmbr0 mit generischem NAT

Ziel

  • Bridge vmbr0 mit 192.168.16.254/24
  • Permanenter Carrier über dummy0
  • NAT für 192.168.16.0/24
  • Vollständig NetworkManager-konform
  • Keine doppelte Dummy-Connection
  • Kein manuelles ip link add

Alte Konfiguration vollständig entfernen

  • 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-Kernelmodul dauerhaft laden

  • echo dummy > /etc/modules-load.d/dummy.conf
  • echo "options dummy numdummies=1" > /etc/modprobe.d/dummy.conf
  • modprobe dummy numdummies=1

Prüfen ob dummy0 existiert

  • ip link show dummy0
dummy0 muss sichtbar sein

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 hinzufügen

  • nmcli connection add type bridge-slave ifname dummy0 master vmbr0 con-name bridge-slave-dummy0

Bridge starten

  • 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
Name der aktiven Connection mit Default-Route merken

Zonen setzen

  • nmcli connection modify vmbr0 connection.zone internal
  • nmcli connection modify "<AKTIVE-CONNECTION>" connection.zone public
  • nmcli connection up vmbr0
  • nmcli connection up "<AKTIVE-CONNECTION>"

NAT aktivieren

  • 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 jeder Connection in Zone public