我可以使用 SSH 隧道作为 VPN 替代品吗?

Ste*_*ski 4 ssh proxy

我在家工作。

我需要访问办公室里的机器。办公室有一个私有局域网(例如192.168.0.0/16),上面有100台机器。我希望能够在家中访问这些机器。

我们在 gateway.example.org 上有一台可用的 SSH 堡垒(SSH 网关)主机,我们可以将其用于 SSH 隧道。

这就是我想做的:

  1. 从家通过 SSH 访问 gateway.example.org 。不知何故,我需要设置适当的隧道(SSH隧道、SOCKS代理等)
  2. 如果请求是针对 192.168.0.0/16 上的 IP,则强制它通过隧道或代理。
  3. 如果请求的 IP 与 192.168.0.0/16 网络不匹配,则不要使用代理。有些人使用 ssh 来传输所有 TCP 流量。但我只想将请求代理到 192.168.0.0/16 网络。

我可以使用 SSH 转发或代理来执行此操作吗?

我可以在 Linux/Unix 上使用带有 SSH动态端口转发和 OpenSSH 的 SOCKS 代理(PuTTY 支持类似的功能):

ssh -v -D 3333  gateway.example.org.
Run Code Online (Sandbox Code Playgroud)

但这仅适用于网络浏览器和其他一些支持 SOCKS 的应用程序。

我还想强制一些其他流量(VNC 端口 5900/5901)通过代理。特别是,我试图弄清楚如何让 Dell DRAC 和应用程序以及 Supermicro IPMI KVM-over-LAN 通过此 SSH 隧道工作。

我目前正在使用 Mac(雪豹)笔记本电脑,尽管我正在寻找可在多个操作系统上运行的更通用的网络概念。

Ala*_*ter 6

我使用动态端口转发和智能代理的组合。

ssh -D 12345 me@work

这将设置一个 SOCKS 代理,该代理侦听本地计算机的端口 12345,并将流量代理到您的工作网络。

然后在 Firefox 上安装“FoxyProxy”。FoxyProxy 具有允许其决定是直接向目的地发送 HTTP 请求还是通过代理发送的规则。

您想通过隧道运行 vnc。一些查看器(例如 xvncviewer)具有“-via”选项,该选项将为该会话打开自己的 SSH 隧道。或者您可以通过“tsocks”之类的程序运行 vnc 查看器,该程序将使用我们上面设置的 12345 隧道。