SSH 隧道(Remote Port Forwarding)

1. 本地端口轉發 (Local Port Forwarding) —— ssh -L
這就是我們剛才用來解決 QNAP 網頁問題的方案。
  • 用途:把「遠端服務」拉到「本地」用。
  • 場景:NAS 在內網,你的電腦連不到它的 8080 網頁,但你能 SSH 到一台跳板機。
  • 指令ssh -L 8888:目標NAS:8080 root@跳板機
  • 結果:你訪問本地 localhost:8888,就等於訪問了遠端的 NAS 網頁。
2. 動態代理 (Dynamic Port Forwarding / SOCKS5) —— ssh -D
這是最接近「翻牆」或「全局代理」的功能。
  • 用途:把 SSH 伺服器變成一個 SOCKS5 代理伺服器
  • 指令ssh -D 1080 root@遠端伺服器
  • 場景:你的筆電無法訪問某個網段(例如公司的開發網),但那台遠端伺服器可以。
  • 結果:你在瀏覽器設定「SOCKS5 代理」為 127.0.0.1:1080,之後你瀏覽器的所有流量都會通過那台遠端伺服器發送。
3. 遠端端口轉發 (Remote Port Forwarding) —— ssh -R
這通常用於「內網穿透」。
  • 用途:把「本地服務」推送到「遠端」給別人用。
  • 場景:你在家裡電腦開發了一個網頁,想給公司同事看,但你家沒公網 IP。
  • 指令ssh -R 8080:localhost:80 root@公司公網伺服器
  • 結果:同事訪問公司伺服器的 8080 端口,實際上是在訪問你家電腦的網頁。

SSH 隧道(Remote Port Forwarding)

如果你目前的 Linux (en_58) 是通過遠端連入的,而你手邊有一台帶瀏覽器的 Windows 或 Mac,你可以利用這台 Linux 作為「跳板」:
  1. 在**你的電腦(筆電)**終端執行:
    bash
    ssh -L 8888:10.23.118.129:8080 root@<en_58_的_IP>

    e.g: ssh -L 8888:10.23.118.129:8080 en_58

    請謹慎使用程式碼。

  2. 你的電腦打開瀏覽器,輸入:http://localhost:8888
  3. 這樣你就能在自己的瀏覽器看到 NAS 的初始化介面,完成後在「控制台」開啟 SSH。

 SSH 隧道(Port Forwarding) 的運作

指令的基本格式是:ssh -L [本地端口]:[目標IP]:[目標端口] [中轉伺服器]

1. 通過 en_58 轉發(跳板機模式)

ssh -L 9999:10.23.118.129:27501 root@<en_58_IP>

2. 不通過轉發(直接對接模式)

ssh -L 9999:localhost:27501 admin@10.23.118.129

  • 如何連進去:保持上面視窗別關,另開一個筆電終端輸入:
    ssh -p 9999 admin@127.0.0.1

    組件 你的指令參數 實際角色
    本地入口 9999 你筆電上用來存取的「虛擬端口」
    遠端目標 IP 10.23.118.129 最終目的地(NAS)
    遠端目標端口 27501 你想訪問的服務(SSH/Web/Database)
    中轉/目標主機 root@... 建立隧道的那個「管道」

版权声明:
作者:yxbinghe
链接:https://www.zhanhao.ch/?p=646
来源:ice.99
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>