創建到本地伺服器的隧道
使用 VPN,我通過遠端 Ubuntu 電腦上的 SSH 連接。在這台電腦上,我可以通過本地伺服器 (192.168.xx) 使用 telnet 進行瀏覽。
有什麼方法可以從終端或 Firefox 配置我的瀏覽器以創建 SSH 隧道之王,這樣我就可以直接在 GUI 瀏覽器中瀏覽 182.168.XX 了嗎?
編輯:
例子:
從我家 (
127.0.0.1
),使用 VPN,我通過 SSH 電腦連接自己:root@distant-server.com -p 5555
. 它的ip是192.168.151.2
連接後,我可以瀏覽到 Intranet 伺服器:
telnet 192.168.151.100 80 GET /index.html HTTP/1.0
我所做的是在我的
127.0.0.1
Firefox GUI 中配置一些東西,這樣我就可以直接瀏覽到 192.168.151.100。編輯2:
出於一個奇怪的原因,當我使用 SOCKS v4 而不是 v5 時,問題已得到解決。
您可以使用
DynamicForward
ssh 選項,如下所示:ssh -o DynamicForward=localhost:6661 yourserver
這樣 ssh 客戶端將在 localhost 上的 6661 埠上偵聽傳入連接。它實現了 SOCKS 協議,因此您可以配置您的 Firefox 或任何其他 Web 瀏覽器,通過使用
localhost:6661
地址將其用作 HTTP 代理伺服器。這樣,Firefox 發出的所有 HTTP 請求實際上都是從您的遠端伺服器發出的,因此您可以使用192.168.X.X
地址。這個的shorer版本是
-D
選項,它做同樣的事情:ssh -D localhost:6661 yourserver
節省自己打字
.ssh/config
如果您想在每次連接到此主機時啟用此選項,您還可以在文件中配置此選項以節省您自己的輸入。這是範例:host myhost Hostname <yourvpnaddress> DynamicForward localhost:6661 user <someuser>
現在,您所要做的就是執行:
ssh myhost
它相當於:
ssh -o DynamicForward=localhost:6661 -l <someuser> <yourvpnaddress>
僅對 192.168.XX 使用代理
如果您只想在使用
192.168.X.X
地址時通過此代理進行連接,您可以使用FoxyProxy Firefox 擴展(或類似的東西)。它允許您指定僅與指定 URL 關聯的代理地址列表。將此代理用於其他應用程序
某些應用程序不支持 SOCKS 協議,因此無法將它們配置為使用此方法。幸運的是,有解決方案,它被稱為tsocks。它作為一個包裝器,使用LD_PRELOAD技術將應用程序使用的所有正常套接字操作轉換為動態的 SOCKS 請求。它不適用於所有應用程序,但它應該適用於大多數應用程序。替代
tsocks
isdante
的socksify
包裝器,它還允許在遠端端解析主機名。