我有一台连接了蜂窝调制解调器和 SIM 卡的 Rpi。我可以使用 TeamViewer 之类的工具浏览网页并远程登录。但是,我想将其用作接入点。
我在美国使用 ATT,没有支付静态 IP 费用。话虽如此,是否有可能将 SSH 隧道反向连接到 Open VPN 之类的东西,然后从不在 LAN 上的桌面连接到仅通过 Open VPN 通过 SIM 卡连接的 RPI?
如果没有,是否有任何解决方案可以让我访问在非静态 IP 4G 上运行的 RPI,而无需在同一个 LAN 上?
答案1
是否有可能将 SSH 隧道反转为类似 Open VPN 的东西
这几乎是“内置”在 VPN 工作方式中的。一旦建立隧道,它就始终是双向的。
与 SSH 隧道(一次处理整个连接)不同,VPN 处理的是单个数据包,这些数据包必须来回传输,而且隧道不会试图区分哪些数据包应该属于“入站”或“出站”连接。默认情况下,它只是双向工作。
(商业 VPN 提供商通常会配置防火墙规则集,以防止客户端接收入站连接,因为允许这些连接通常会给客户带来安全和隐私风险。但关键是,这些并不是 VPN 固有的限制,你不需要想办法消除– 它们是你需要的自定义限制不添加首先。)
然而,某物需要是静态的1,以便所有其他端点知道在哪里找到它。如果 RPi 没有静态地址来接受传入的 VPN 隧道,那么它必须连接到其他东西,做。
(如果你和 RPi 都没有静态地址,那么它必须是第三您和 RPi 都将连接到的设备 - 例如,租用的虚拟服务器。)
TeamViewer 等产品之所以有效,是因为它们有一个中央目录服务器,充当动态主机之间的“交汇点”,设备在其中注册自己的 ID 及其 IP 地址/端口等。(中央服务器还可以帮助进行 NAT 遍历。)
OpenVPN 没有这个功能,它完全是“自托管”的,所以你必须自己提供——或者使用其他有这个功能的工具。(有是一些使用集中托管目录服务器的 VPN 产品,例如 Tailscale 或 ZeroTier。)
1从技术上讲,地址不必是“静态的”,实际上它必须是“公共的”/“专用的”(即不通过 CGNAT 与其他客户共享)并且“能够接收传入连接”(即未被 ISP 故意设置防火墙)。如果它满足这些要求,但仅仅是非静态的,因为它变化偶尔,这个问题可以解决——人们已经使用“动态 DNS”托管个人网站和服务很长时间了。但完全静态的 IP 地址确实让事情变得简单得多。