1

我想知道是否可以动态添加指向动态 IP 地址的子域,以及我将如何去做?换句话说,“dyndns/no-ip 是如何实现的”:-)?(我没有得到的部分是添加/更改 DNS 条目......我了解客户端如何每隔几分钟发送一个数据包-___-)。当然,我可以告诉我所有的用户只使用 DynDNS/No-IP,但是将它与应用程序集成会更酷。

谢谢,罗伯特

4

2 回答 2

7

为了能够直接更新/控制域/子域解析到的位置,您必须拥有自己的名称服务器。当您在 TLD(例如 .com)下注册域时,该 TLD 具有名称服务器。每当客户端需要查找 IP 时something.com,他们都会询问.com名称服务器在哪里可以找到名称服务器something。该名称服务器反过来返回有关域或子域的数据。

当您在GoDaddyNetwork Solutions之类的地方注册域,并使用他们的在线工具将您的各种子域指向 IP 地址时,您正在他们的名称服务器上创建条目。当客户端请求您的域时,根名称服务器会告诉他们与 GoDaddy 的名称服务器进行检查。如果您查看注册商的配置选项,您通常会找到一个地方来指定您自己的名称服务器,而不是输入域 IP。设置将告诉名称服务器链将子域的解析推迟到该名称服务器。显然,在这一点上,直接控制名称-地址解析机制,你可以做任何你喜欢的事情。

这是一个开源名称服务器列表。还有很多其他的,从免费的 OSS 到定制的、专有的和非常昂贵的。从技术上讲,您也可以自己编写,因为BIND是一种公共的标准格式。

于 2009-07-30T02:02:33.587 回答
3

正如您部分所说,DynDNS 和其他动态 IP 服务的工作方式是它们每隔几分钟根据来自客户端的心跳更新其服务器的 DNS 记录。

诀窍是他们使用极短的 TTL 时间,因此记录的缓存很快过期,需要重新查询 DynDNS 服务器(这使得动态 IP 更改快速传播)。

如果你想实现这一点,要么找到一个提供 API 的 DNS 主机,要么在你自己的服务器上以较短的 TTL 以编程方式更新 DNS。

于 2009-07-30T02:02:08.440 回答