您可以透過 SSH 反向隧道連接到 VPN 嗎?

您可以透過 SSH 反向隧道連接到 VPN 嗎?

假設我有兩台機器,都運行 Linux;

機器 A 正在運行 VPN 伺服器並且位於 NAT 之後。

機器 B 是 VPN 用戶端。

機器 A 創建從自身到機器 B 的反向 SSH 隧道,公開機器 B 上的端口,該端口連接回機器 A 上運行的 VPN。

如何透過 SSH 反向隧道從機器 B 連接到機器 A 的 VPN 伺服器?

答案1

SSH 隧道僅適用於 TCP,因此您的 VPN 伺服器必須設定為使用 TCP 進行連線。您可以像連接到機器 A 一樣連接機器 B 上的隧道端點。

答案2

假設我們有這樣的設定:

  • 機器 B 具有公共網域 machine.b,連接埠 22 將存取機器 B 的 SSH 伺服器。
  • 機器 A 的本機 IP 位址為 192.168.10.2,其 VPN 伺服器使用連接埠 1194。

透過反向 SSH 連線建立 VPN 連線的步驟:

  • 電腦 A 使用下列指令與電腦 B 建立 SSH 連線: ssh -i "/path/to/key/file" -R 2500:192.168.10.2:1194[電子郵件受保護]-p 22
  • 機器 B 與 127.0.0.1:2500 建立 VPN 連接

結果,從機器 B 到 localhost (127.0.0.1) 連接埠 2500 的連線將透過 SSH 隧道重定向到機器 A 上的 192.168.10.20 連接埠 1194,該連接埠是機器 A 的 VPN 伺服器。

我總是使用這個設定作為我的 DIY VPN 伺服器,以防公司的 VPN 維護。

相關內容