Debian
在沒有 Internet 的 VPN 連接的伺服器上連接到 Internet
我有一個未連接到網際網路的遠端伺服器,但我可以通過 SSH 通過 VPN 隧道連接到它。在這個客戶端上,我得到了網際網路。是否可以通過 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 +-~-~-~-~-~-~-~-+ +---------------+
編輯
另一種方法是使用代理進行埠轉發
這將打開一個本地 SOCKS 代理:
ssh -TND 127.0.0.1:1080 localuser@localhost
這會在遠端主機上打開一個 shell 和一個到您的代理的隧道(不幸的是 -D 不能遠端設置)
ssh -R 127.0.0.1:1080:127.0.0.1:1080 remoteuser@remotehost
這將適用於 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