我有一个地方叫做(假设)REMOTE。REMOTE 使用 3G/4G 调制解调器 + 路由器连接到互联网。不幸的是,我的移动互联网提供商没有给我公共 IP 地址。在 REMOTE 中,我有几个设备想从家里访问。它们并非全部都是个人电脑(有打印服务器、录像机等),所以我无法在所有这些电脑上安装软件。我至少有一台电脑可以用作网关。
我还有一台运行 Linux 的服务器,具有公共 IP 和相当快的互联网连接。
我在家里遇到的情况与在远程遇到的情况相同。
我希望能够以某种方式从家里访问远程设备。我该怎么做?
答案1
如果您确实有一个公共服务器,那么有很多方法可以实现您的目标。
最简单的解决方案是使用
SSH tunnels
。但您需要从 REMOTE 进行一次性访问才能设置隧道。使用以下命令:远程控制[电子邮件保护]-N -o TCPKeepAlive -R 12321:远程 ip:22
然后,每次您从 HOME 连接到端口 12321 上的 your-public-server.org 时,您实际上都会看到来自 REMOTE 上的 linux 网关的登录信息。
通过稍后的 ssh 连接(在 HOME 和 REMOTE 之间),您可以使用
ssh -L
标志转发任何内容。例如,打印服务器的网页、获取远程桌面会话等。作为一种更持久的解决方案,您可以考虑使用 VPN 解决方案,其中 VPN 服务器仍将设置在公共服务器中,远程服务器(也许还有家庭服务器)将连接到该服务器。然后,所有 VPN 客户端都可以被视为公共内部网的一部分,它们可以直接相互通信。
答案2
我读到任何一方(远程和家庭)都没有公共 IP 的机会,是吗?如果是这样,去买一个便宜的 VPS(约 4-5 美元/月),128 MB RAM 应该足够了。确保 VPS 运营商允许 VPN 连接。然后在 VPS(服务器角色)和您的位置(客户端)上设置 OpenVPN。