我有一个未连接到互联网的远程服务器,但我可以通过 VPN 隧道通过 SSH 连接到它。在这个客户端上,我上网了。是否可以通过 VPN 连接从客户端“获取互联网”?服务器是 Debian 7 机器。
如果您的服务器运行的是最新的sshd版本 ( >= 4.3 ),您应该能够使用 ssh IP 隧道选项“-w”并设置 点对点连接。之后就是路由问题了。
(由于您的服务器只能通过网络访问,请注意在设置路由时不要切断链接。例如,从连接到同一局域网的另一台服务器打开一个新的 ssh 连接到您的服务器。本地路由不受影响,因此您不会冒险即使您删除了默认网关,也要切断连接。)
提炼 :
+---------------+ 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 +-~-~-~-~-~-~-~-+ +---------------+
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用代理进行端口转发
这将打开一个本地 SOCKS 代理:
ssh -TND 127.0.0.1:1080 localuser@localhost
Run Code Online (Sandbox Code Playgroud)
这会在远程主机上打开一个 shell 和一个到你的代理的隧道(不幸的是 -D 不能远程设置)
ssh -R 127.0.0.1:1080:127.0.0.1:1080 remoteuser@remotehost
Run Code Online (Sandbox Code Playgroud)
这将适用于 Firefox 和 gnome;如果您的应用程序不知道袜子,请用 tsocks 包装它
$ sudo -s
# cat >/etc/tsocks.conf <<eof
server = 127.0.0.1
server_type = 5
server_port = 1080
eof
# tsocks apt-get update
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3424 次 |
最近记录: |