Der SSH-Server kann nicht verbunden werden, wenn VPN aktiviert ist

9

Ich habe kürzlich festgestellt, dass bei einer Verbindung meiner Workstation über eine VPN-Verbindung der SSH-Server nicht von einem Remotestandort aus verbunden werden kann. Ich bin sicher, dass es sich um ein Routing-Problem handelt, da der VPN-Client das Standard-Gateway in seinen Peer (VPN-Server) der PPP-Verbindung ändert.

Gibt es eine Lösung, um SSH-Server und VPN-Client glücklich zu machen?

Übrigens
quelle

Antworten:

2

Wenn Sie einen VPN verwenden, übernimmt das VPN-Netzwerk im Allgemeinen Ihre gesamte Schnittstelle, sodass Sie nur von irgendwo im VPN-Netzwerk und nicht vom gesamten Internet routingfähig sind. Die meisten Leute lösen dieses Problem, indem sie eine VM (Virtualbox usw.) ausführen und eine Verbindung zum VPN in dieser virtuellen Maschine herstellen, damit die Hauptverbindung auf der tatsächlichen Maschine nicht vollständig unterbrochen wird.

Stu
quelle
Sie können einige Routing-Tricks ausführen, um Daten vom VPN in die eine und andere Daten in die andere Richtung (verschiedene Gateways usw.) zu routen, aber die Verwendung von Virtualbox ist wirklich viel einfacher. :-)
Stu
Danke für den Vorschlag! Ich würde gerne wissen, mit welchem ​​Routing-Trick dies erreicht werden kann.
Übrigens
Ich verwende VM stu, aber was ich nicht tun kann, ist das VPN auf dem Host zu bewerten, da ich Entwicklungsarbeit leisten muss.
Jamie Hutber
Oh, ich schlug den anderen Weg vor. Verwenden Sie den VPN nur in der VM und das lässt die Reak-Maschine für offenes und kostenloses Internet.
Stu
2

Überprüfen Sie vor dem Durchlaufen der Netzwerkeinstellungen, ob der betreffende SSH-Server die VPN-Schnittstelle überwacht. Möglicherweise ist es an eine bestimmte Schnittstelle auf Ihrem Server gebunden.

Beispielausgabe netstat -a:

 Proto Recv-Q Send-Q Local Address    Foreign Address   State      
 tcp        0      0 *:ssh            *:*               LISTEN      

Der SSH-Server in diesem Beispiel überwacht alle Schnittstellen (angezeigt durch das Sternchen in *:ssh. Wenn auf Ihrem System stattdessen eine Hostadresse vorhanden ist, ist der SSH-Server an bestimmte Schnittstellen gebunden.

Bearbeiten /etc/ssh/sshd_configund einstellen ListenAddress 0.0.0.0, um dies gegebenenfalls anzupassen.

Wenn sshd bereits auf die richtigen Schnittstellen hört, können Sie den Routing-Dungeon betreten :-)

ktf
quelle
1
An welche Adresse soll ListenAddressgesetzt werden? Die IP des Servers auf der lokalen Schnittstelle? Die IP des Routers? Etwas anderes?
Psychonaut
0

Sie sprechen von Split-Tunneling. Wenn Sie mit dem Befehlszeilentool ROUTE.EXE vertraut genug sind , können Sie möglicherweise die vom VPN-Client platzierten Routen untersuchen und entfernen. Anschließend fügen Sie eine hinzu, damit nur der Datenverkehr zu Ihrem Unternehmens-LAN über das VPN-Gateway fließen kann.

Insbesondere würden Sie verwenden

route print

... um eine Liste der Routing-Einträge zu erhalten. Ohne die Ausgabe zu sehen, scheint Ihr VPN-Client einen Standardeintrag (0.0.0.0) platziert zu haben, wobei das Gateway das VPN-Peer-Gateway ist. Sie können verwenden

route delete 10.*

... um beispielsweise alle Einträge zu löschen, die auf ein 10.xxx-Netzwerk verweisen.

Sie können dann verwenden

route add 10.0.0.0 mask 255.0.0.0 10.0.99.99

... wobei die erste Adresse (10.0.0.0 255.0.0.0) Ihr Unternehmensnetzwerk und Ihre Maske ist und die zweite Adresse das Remote-Gateway ist.

Sie müssen dies jedes Mal ausführen, wenn Sie eine Verbindung herstellen. Daher möchten Sie möglicherweise ein Skript erstellen.

Randnotiz: Eine Alternative wäre, Ihr Unternehmen davon zu überzeugen, sein VPN für Split-Tunneling einzurichten. Ein Argument dafür ist eine verringerte Bandbreite und (IANAL) eine geringere Haftung für Web-Datenverkehr außerhalb des Unternehmens, der über das Netzwerk fließt.

Geoff
quelle