我正在尝试设置动态 DNS 服务(供个人使用)。类似于 dynds.org。
目前已完成的工作: - 将 example.org 委托给 ovh(我的盒子)中的外部 dns 服务器 - 设置绑定以接受 example.org - 添加子域 home.example.org 以绑定配置文件,ttl 为 60
目标是: - home.example.org 应该经常更新(每分钟就像 dyndns 服务一样)我的家庭网络的目标 IP 地址(动态 IP 地址) - 我将从我的家庭网络捕获 ping,将其保存到区域文件并在我的 dns 服务器上执行 rndc reload example.org - 它应该在全世界传播(就像 dyndns 一样)
问题是:“正确的”区域文件应该是什么样子,以确保它不会被缓存超过一分钟,并且所有的世界 DNS 服务器都会向我的服务器询问当前的 IP。
问题是,当我这样做时,dig flies.dyndns-home.com any
我可以看到 TTL 下降:
flies.dyndns-home.com. 19 IN A X.X.X.X
flies.dyndns-home.com. 3 IN A X.X.X.X
但我的域名不是这种情况:
home.example.org. 60 IN A X.X.X.X
home.example.org. 60 IN A X.X.X.X
始终是 60。
任何帮助,将不胜感激。
答案1
区别在于,您所说的“world dns”是缓存服务器,而“your domain”是您所请求区域的权威服务器。对于 DNS 软件来说,这是完全不同的角色,但是大多数实现都可以同时完成这两项任务。
缓存服务器不存储有关名称的真实信息,因此它会显示自己的 TTL,让您了解在更新记录之前该记录将存在多长时间。
权威服务器以记录配置的TTL来回答,因为该信息的来源是本地数据库,并且它现在具有原始TTL。
至于更新方法,BIND 软件有一个标准的实用程序nsupdate
。请参阅这里
您可以将密钥放到网络中的服务器上,然后在该服务器上运行 nsupdate,更新远程 BIND DNS 服务器。