Mac-Osx
SSH 本地轉發
我有一個 ubuntu 伺服器,它目前通過帶有 ip address 的乙太網橋連接到我的 iMac
192.168.2.2
。iMac 正在與 ubuntu 伺服器共享網際網路。iMac 的 IP 地址
192.168.0.105
位於主路由器/調製解調器的 LAN 網路中。並192.168.2.1
在帶有 ubuntu 伺服器的乙太網橋上。ubuntu 伺服器允許通過埠訪問所有 apache
:80
。所以在 iMac 中,我跑了
sudo ssh -L 80:0.0.0.0:80 ubuntu@192.168.2.2
,我可以直接在我的 iMac 瀏覽器中使用localhost
.問題是,如果我在 LAN 中有另一台電腦,我希望它通過 iMac ip address訪問 apache ubuntu 伺服器
192.168.1.105
。那將如何運作?我嘗試
192.168.0.105
在電腦瀏覽器中訪問它,但似乎不起作用。並且無法直接訪問它,192.168.2.2
因為這是通過乙太網橋連接到 iMac 的 IP 地址。
使用該
-L
標誌,您可以指定要偵聽的地址,而不是localhost
預設值。所以這個命令:ssh -L 0.0.0.0:80:127.0.0.1:80 ubuntu@192.168.2.2
將綁定到您的 iMac 電腦上的所有介面,並將埠 80 上的任何查詢轉發到 192.168.2.2(實際上,到該電腦上的本地介面,因此您的 Ubuntu 伺服器將看到每個傳入的請求目標
127.0.0.1
)。這樣,如果防火牆允許,同一網路上的電腦將能夠連接到您的 iMac。