Ich habe einen Remote-Server, der nicht mit dem Internet verbunden ist, aber ich kann mich über SSH über einen VPN-Tunnel mit ihm verbinden. Auf diesem Client habe ich Internet. Ist es möglich, vom Client über die VPN-Verbindung „Internet zu bekommen“? Der Server ist ein Debian 7-Rechner.
Akzeptierte Antwort:
Wenn auf Ihrem Server eine aktuelle sshd ausgeführt wird Version (>=4.3 ) sollten Sie in der Lage sein, das IP-Tunneling von ssh zu verwenden Option "-w" und eine Punkt-zu-Punkt-Verbindung einrichten Verbindung. Danach ist es nur noch eine Frage des Routings.
(Da Ihr Server nur über das Netzwerk erreichbar ist, achten Sie darauf, die Verbindung nicht zu unterbrechen, wenn Sie die Routen festlegen. Öffnen Sie beispielsweise eine neue SSH-Verbindung zu Ihrem Server von einem anderen Server, mit dem Sie verbunden sind dasselbe lan. Lokale Routen sind nicht betroffen, sodass Sie nicht riskieren, die Verbindung zu trennen, selbst wenn Sie das Standard-Gateway entfernen.)
siehe Dokumentation hier
extrahieren :
+---------------+ OpenSSH 4.3 +---------------+
| Machine A | tun0 -- Tunnel Interface -- tun0 | Machine B |
| Has a tunnel | <------------------------------->| Has a tunnel |
| and ethernet | 10.0.0.100 10.0.0.200 | and ethernet |
+-------+-------+ point to point connection +-------+-------+
eth0 | creates a bridge | eth0
10.0.0.100 | that plugs machine B | 192.168.0.100
port 22 | into network A |
forwarded | |
here | |
+-------+-------+ +-~-~-~-~-~-~-~-+ +-------+-------+
| Network A | | | | Network B |
| 10.0.0.1/24 | 1.2.3.4 | The Internet | | 192.168.0.1/24|
| Has internet |<-------->| |<----->| Has internet |
| NAT gateway | Routable | | | NAT gateway |
+---------------+ Address +-~-~-~-~-~-~-~-+ +---------------+
BEARBEITEN
Eine Alternative ist die Verwendung eines Proxys für die Portweiterleitung
Dadurch wird ein lokaler SOCKS-Proxy geöffnet:
ssh -TND 127.0.0.1:1080 [email protected]
Dies öffnet eine Shell auf dem Remote-Host und einen Tunnel zu Ihrem Proxy (leider kann das -D nicht remote gesetzt werden)
ssh -R 127.0.0.1:1080:127.0.0.1:1080 [email protected]
Das funktioniert mit Firefox und Gnome; Wenn Ihre Anwendung Socken nicht erkennt, wickeln Sie sie mit tsocks
ein$ sudo -s
# cat >/etc/tsocks.conf <<eof
server = 127.0.0.1
server_type = 5
server_port = 1080
eof
# tsocks apt-get update