Ich versuche, einen neuen OpenVPN-Server zu konfigurieren, der auf Ubuntu läuft (Distro spielt für mich keine Rolle), aber innerhalb von Stunnel getunnelt (um DPI zu vermeiden). Mein Problem ist, wenn ich meinen Client so konfiguriert habe, dass er alles durch das VPN leitet, dann bekomme ich keinen Verkehr. Die gleiche Konfiguration ohne Stunnel funktioniert einwandfrei. Mein Verdacht ist, dass es ein Problem mit dem Localhost-Routing gibt, und ich kann es einfach nicht feststellen.
Meine OpenVPN-Server-Konfiguration:
[...]
topology subnet port 1196 proto tcp mode server
[...]
dev tun0 server 192.168.81.0 255.255.255.0 push "redirect-gateway def1 bybass-dhcp" push "route 192.168.10.0 255.255.255.0" push "dhcp-option DNS 192.168.10.254"
Meine Stunnel-Konfiguration auf demselben OpenVPN-Server:
# Connection [openvpn-localhost] # Incoming connection port accept = 8443 # Connection to local OpenVPN server connect = 127.0.0.1:1196
Mein Hauptnetzwerk ist 192.168.10.0/24 und das VPN-Subnetz ist 192.168.81.0/24. Auch auf dem OpenVPN-Server habe ich die folgende iptables-Regel, um alles weiterzuleiten:
Chain POSTROUTING (policy ACCEPT) [...] MASQUERADE all -- 192.168.81.0/24 anywhere
Die IP-Weiterleitung ist auch im Kernel aktiviert.
Auf meinem OpenVPN-Client stelle ich eine Verbindung zu einem lokalen Port her, der dann den OpenVPN-Verkehr auf den Server tunnelt. Die Stunnel-Konfiguration auf dem Client:
[openvpn-localhost] client = yes # Local openvpn connection accept = 127.0.0.1:1196 # Remote tunnel connect = <my remote target>:8443
Sobald alles verbunden ist, ist dies die Routing-Tabelle in meinem Client:
$ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.81.1 0.0.0.0 UG 0 0 0 tun0 0.0.0.0 192.168.43.1 0.0.0.0 UG 0 0 0 wlp2s0 127.0.0.1 192.168.43.1 255.255.255.255 UGH 0 0 0 wlp2s0 192.168.10.0 192.168.81.1 255.255.255.0 UG 0 0 0 tun0 192.168.43.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp2s0 192.168.43.1 0.0.0.0 255.255.255.255 UH 0 0 0 wlp2s0 192.168.81.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
192.168.43.0/24 ist in diesem Fall das Verbindungsglied, mit dem ich verbunden bin, um dies zu testen. Es ist überhaupt nicht mit meinem internen Netzwerk verbunden.
Mein Client kann nichts über das VPN pingen. Jede Hilfe oder Eingabe hier, um dieses Problem zu lösen, wäre sehr dankbar.