我正在启动一个个人项目,我将在其中部署一些联网设备(可能有数百台)。我需要能够通过我的电脑或手机获取数据并与这些设备通信,但问题是我不能依赖公共 IP 地址,因为它可能会发生变化。
考虑到这个问题,我想使用一些服务,例如诺伊普但问题是我每年都要为每台设备支付一大笔钱来获得一个唯一的 IP。
第二种方法是使用以下方法部署具有已知且固定 IP 地址的服务器:诺伊普并且每个设备都应连接到服务器(我们知道服务器 IP)。每个设备都有一个唯一的 ID,因此服务器将有一个包含所有这些 ID 及其对应的当前 IP 地址的数据库,如果 IP 地址发生变化,设备将简单地将新 IP 及其唯一 ID 发送到服务器。因此,通过这种方式,我只需要保留一个固定的 IP 地址,但我必须添加一个能够处理所有连接的服务器。
我还遗漏了其他方法吗?我不懂网络知识,所以这类事情对我来说很新奇。
答案1
假设您可以在可以连接到服务器的设备上部署程序,那么您是对的。
但请谨慎考虑安全问题,因为您不希望其他人“注册”到您的服务器并访问您的机器。此外,如果您让您的机器“可连接”,则可能会导致重大问题。
一切都取决于你想做什么——你的描述中缺少这一点。
答案2
我以前使用 VPN 做过类似的事情。
由于没有关于您设备的任何详细信息,我不知道它们的功能是什么,我运行了少量运行 Linux 的机器(实际上是 Raspberry Pi)
您可以配置远程设备在启动时连接到 VPN 服务器,一旦连接,它们就会像在专用 LAN 上一样出现。然后,您可以将计算机/手机连接到 VPN 以访问远程机器。
远程机器正在与 VPN 服务器建立出站连接,因此无论它们的 IP 是否发生变化,您都会将它们视为本地地址。
在我的特殊情况下,我主持了OpenVPN只需支付少量月费,即可在 Amazon AWS 上创建虚拟服务器 - 其镜像库中有 OpenVPN。还有 Linux 和 Windows 客户端可用于连接 OpenVPN。