VPN vs SSH
VPN和SSH隧道翻牆有如下區別:
VPN的設置是全局的,即電腦一旦掛上VPN,所有的聯網程序都將自動使用VPN;而建立好SSH隧道後,需要程序設定使用隧道纔會使用隧道聯網
如果使用商用的VPN一般要花錢,如果自己搭,VPN的搭建難度大於SSH隧道。因爲SSH隧道只要一臺可以SSH的服務器即可,根本不需要在服務器上配置任何東西
ssh動態綁定
首先,牆內的客戶機跟牆外的代理服務器,建立好SSH連接,並設定動態綁定
此時牆內客戶機上的SSH會監聽本地的一個端口7001
客戶機上的程序,將對www.youtube.com:80的請求告知7001端口的SSH,SSH將此請求通過SSH加密連接發送到牆外服務器的SSH上
由於建立的動態綁定,服務器會將www.youtube.com:80的請求發送給www.youtube.com上的80端口,並在收到回覆後,通過原路返回給客戶機的SSH,客戶機的SSH返回給應用程序
實操
1.在本地執行
ssh -fND localhost:8888 root@remote_ip # 透過 ssh 建立一個 socks5 通過代理上網
2.配置fiewfox
firefox -> ... -> 手動設定 proxy 將 socks 主機 設成 localhost, port 設定成 8888
3.驗證
使用firefox,訪問whatisip,查看現在的ip已經是remote_ip,就說明已經成功
$ man ssh
-N 不執行任何指令 (只連接主機 不打開 shell)
-f 在背景執行
-D 建 socks5 的 proxy