blacksun
Goto Top

"Killswitch" bei OpenVPN

Hallo,

ich betreibe am heimischen Internetzugang mittels RaspberryPI einen OVPN-Server um mit meinen Clients (Smartphone, Laptop, Tablet, usw.) über den heimischen Internetzugang einen Internetzugriff zu haben (z.B. wegen Nutzung Pihole, Vermeiden von Internetzugriff-Sperrungen bzw. -Drosselungen) und natürlich um einen verschlüsselten Kanal durch den Gast-Internetzugang zu haben der mit dem jeweiligen Endgerät gerade genutzt wird.
Ich nutze OVPN 2.5 sowohl auf Server- als auch Clientseite.

Auszüge aus den Konfig:
Server:
push "topology subnet"  
push "dhcp-option DNS 192.168.3.10"  
push "route-gateway 10.0.8.1"  
push "redirect-gateway def1 bypass-dhcp"  
push-peer-info
keepalive 10 60
push "ping-timer-rem"  

Client
persist-tun
remote-cert-tls server
pull
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

Diese Gefahren sollen beseitigt werden:
Wird die VPN-Verbindung unterbrochen, können sämtliche Anwendungen auf dem Client wieder über das Gastnetzwerk kommunizieren bis eine OVPN-Verbindung wieder erfolgreich aufgebaut wurde. Für den Internetzugriff bedeutet das u.a. dass der Internetzugriff für alle Anwendungen unverschlüsselt über das Gast-WLAN (für den Betreiber sichtbar wohin eine Verbindung aufgebaut wird) erfolgt und auch die DNS-Server des Betreibers benutzt werden. Der Anwender bemerkt dies in der Regel nicht da die VPN-Verbindung im Hintergrund läuft (in einem Fenster, oder als Dienst).

Anders formuliert, "redirect-gateway def1" wirkt nur wenn die Verbindung erfolgreich besteht und entfällt nicht erst wenn OVPN-beendet wird, sondern bereits bei Verbindungsabbruch.

OVPN bietet selbst keinen Killswitch an wie ich gelesen habe da dieser individuell pro OS auf OS-Ebene umgesetzt werden muss. Ich habe als Lösungsvorschlag gelesen entweder auf Firewall-Regeln zu setzen oder aber alle Routen zu Löschen ausser die eine zum VPN-Server.
Mir gefällt die Lösung über Routen besser da diese weniger fehleranfällig ist als Sperren auf Port- oder Protokoll-Ebene.

Als Lösungsansatz habe ich mir an diesem Vorschlag orientiert (aber nur auf Schnittstellen-Ebene, also "ufw reset", "ufw allow out on tun0 from any to any" und "ufw enable", nicht mit allow/deny outgoing/incoming).

Meine Fragen bzw. Probleme:
a) wann bearbeite ich am die Routen am Besten? Beim Verbindungsaufbau bietet mir OVPN an: -up, -route-up und -up-delay, beim Verbindungsabbau: -down, -route-pre-down und -down-pre

b) up und down benötige ich bereits für update-resolv-conf . Kann man mehrere skripte/exe mit bei einer Option angeben, wenn ja wie? U.a. benötige ich als Befehl "yes | ufw reset" so dass die Frage von ufw reset mit yes beantwortet wird.

c) update-resolv-conf fügt in die resolv.conf die DNS-Server ein die in meinem Fall per push auf den Client kommen ohne die DNS-Einträge vom Gastnetzwerk zu entfernen. Laut Doku für OVPN 2.4 gibt es die Option block-outside-dns mit der DNS-Server ausserhalb des Tunnels blockiert werden sollen. Leider gibt es noch keine Doku für 2.5. Gibt es die Option nicht mehr?

d) Gibt es die Optionen "show-net-up" und "show-net" in V2.5 ebenfalls nicht mehr? Bei einigen anderen Optionen steht "DEPRECATED" in der Doku zu 2.4, aber nicht bei den beiden.

Vielen Dank schonmal

Content-Key: 637098

Url: https://administrator.de/contentid/637098

Printed on: April 27, 2024 at 00:04 o'clock