Firewalld NAT

Aus Xinux Wiki
Version vom 11. März 2026, 08:10 Uhr von Thomas.will (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

firewalld NAT-Router mit Bridge (vmbr0 → WAN automatisch)

  • Ziel
Ein Linux-System mit firewalld soll als Router arbeiten.
Das interne Netz kommt über eine Bridge (vmbr0).
Der Internetzugang erfolgt automatisch über das aktive Interface (LAN oder WLAN).
  • Interfaces
vmbr0 internes Netz
enp2s0f1 WAN (Ethernet)
wlp0s20f3 WAN (WLAN)
  • Zonenübersicht
internal internes Netz
external Internetzugang

Interfaces den Zonen zuordnen

  • firewall-cmd --permanent --zone=internal --add-interface=vmbr0
  • firewall-cmd --permanent --zone=external --add-interface=enp2s0f1
  • firewall-cmd --permanent --zone=external --add-interface=wlp0s20f3

Forwarding für internes Netz erlauben

Routerbetrieb benötigt Forwarding aus der internen Zone.
  • firewall-cmd --permanent --zone=internal --set-target=ACCEPT

NAT (Masquerade) aktivieren

Alle Pakete, die über Interfaces der Zone external nach außen gehen, werden maskiert.
  • firewall-cmd --permanent --zone=external --add-masquerade

Kernel Routing aktivieren

  • sysctl -w net.ipv4.ip_forward=1
Prüfen
  • sysctl net.ipv4.ip_forward

Konfiguration aktivieren

  • firewall-cmd --reload

Funktionsprinzip

Traffic aus dem internen Netz
vmbr0 (internal)
     ↓
Forward erlaubt
     ↓
external Zone
     ↓
Masquerade
     ↓
Kernel Routing
     ↓
aktives WAN Interface (enp2s0f1 oder wlp0s20f3)
Der Kernel entscheidet automatisch über die Default-Route.

Route prüfen

  • ip route get 1.1.1.1

Zonen prüfen

  • firewall-cmd --get-active-zones

Masquerade prüfen

  • firewall-cmd --zone=external --query-masquerade

Traffic prüfen

Internes Interface
  • tcpdump -ni vmbr0 icmp
WAN Interfaces
  • tcpdump -ni enp2s0f1 icmp
  • tcpdump -ni wlp0s20f3 icmp