openvpn-Umhüllung mit Problemen mit dem Stunnel-Routing

932

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.

0

1 Antwort auf die Frage

0
user799375

Sie müssen die folgende Route-Push-Zeile zur openvpn-Konfigurationsdatei hinzufügen (serverseitig):

push "route [ENDPOINT_IP] 255.255.255.255 net_gateway" 

ODER

Sie können diese Route (jedes Mal, wenn Sie sie verwenden möchten - oder Sie können sie Ihrem Netzwerkskript hinzufügen) auf dem Client manuell hinzufügen, indem Sie Folgendes eingeben:

sudo route add -host (or -net) [DESTINATION-SERVER-IP aka ENDPOINT_IP] gw [YOUR-LAN-GW-IP] (e.g. 192.168.10.1) netmask 0.0.0.0 dev [Interface] (e.g. wlp2s0) 

Wenn das nicht klappt; Möglicherweise möchten Sie auch überprüfen, ob in der Datei /etc/sysctl.conf ip-v4.forwarding aktiviert ist.

Beste und viel Glück