Hallo zusammen,
auf meinem Raspi läuft raspbian-stretch-lite mit OpenVPN und der UFW- Firewall.
Der Raspi soll als VPN-Gateway für verschieden Rechner im Netzwerk dienen. (192.168.1.x)
Die Installation funktioniert, d.h. der gewünschte VPN-Tunnel wird aufgebaut und die PCs werden über das GW und den aufgebauten Tunnel in's Internet geleitet.
Soweit so gut.
Das Problem ist der Killswitch, um zu verhindern das bei Störung des Tunnels oder bei fehlendem OpenVPN Traffic von den Rechnern in's Netz gelangt.
Anleitungen im Internet gibt es ja reichlich, aber alle getesteten funktionieren NUR auf dem Raspi selbst. (Tunnel weg -> kein Internetzugriff) - ok
ABER die PCs im Netzwerk kommen bei fehlendem Tunnel dann wieder ungeschützt in's Netz, als ob die UFW Firewallrules überhaupt nicht greifen.
Script zum Setzen der Firewallregeln:
#!/bin/bash
#UFW-Firewall-Rules
sudo ufw reset
sudo ufw default reject outgoing
sudo ufw allow ssh
sudo ufw allow out 443/tcp
sudo ufw allow out 1194/udp
sudo ufw allow out 53/udp
sudo ufw allow out on tun0
sudo ufw enable
in der /etc/ufw/before.rules wurden noch folgende Einträge nachträglich gesetzt:
#-----------------------------------------------------------
#START OPENVPN RULES
#NAT Tablbel rules
*nat
:POSTROUTING ACCEPT [0:0]
#Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -o tun0 -j MASQUERADE
COMMIT
#-----------------------------------------------------------
So wie es für mich ausieht wird der Verkehr bei fehlendem OpenVPN oder fehlendem Tunnel einfach direkt durchgeschoben ohne das die Firewall in Eingriff kommt, obwohl hier ja eigentlich aller ausgehender Verkehr untersagt wird.
Eventuell habe ich aber auch nur einen falschen gedanklichen Ansatzt.
Wenn hier jemand eine Idee hat woran diese Bypassfunktion liegen könnte und warum der Killswitch nicht für die PCs im Netzt greift, würde ich mich über jeden Kommentar freuen.