基本上,我的目标是拥有一个 100% 可移植和独立的服务器。我正在使用由太阳能电池板和电池供电的 Raspberry Pi 构建它,并将使用 4g 热点连接到互联网。它只需要有 2 个功能,一个 SSH 服务和一个 VPN 服务。
这是我的问题。
我最初开始这个项目时认为我最大的问题将是 IP 漫游。我为自己设置了一个动态 DNS 域并编写了一个每 60 秒更新一次的 cron。然后我将我的热点端口转发到 Pi(热点基本上是一个路由器,而 pi 有一个 wifi 加密狗)。
但是,我无法使用它的公共 IP 连接到热点路由器。就在那时,我意识到所有 4G LTE 设备都在子网上接收到更大 NAT 的 IP。这显然是4G的新做法。用于接收可访问公共 IP 的 3G 设备。
基本上我需要一种方法来访问没有唯一 IP 的 VPN 服务器。
VPN 服务器是否可以与客户端建立连接,有点像反向 SSH 隧道?
就像它可以连续轮询一组 IP 地址(或动态 DNS 域)直到其中一个接受连接,或者轮询另一台服务器,该服务器将包含当前“想要”连接的 IP 列表(这些 IP 基本上将轮询该服务器以请求 VPN 连接)。
我知道它很迟钝并且破坏了客户端服务器模型,但我在这里有点绝望。是否可以?
如您所见,连接回您的系统并不是那么简单。你的问题的本质是,即使你可以做DNS注册(这使得服务器有资格找到彼此),你的机器之间的实际ip连接更不可能。
您的问题有多种解决方案。
最简单的是,如果您有某种类型的中央服务器(具有公共固定 IP),并且 VPN 服务器在其上运行。在您的树莓派上,就像在您的其他客户端上一样,只运行了一个 VPN 客户端。该服务器充当您的树莓派和其他设备之间的中间网关。
Raspberry -> Central GW machine <- Your any other system
Run Code Online (Sandbox Code Playgroud)
既解决了DNS注册的问题,又解决了IP联系的问题。
从网络的角度来看,没有人连接到你的树莓派。只有你的覆盆子连接了您的GW中心。
OpenVPN 是一个非常好的解决方案。
还有更棘手的解决方案。例如,你可以在某种程度上说,你rasperry到连接 了你的客户,做了的VPN。但是,如果您的客户端也位于 NAT 之后,这将不起作用,这在当前非常普遍,尤其是在移动网络中。
或者您也可以使用tor来查找您身后的中间服务器。是的,tor并不是真正的破解工具,它也可以用于常规任务。但它并不可靠,而且速度很慢。
归档时间: |
|
查看次数: |
28117 次 |
最近记录: |