Nsbeta.info的两组DNS服务器:
dwdns1.nsbeta.info.
dwdns2.nsbeta.info.
这个大家可以自己查询到。这2组NS服务器共对应6个IP,其中2个IP位于广东茂名(电信和联通)、2个IP位于广州(电信和联通)、1个IP位于无锡(电信)、还有1个位于郑州(联通)。
这2组NS服务器是工作机,还有一个发布机,属于隐藏的NS服务器。在发布机上,运行着BIND9服务器、MySQL数据库、dnsmapper动态更新程序、DNS API,基于API可以实现Web管理系统及命令行管理程序。在生产机上运行BIND9服务器。架构如下:
工作流程:
(1) 用户通过Web管理系统,或者命令行程序,添加或修改DNS记录。
(2) Web管理系统或命令行程序,将DNS记录修改请求提交给API。
(3) API在验证提交的资料合格后,将请求的DNS记录数据插入MySQL。
(4) dnsmapper是一个异步运行的程序,它监视MySQL的记录,如果有变动,就调用BIND的nsupdate程序,将DNS记录数据,动态更新到发布机的BIND9服务器。
(5) 发布机的BIND9发送Notify消息给所有生产机的BIND9服务器。
(6) 生产机的BIND9接受到Notify消息后,产生Zone Transfer请求,从发布机的BIND9上用IXFR方式更新自己的DNS记录。
上述所有步骤都快速完成,新增的域名生效快,不存在延时。
如下是Web管理系统截图:
如图所示,系统支持电信、联通线路智能解析。
DNS API可以参考DNSbed的API文档:
这个系统承担着每日2000万以上的DNS查询(当然,不是给nsbeta.info这个博客,而是另有他用)。