Firewalld NAT: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
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…“
 
Keine Bearbeitungszusammenfassung
 
Zeile 20: Zeile 20:
*firewall-cmd --permanent --zone=external --add-interface=enp2s0f1
*firewall-cmd --permanent --zone=external --add-interface=enp2s0f1
*firewall-cmd --permanent --zone=external --add-interface=wlp0s20f3
*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==
==NAT (Masquerade) aktivieren==
:Alle Pakete, die über Interfaces der Zone external nach außen gehen, werden maskiert.


*firewall-cmd --permanent --zone=external --add-masquerade
*firewall-cmd --permanent --zone=external --add-masquerade


:Alle Pakete, die über Interfaces der Zone external nach außen gehen, werden maskiert.
==Kernel Routing aktivieren==
 
==Forwarding im Kernel aktivieren==


*sysctl -w net.ipv4.ip_forward=1
*sysctl -w net.ipv4.ip_forward=1
Zeile 34: Zeile 40:


*sysctl net.ipv4.ip_forward
*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==
==Konfiguration aktivieren==
Zeile 55: Zeile 51:
  vmbr0 (internal)
  vmbr0 (internal)
       ↓
       ↓
  Forward Policy
  Forward erlaubt
       ↓
       ↓
  external Zone
  external Zone
       ↓
       ↓
  Masquerade
  Masquerade
      ↓
Kernel Routing
       ↓
       ↓
  aktives WAN Interface (enp2s0f1 oder wlp0s20f3)
  aktives WAN Interface (enp2s0f1 oder wlp0s20f3)


:Das System nutzt automatisch das Interface mit der Default-Route.
:Der Kernel entscheidet automatisch über die Default-Route.
 
==Route prüfen==
 
*ip route get 1.1.1.1


==Zonen prüfen==
==Zonen prüfen==
Zeile 72: Zeile 74:


*firewall-cmd --zone=external --query-masquerade
*firewall-cmd --zone=external --query-masquerade
==Forward-Policies prüfen==
*firewall-cmd --list-policies
==nftables-Regeln anzeigen==
*nft list ruleset


==Traffic prüfen==
==Traffic prüfen==

Aktuelle Version vom 11. März 2026, 08:10 Uhr

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