无需 VPN 即可访问具有私有 IP 的 Linux 服务器

无需 VPN 即可访问具有私有 IP 的 Linux 服务器

我正在一个无法获取公共 IP 地址或设置 VPN 访问的网络上工作。有没有一种方法可以让我通过使用云中的中介与本地服务器进行远程通信,本地服务器和远程客户端都可以向该中介发出出站请求?如果本地服务器每隔几秒钟向公共中介 (EC2) 发出请求,以查看远程客户端是否正在等待与其通信,那么它没有公共 IP 这一事实就无关紧要了。此时,我还可以从远程位置的客户端发出请求,并以某种方式通过公共中介 ssh 进入服务器。这样,客户端和服务器都可以发起出站请求,该请求可以来自私有 IP,而无需对任何本地网络进行任何修改。有什么好主意吗?

答案1

您可以让反向 ssh 隧道通向这个“云”端点。

假设盒子 A 是您的桌面,盒子 P 是具有私有 IP 的服务器,盒子 C 是云服务器:

在P上,打开隧道:

P% ssh C -R 2200:localhost:22

让该会话保持运行。

稍后从 A 连接:

A% ssh C
C% ssh localhost -p 2200
P%    # you're now logged into P

这仅在没有人中断从 P 到 C 的第一个 ssh 会话的情况下才有效,但只要他们不中断,它就会有效。

答案2

我已经多次使用过“通过可访问服务器建立隧道”;但最近发现使用 IPv6 更容易。只需安装米雷多,(或在 Windows 上激活 Teredo),然后你就有了自己的全球可访问的 IPv6 地址。由于它很容易改变,因此请设置动态 DNS,这样就大功告成了。

答案3

你可以尝试ntop 中的 n2n无需修改防火墙即可建立连接。

答案4

我认为 MadHatter 发布的 ssh 解决方案是最简单的。此外,根据您所说的“无 VPN”的含义,您可能能够在具有私有 IP 的机器上设置 OpenVPN 客户端,并在中介上设置 OpenVPN 服务器。OpenVPN 客户端将只向中介发送 UDP 流量,但您应该能够转到中介并通过隧道完全访问私有机器。就此而言,如果中介上有正确的 OpenVPN 服务器配置,您的远程工作站可以配置为另一个 OpenVPN 客户端,您只需连接到服务器并透明地查看私有机器即可。

相关内容