Debian

在沒有 Internet 的 VPN 連接的伺服器上連接到 Internet

  • February 24, 2014

我有一個未連接到網際網路的遠端伺服器,但我可以通過 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 

引用自:https://unix.stackexchange.com/questions/111972