我家里的 ISP 不允许主机使用静态 IP。我有一台计算机(我将称之为A从现在开始),我将在家里安装一个运行着 SSH 服务器的 SSH 客户端,并且想远程连接到它。
然而,其 IP 可能会时常发生变化。
我还有一个具有静态 IP 和域名的网络服务器。
我的想法是A定期向网络服务器发送自己的公共 IP。如果我想获取A从另一台机器,以便我可以通过 SSH 连接到它,我向 Web 服务器询问其最后收到的公共 IP 并使用它。
我的解决方案合理吗?有没有软件可以做到这一点,还是我必须自己编写?
答案1
通常的方法是使用动态 DNS 提供商。两个例子(不带偏见)是 dyn.com 和 no-ip.org。这个想法是,您注册一个域名(例如 myhouse.example.net),然后 DDNS 提供商会将其映射到您当前的 IP 地址。
您可能会发现您的家用路由器内置有 DDNS 客户端,可以与众多可用的 DDNS 提供商之一通信。如果无法实现这一点,您可以在网络上的某个系统上下载并安装客户端,并让其定期检查外部 IP 地址是否发生变化。
答案2
您正在寻找的技术称为动态 DNS 或 DynDNS。
详细解释可以参见维基百科: http://en.wikipedia.org/wiki/Dynamic_DNS
简而言之,您设置一个域名(通常是子域名,如 host-a.dyndns.org)并使用一个工具检查您的公共 IP 并确保主机名始终指向您当前的 IP。
DynDNS 有许多免费和付费服务提供商,其中大多数提供软件来保持域名更新。许多家用路由器还支持 DynDNS 帐户,可全天候将您的域名映射到您的公共 IP。
如果您想使用自己的域名,您可以简单地创建一个 CNAME DNS 记录,如“host-a.vittorio.com”,它指向您的新 DynDNS 主机名,如 host-a.dyndns.org。
希望有帮助!