Firewalld NAT

Aus Xinux Wiki
Version vom 10. März 2026, 12:35 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=firewalld NAT-Router mit Bridge (vmbr0 → WAN automatisch)= *Ziel :Ein Linux-System mit firewalld soll als Router arbeiten. :Das interne Netz kommt über ei…“)
(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

NAT (Masquerade) aktivieren

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

Forwarding im Kernel aktivieren

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

Forward-Policy zwischen den Zonen erstellen

firewalld blockiert Forwarding zwischen Zonen standardmäßig.
Deshalb muss eine Policy internal → external erstellt werden.
  • firewall-cmd --permanent --new-policy internal-out
  • firewall-cmd --permanent --policy internal-out --add-ingress-zone internal
  • firewall-cmd --permanent --policy internal-out --add-egress-zone external
  • firewall-cmd --permanent --policy internal-out --set-target ACCEPT

Konfiguration aktivieren

  • firewall-cmd --reload

Funktionsprinzip

Traffic aus dem internen Netz
vmbr0 (internal)
     ↓
Forward Policy
     ↓
external Zone
     ↓
Masquerade
     ↓
aktives WAN Interface (enp2s0f1 oder wlp0s20f3)
Das System nutzt automatisch das Interface mit der Default-Route.

Zonen prüfen

  • firewall-cmd --get-active-zones

Masquerade prüfen

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

Forward-Policies prüfen

  • firewall-cmd --list-policies

nftables-Regeln anzeigen

  • nft list ruleset

Traffic prüfen

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