SSH zum Server mit VPN-Verbindung kann nicht ausgeführt werden

12

Das ist ziemlich durcheinander, ich weiß. Lassen Sie mich alles erklären.

Ich habe ein dynamisches DNS auf meinem Router eingestellt. Ich habe überprüft, dass ich nach der Portweiterleitung eine Verbindung zur gewünschten Anwendung herstellen kann (wenn ich etwas auf Port 1337 ausführe und den Port an einen geeigneten Computer weiterleiten kann, kann ich ohne Probleme eine Verbindung von außen herstellen).

Wenn ich jetzt mein Macbook mit VPN verbinde und etwas wie oben beschrieben ausführe, funktioniert es wie erwartet. ABER , wenn ich meinen Computer mit Ubuntu Server 16.04 mit dem VPN verbinde und etwas ausführe oder eine Verbindung per SSH herstellen möchte, schlägt dies fehl. Ich habe den Port weitergeleitet, den ich für die SSH-Verbindung am Router verwende. Ich habe auch versucht, einen Webserver zu hosten, was ebenfalls fehlgeschlagen ist.

Was kann ich gegen dieses Problem tun? Das ergibt für mich keinen Sinn.

Informationen zum Ubuntu Server-Computer: Es handelt sich um eine Neuinstallation, bei der der OpenVPN-Client und der SSH-Server konfiguriert sind, keine Firewall ausgeführt wird, die Iptables nicht bearbeitet wurden und über Ethernet mit dem Router verbunden sind.

EDIT: Hier sind die Routing-Tabellen: http://pastebin.com/ay6fpLcL

Krzysztof Kraszewski
quelle
Was sind die Unterschiede in den Routing-Tabellen mit und ohne VPN (nur für IPv4, ip -4 rauf Ubuntu, netstat -f inet -rnauf Mac)?
user4556274
@ user4556274 hier sind die Tabellen: pastebin.com/ay6fpLcL
Krzysztof Kraszewski

Antworten:

9

OK, ich habe eine Lösung gefunden.

Mit openvpnPaket ohne Wrapper:

Fügen Sie diese 2 Zeilen zu Ihrer .ovpnDatei hinzu (oder .confwenn Sie automatisch eine Verbindung herstellen):

script-security 2
up /etc/openvpn/up.sh

Erstellen Sie dann /etc/openvpn/up.shmit ausführbaren Berechtigungen (755/700):

#!/bin/sh
ip rule add from <your-server-ip> table 128
ip route add table 128 to <your-server-subnet> dev <your-interface>
ip route add table 128 default via <server-gateway>

Hier ist zum Beispiel meine Konfiguration:

#!/bin/sh
ip rule add from 192.168.1.26 table 128
ip route add table 128 to 192.168.1.0/24 dev eno1
ip route add table 128 default via 192.168.1.1

Verwenden eines anderen VPN-Clients / einer anderen Konfiguration:

Ich kann die erforderlichen Schritte nicht vorhersagen, aber im Allgemeinen müssen Sie up.shjedes Mal, wenn Ihre VPN-Verbindung hergestellt wird , ein Skript (oben) ausführen.

Hoffe, es hilft jemandem, der das gleiche Problem hat. Prost!

Krzysztof Kraszewski
quelle
Ich benutze NordVPN auf Ubuntu 18.04. Die Verwendung von openvpn, dem dieses Skript vorangestellt ist, funktioniert einwandfrei. Die Verwendung der nordvpn-Binärdatei zum Verbinden schlägt jedoch mit den oben genannten fehl.
ma3oun