我已经等待 DNS 传播将近 24 小时了。我并不急躁,但我想知道我的区域配置是否正确,或者其中是否存在任何错误。
我认为这很好,因为如果我将我的服务器 DNS 用作我的 DNS 辅助,我就可以很好地解析和查找主机。
;
; BIND data file for mydomain.net
;
$TTL 86400
@ IN SOA mydomain.net. mydomain.net. (
20120629 ; Serial
10800 ; Refresh 3 hours
3600 ; Retry 1 hour
604800 ; Expire 1 week
86400 ) ; Negative Cache TTL
;
@ IN NS ns1
@ IN NS ns2
IN MX 10 mail
ns1 IN A 5.39.X.Y
ns2 IN A 5.39.X.Z
/var/syslog 中没有关于 bind 守护进程的任何错误。一切都正确吗?我是否只需要等待最多 48 小时即可获得正确的 DNS 传播?
我从远程机器上使用绑定主机的名称服务器进行 nslookup:
$ nslookup mydomain.net
Server: bind-host-ip
Address: bind-host-ip#53
Name: mydomain.net
Address: domain-ip
答案1
如果你使用dig
@ 符号来指定你的名称服务器,则没有延迟。一旦您保存了新的区域文件并重新加载绑定,它就会开始分发新信息。
如果您没有使用 @ 符号指定您的名称服务器(其他人都会这么做),则很可能涉及缓存。 dig
将在响应中包含当前 TTL。
话虽如此,我在该区域文件中没有看到任何 A 记录。您没有考虑这些记录,还是这些记录不在文件中?
答案2
好吧,由于您的负缓存 TTL 是 86400 秒(一天),您可能只需要再等待几个小时。
负缓存 TTL 是非权威 DNS 服务器应缓存 NXDOMAIN 记录的时间。换句话说,如果名称服务器查找不存在的记录,它应将“不存在”的记录缓存多长时间?
就您而言,该时间设置为一天。可能发生的情况是,您在创建记录之前(或之后)查询了该记录,而您查询的 DNS 服务器现在有一条即将过期的负面记录。
您可能想要降低负 TTL 值。