Nftables und openvpn: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
= Variablen =
 
= Variablen =
*wandev = eth0
+
*WANDEV = enp0s3
*landev = ens19
+
*SERVERDEV = enp0s10
*vpndev = tun0
+
*DMZDEV = enp0s8
*vpnport = 1194
+
*SERVER = 10.2XX.1.0/24
*lan= 10.82.228.0/24
 
*vpn = 172.31.2.0/24
 
  
 +
*DMZ = 10.88.2XX.0/24
 +
*VPNDEV = tun0
 +
*VPNPORT = 1194
 +
*VPN = 172.20.2XX.0/24
 
{{#drawio:ipt-openvpn}}
 
{{#drawio:ipt-openvpn}}
  
 
= Vorausgesetztes Connection Tracking =
 
= Vorausgesetztes Connection Tracking =
 
+
; Verschlüsselter Verkehr – OpenVPN UDP (input Kette)
; Verschlüsselter Verkehr – OpenVPN UDP
+
ct state new iif $WANDEV udp dport $VPNPORT accept
*nft add rule inet filter input iifname "$wandev" udp dport $vpnport ct state new accept
+
; VPN → SERVER: Pakete aus dem Tunnel ins interne Netz (forward Kette)
 
+
ct state new iif $VPNDEV oif $SERVERDEV ip saddr $VPN ip daddr $SERVER accept
; VPN → LAN: Pakete aus dem Tunnel ins interne Netz
+
; VPN → DMZ: Pakete aus dem Tunnel ins interne Netz (forward Kette)
*nft add rule inet filter ct state new iif $vpndev oif $landev ip saddr $vpn ip daddr $lan ct state new accept
+
ct state new iif $VPNDEV oif $DMZDEV ip saddr $VPN ip daddr $DMZ accept

Aktuelle Version vom 11. Mai 2026, 13:44 Uhr

Variablen

  • WANDEV = enp0s3
  • SERVERDEV = enp0s10
  • DMZDEV = enp0s8
  • SERVER = 10.2XX.1.0/24
  • DMZ = 10.88.2XX.0/24
  • VPNDEV = tun0
  • VPNPORT = 1194
  • VPN = 172.20.2XX.0/24

Vorausgesetztes Connection Tracking

Verschlüsselter Verkehr – OpenVPN UDP (input Kette)
ct state new iif $WANDEV udp dport $VPNPORT accept
VPN → SERVER
Pakete aus dem Tunnel ins interne Netz (forward Kette)
ct state new iif $VPNDEV oif $SERVERDEV ip saddr $VPN ip daddr $SERVER accept
VPN → DMZ
Pakete aus dem Tunnel ins interne Netz (forward Kette)
ct state new iif $VPNDEV oif $DMZDEV ip saddr $VPN ip daddr $DMZ accept