Ich benutze openconnect
, um eine Verbindung zu VPN herzustellen. Nach Eingabe meiner Anmeldeinformationen erhalte ich Folgendes:
POST https://domain.name/...
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 30
Connected tun0 as xxx.xxx.xxx.xxx, using SSL
Established DTLS connection
Laufen ifconfig
Shows Ich habe eine neue Netzwerkschnittstelle tun0
mit einer bestimmten IP-Adresse.
Frage: Wie verwende ich ssh
nur die Netzwerkschnittstelle, tun0
damit ich auf Computer in diesem privaten Netzwerk zugreifen kann?
Bearbeiten:
Meine Netzwerkkonfiguration ( route -n
) scheint wie folgt zu sein:
172.16.194.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.16.25.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
Antworten:
Es ist nicht der ssh-Client, der entscheidet, über welche Schnittstelle TCP-Pakete gesendet werden sollen, sondern der Kernel. Kurz gesagt, SSH fordert den Kernel auf, eine Verbindung zu einer bestimmten IP-Adresse herzustellen, und der Kernel entscheidet anhand der Routing-Tabellen, welche Schnittstelle verwendet werden soll.
(Im Folgenden wird davon ausgegangen, dass Sie unter GNU / Linux arbeiten. Das allgemeine Konzept ist für alle Unices gleich, die Besonderheiten der auszuführenden Befehle und die Art und Weise, wie die Ausgabe formatiert wird, können jedoch variieren.)
Sie können die Kernel-Routing-Tabellen mit den Befehlen route -n und / oder ip route show anzeigen .
OpenConnect sollte eine Zeile für die
tun0
Schnittstelle hinzugefügt haben ; Verbindungen zu Adressen, die mit dieser Leitung übereinstimmen, werden über diese Schnittstelle geleitet. Wennroute -n
ich zum Beispiel auf meinem Laptop arbeite, erhalte ich die folgende Ausgabe:Dies bedeutet, dass Verbindungen zu Hosts im Netzwerk 192.168.122.0/24 (dh Adressen 192.168.122.0 bis 192.168.122.255 gemäß CIDR-Notation ) über die Schnittstelle geleitet werden
virbr0
. Die bis 169.254.0.0/16 und 10.30.0.0/24 werden durchlaufeneth0
, und alles andere (die 0.0.0.0-Zeile) wird über eth0 an den Gateway-Host 10.30.0.1 weitergeleitet.quelle
openconnect
keine Zeile für dietun0
Schnittstelle hinzugefügt wurde . Ich nehme an, ich sollte das manuell machen.Ich weiß nicht, wann es eingeführt wurde, aber der OpenSSH-Client auf RHEL7 hat dies in seiner Manpage:
Nicht so gut wie die Schnittstelle auswählen zu können, aber zu schließen.
quelle
-B
Flag, mit dem der Name der zu verwendenden Netzwerkschnittstelle angegeben werden kann.-b bind_address
hat bei mir irgendwie nicht funktioniert. Das vorübergehende Ändern von Routen sollte funktionieren. Übrigens: Die-B
Option ist in der mit Ubuntu gelieferten SSH-Version nicht verfügbar.Wenn Sie Network Manager zum Verwalten Ihrer Internetverbindungen verwenden (wie der Standardmanager auf vielen Systemen), möchten Sie möglicherweise sowohl
openconnect
als auch installierennetwork-manager-openconnect
.Sobald das OpenConnect-Plugin für Network Manager installiert ist, öffnen Sie Network Manager und klicken Sie auf das +Symbol unten links. Sie sollten ein Kombinationsfeld mit der Option VPN erhalten und anschließend die Möglichkeit haben, OpenConnect-kompatibles VPN auszuwählen .
Wenn Sie mit Network Manager eine Verbindung zu OpenConnect herstellen, werden Ihre Routen automatisch angezeigt und helfen Ihnen beim Herstellen einer Verbindung zum VPN. Dies ist besonders hilfreich, wenn Sie über VPN auf Server zugreifen möchten , z. B., wie FireHost vorgeht .
quelle
Nur eine Antwort hinzufügen. Sie können
-b
flag verwenden und Ihre Quell-IP zum Zeitpunkt des Zugriffs definieren.Format + Beispiel
quelle