Debian 9 VPN Gateway - Kein kill switch möglich

nightstalk3r

Freshly Joined Member
Hallo zusammen,

ich beiße mir seit ein paar Tagen die Zähne aus. Folgende Netzwerktopologie habe ich:
PC -> 192.168.0.20
Gateway -> 192.168.0.2
FritzBox -> 192.168.0.252
DNS Server für Domäne "zuhause.lan" -> 192.168.0.3

Als Server kommt ein APU2D4 Board zum Einsatz mit OpenVPN und PP. OpenVPN läuft als Systemdienst.
VPN läuft einwandfrei. Was etwas komisch war, dass PP nur mit aktiviertem IPv6 geht (Das am Rande).
Da APU Board, läuft alles über Konsole. Keine Grafikausgabe.

Ich bekomme, egal welche Anleitung ich nehme, sei es über Iptables oder UFW, keinen Kill Switch zustande.
Also wenn das VPN zusammenbricht, soll schlicht und einfach kein Internet funktionieren.

Routing geht mit IPtables:
# Generated by iptables-save v1.6.0 on Sat Mar 16 19:19:42 2019
*nat
:pREROUTING ACCEPT [3208:850800]
:INPUT ACCEPT [588:332713]
:OUTPUT ACCEPT [209:15304]
:pOSTROUTING ACCEPT [323:36199]
-A POSTROUTING -o tun0 -j MASQUERADE
COMMIT
# Completed on Sat Mar 16 19:19:42 2019
# Generated by iptables-save v1.6.0 on Sat Mar 16 19:19:42 2019
*filter
:INPUT ACCEPT [1269:755600]
:FORWARD ACCEPT [1472:286067]
:OUTPUT ACCEPT [1317:398917]
-A FORWARD -i tun0 -o enp1s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i enp1s0 -o tun0 -j ACCEPT
COMMIT
# Completed on Sat Mar 16 19:19:42 2019

Wenn ich die Iptables für den "Kill Switch" eingebe, funktioniert kein Routing, Ping, Traceroute mehr von den Clients:
iptables -A OUTPUT -o tun0 -m comment --comment "vpn" -j ACCEPT
iptables -A OUTPUT -o enp1s0 -p icmp -m comment --comment "icmp" -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -o enp1s0 -m comment --comment "lan" -j ACCEPT
iptables -A OUTPUT -o enp1s0 -p udp -m udp --dport 1194 -m comment --comment "openvpn" -j ACCEPT
iptables -A OUTPUT -o enp1s0 -p tcp -m tcp --sport 22 -m comment --comment "ssh" -j ACCEPT
iptables -A OUTPUT -o enp1s0 -p udp -m udp --dport 123 -m comment --comment "ntp" -j ACCEPT
iptables -A OUTPUT -o enp1s0 -p udp -m udp --dport 53 -m comment --comment "dns" -j ACCEPT
iptables -A OUTPUT -o enp1s0 -p tcp -m tcp --dport 53 -m comment --comment "dns" -j ACCEPT
iptables -A OUTPUT -o enp1s0 -j DROP

Also, Iptables wieder resettet und nur das Nötigste rein um Routing zu aktivieren:
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i tun0 -o enp1s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT

Dann über ufw versucht mit folgenden Befehlen:
ufw allow in on enp1s0 from 192.168.0.0/24
ufw allow out on enp1s0 to 192.168.0.0/24
ufw default deny outgoing
ufw default deny incoming
ufw allow out on tun0 from any to any
ufw allow out to ip-des-pp-servers port 1194 proto udp
ufw allow in on tun0 from any to any

Wer hat eine Idee ? Keine Anleitung die funktioniert, habe echt viel abgesucht.
 
Dann probiere mal folgendes :) :

sudo iptables --flush

sudo iptables --delete-chain

sudo iptables -t nat -F

sudo iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE

sudo iptables -A INPUT -i enp1s0 -p tcp --dport 22 -j ACCEPT

sudo iptables -A INPUT -i lo -m comment --comment "loopback" -j ACCEPT

sudo iptables -A OUTPUT -o lo -m comment --comment "loopback" -j ACCEPT

sudo iptables -I INPUT -i enp1s0 -m comment --comment "In from LAN" -j ACCEPT

sudo iptables -I OUTPUT -o tun+ -m comment --comment "Out to VPN" -j ACCEPT

sudo iptables -A OUTPUT -o enp1s0 -p udp --dport 1194 -m comment --comment "openvpn" -j ACCEPT

sudo iptables -A OUTPUT -o enp1s0 -p udp --dport 123 -m comment --comment "ntp" -j ACCEPT

sudo iptables -A OUTPUT -p UDP --dport 67:68 -m comment --comment "dhcp" -j ACCEPT

sudo iptables -A OUTPUT -o enp1s0 -p udp --dport 53 -m comment --comment "dns" -j ACCEPT

sudo iptables -A FORWARD -i tun+ -o enp1s0 -m state --state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i enp1s0 -o tun+ -m comment --comment "LAN out to VPN" -j ACCEPT

sudo iptables -P FORWARD DROP

sudo netfilter-persistent save

sudo systemctl enable netfilter-persistent


#DNS Leak verhindern
sudo apt-get install dnsmasq

#script-security 2 # bereits in den PP *.ovpn Configs vorhanden
#up /etc/openvpn/update-resolv-conf # bereits in den PP *.ovpn Configs vorhanden
#down /etc/openvpn/update-resolv-conf # bereits in den PP *.ovpn Configs vorhanden

Das klappt!!!! :) Berichte gerne.


Achso und sollte auch ohne ipv6 laufen, guck mal in der *.ovpn und lösche den Eintrag
tun-ipv6
Gruß
BULETTE
 
Back
Top