Mac-Osx

SSH 本地轉發

  • June 24, 2020

我有一個 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。

引用自:https://serverfault.com/questions/1022710