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

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „= Fedora – Interne Bridge vmbr0 mit NAT = == Ziel == * Bridge vmbr0 mit 192.168.16.1/24 * Internes Netz 192.168.16.0/24 * Routing und NAT ins externe Netz…“)
 
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= Fedora – Interne Bridge vmbr0 mit NAT =
+
= Fedora – Interne Bridge vmbr0 mit generischem NAT =
  
 
== Ziel ==
 
== Ziel ==
 
* Bridge vmbr0 mit 192.168.16.1/24
 
* Bridge vmbr0 mit 192.168.16.1/24
 
* Internes Netz 192.168.16.0/24
 
* Internes Netz 192.168.16.0/24
* Routing und NAT ins externe Netz
+
* Permanenter Carrier über Kernel-dummy
 +
* NAT unabhängig vom verwendeten Uplink (LAN, WLAN, etc.)
 +
 
 +
== Dummy beim Boot laden (wie Debian) ==
 +
*echo dummy > /etc/modules-load.d/dummy.conf
 +
*echo "options dummy numdummies=1" > /etc/modprobe.d/dummy.conf
 +
*modprobe dummy numdummies=1
  
 
== Bridge erstellen ==
 
== Bridge erstellen ==
Zeile 13: Zeile 19:
 
*nmcli connection up vmbr0
 
*nmcli connection up vmbr0
  
== Status prüfen ==
+
== Dummy als Bridge-Port anhängen (Kernel-seitig) ==
*ip a show vmbr0
+
*ip link set dummy0 master vmbr0
 +
*ip link set dummy0 up
  
;Hinweis:
+
== Kontrolle ==
*NO-CARRIER ist normal, solange kein Gerät verbunden ist.
+
*ip link show vmbr0
  
== IP-Forwarding aktivieren ==
+
;Erwartet:
*sysctl -w net.ipv4.ip_forward=1
+
*state UP
 +
*kein NO-CARRIER
  
;Dauerhaft:
+
== IP-Forwarding dauerhaft aktivieren ==
 
*echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf
 
*echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf
 
*sysctl --system
 
*sysctl --system
  
== NAT mit firewalld ==
+
== firewalld – Zonenmodell ==
;Externes Interface ermitteln
+
;Bridge als internes Netz definieren
*ip route | grep default
+
*firewall-cmd --permanent --zone=internal --add-interface=vmbr0
  
;Beispiel: externes Interface = enp0s3
+
;Masquerading global für public aktivieren
 +
*firewall-cmd --permanent --zone=public --add-masquerade
  
;Externes Interface in Zone public
+
;Forwarding von internal nach public erlauben
*firewall-cmd --permanent --zone=public --change-interface=enp0s3
+
*firewall-cmd --permanent --zone=internal --add-forward
 
 
;Bridge in Zone internal
 
*firewall-cmd --permanent --zone=internal --change-interface=vmbr0
 
 
 
;Masquerading aktivieren
 
*firewall-cmd --permanent --zone=public --add-masquerade
 
  
 
;Regeln laden
 
;Regeln laden
Zeile 45: Zeile 48:
  
 
== Ergebnis ==
 
== Ergebnis ==
*192.168.16.0/24 wird über das externe Interface genattet
+
*vmbr0 hat permanent state UP
*vmbr0 dient als internes Gateway (192.168.16.1)
+
*192.168.16.0/24 wird genattet
 +
*Egal welches Interface in Zone public aktiv ist
 +
*Kein Interface-Ermitteln notwendig

Aktuelle Version vom 19. Februar 2026, 19:17 Uhr

Fedora – Interne Bridge vmbr0 mit generischem NAT

Ziel

  • Bridge vmbr0 mit 192.168.16.1/24
  • Internes Netz 192.168.16.0/24
  • Permanenter Carrier über Kernel-dummy
  • NAT unabhängig vom verwendeten Uplink (LAN, WLAN, etc.)

Dummy beim Boot laden (wie Debian)

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

Bridge erstellen

  • nmcli connection add type bridge ifname vmbr0 con-name vmbr0
  • nmcli connection modify vmbr0 ipv4.addresses 192.168.16.1/24
  • nmcli connection modify vmbr0 ipv4.method manual
  • nmcli connection modify vmbr0 ipv6.method ignore
  • nmcli connection up vmbr0

Dummy als Bridge-Port anhängen (Kernel-seitig)

  • ip link set dummy0 master vmbr0
  • ip link set dummy0 up

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

firewalld – Zonenmodell

Bridge als internes Netz definieren
  • firewall-cmd --permanent --zone=internal --add-interface=vmbr0
Masquerading global für public aktivieren
  • firewall-cmd --permanent --zone=public --add-masquerade
Forwarding von internal nach public erlauben
  • firewall-cmd --permanent --zone=internal --add-forward
Regeln laden
  • firewall-cmd --reload

Ergebnis

  • vmbr0 hat permanent state UP
  • 192.168.16.0/24 wird genattet
  • Egal welches Interface in Zone public aktiv ist
  • Kein Interface-Ermitteln notwendig