2012-04-16 84 views
1

请您参考参考资料/书籍以获取有关动态DNS的更多详细信息?我已经试过维基百科,IEEE论文和RFC,以供所有这些人翻阅他们的眼睛。所以请,任何投入都欢迎。我需要帮助在一个项目中实施它,并希望更多地了解它。谢谢。动态DNS参考

+0

你_implement_ DNS服务器还是想_update_ DNS服务器? – Sandman4 2012-04-16 12:40:31

+0

是的,桑德曼4。我想实现一个动态DNS服务器机制 - 不仅仅是更新DNS缓存。也不是O'reilly关于传统DNS而不是动态DNS的书吗? – Arpith 2012-04-23 15:08:53

+0

通过实施服务器,您的意思是创建一个全新的DNS服务器软件(如BIND的替代品),或使用现有DNS服务器(如BIND)烘焙一些解决方案。 – Sandman4 2012-04-24 05:37:05

回答

1

动态DNS是一种动态更新DNS记录的概念,与正常(静态)DNS相比,DNS中记录更改需要手动干预。

动态DNS意味着您有一些DNS服务器,并且您可以以编程方式更新其上的记录。这可以通过不同的方式实现:

  1. RFC 2136动态DNS。它是好ol'DNS协议的延伸,它允许不记录获得 DNS记录,但更新它们。目前大多数DNS服务器(例如BIND9和PowerDNS)都支持这种协议。文档来源:RFC 2136定义协议。 nsupdate是支持此协议的命令行工具,请阅读man nsupdate。有关如何为动态更新配置BIND9的详细信息,请参阅BIND9 ARM。大多数语言都存在库,允许使用此协议进行动态DNS更新。例如,对于PHP,它是Net_DNS2。它没有很好的记录,但网站有很好的例子,很容易让我使用它。

  2. 某些DNS服务器(特别是PowerDNS)可以从数据库后端读取其DNS记录。因此,将新的DNS记录写入正常的SQL数据库成为可能,而服务器只是从那里取得它们。文档来源:如果您选择这种方式,我非常建议使用PowerDNS,请在PowerDNS site上查找文档。

  3. 如果更新不频繁,也可以更新DNS服务器上的文本区域文件,然后请求服务器重新读取更新的区域文件。虽然这可能不是一个方便的方法。所有主要的DNS服务器支持相同的区域文件格式,我发现DNS for Rocket Scientists优秀。

现在,有动态DNS的完全不同的侧面是一个动态的DNS 服务喜欢no-ip.com,我自己net-me.net等等。他们都公开了一些基于HTTP的API(通常非常简单)来更新DNS记录,并且通常会提供实际更新它们的GUI客户端软件。快速浏览更新协议,客户端和整个过程,您可以获得here。由于没有标准存在,每个提供商都使用他自己的协议变体,通常它们看起来都很相似。 (所有这些动态DNS提供商在内部使用某种1.2.3上述。)

最后但并非最不重要 - 有一个伟大的奥赖利的书 - DNS and BIND 5th edition覆盖DNS的所有可能的方面。

+0

但是如果我要在我的项目中实现完整的动态DNS,有一些我可以查看和使用的开源代码,或者我可以发布的一些邮件列表?或任何其他资源。大多数书籍出版时已经过时,并且从获得各种意见(而不是来自作者的单一意见)获得社区的帮助要好得多 - 对于O'Reilly书籍的作者而言,没有不尊重的意思;我基于我所得到的所有建议,他肯定他在这本书中做得很好!)。 – Arpith 2012-08-06 12:48:11

+0

@Arpith如果你不愿意在自我教育上花费一些精力,我怀疑你能做到。 – Sandman4 2012-08-07 08:33:00