动态添加子域名?

时间:2009-07-30 01:50:31

标签: dns ip-address subdomain domain-name dyndns

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

谢谢, 罗伯特

2 个答案:

答案 0 :(得分:5)

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

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

以下是open-source name servers的一个列表。还有很多其他的,从免费的OSS到定制,专有和非常昂贵。从技术上讲,你也可以编写自己的,BIND是公共的标准格式。

答案 1 :(得分:3)

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

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

如果您想实现此功能,请找到提供API的DNS主机,或使用简短的TTL以自己的服务器编程更新DNS。