我们在 Ubuntu 上有一个 Bind 服务器。这是一个非常基本的设置。但是我们遇到了一个愚蠢的问题,我不确定是服务器配置不正确,还是互联网上的问题。值得一提的是,下面的图片是几周后,有时是几个月后的图片。
以下是我们看到的一个例子我的 DNS 是什么:
以下是该站点的配置文件示例:
$ttl 38400
somewebsite.net. IN SOA ns1.ourserver.com. email.somewebsite.com. (
1486765992
10800
3600
604800
38400 )
somewebsite.net. IN NS ns1.ourserver.com.
somewebsite.net. IN A xxx.xxx.xxx.34
www.somewebsite.net. IN A xxx.xxx.xxx.34
mail.somewebsite.net. IN A xxx.xxx.xxx.14
webmail.somewebsite.net. IN A xxx.xxx.xxx.14
somewebsite.net. IN MX 10 mx1.ourmxserver.com.
somewebsite.net. IN MX 20 mx2.ourmxserver.com.
现在我可以使用以下命令观察服务器,查看请求是否到来
tcpdump -vvv -s 0 -l -n port 53
这让我相信问题出在其他地方?有些区域可以工作,而其他区域则因为配置文件错误而无法工作吗?
一些信息……几个月前,我们更改了 NS1 和 NS2 指向的服务器,但似乎有些网站从未完全“跟随”IE 图像。这可能是与绑定服务器相关的问题吗?我的配置是否错误/不完整?
编辑
我还检查了named-checkconf -z
——checkzone
并且他们检查了:
zone somesite.com/IN: loaded serial 1486765992
OK
答案1
我假设在named.conf(或named.conf.local)中有适当的信息表明您是域的主服务器。使用以下命令检查区域文件:named-checkzone somewebsite.net /path/to/zone/file
假设所有检查都正常,请检查每个域的区域文件信息的序列号。现在,您使用的序列号并不重要 - 只要它是数字,当您对区域文件进行更改/更新时始终递增。看起来你正在使用 unix 时间戳,效果很好,我喜欢 YYYMMDDVV 格式,其中 VV 为 01 到 99,表示当天的修订。如果我一天搞砸了 99 次,那就该放弃了……
序列号很重要,因为当您的 DNS 服务器发出通知或被您的域的从属服务器/辅助服务器查询时,会检查序列号。如果该值不大于辅助服务器缓存的序列号,则不会更新其数据存储 - 它会认为它没有改变,因为没有新的序列号。
答案2
您的区域文件仅显示一个名称服务器,但我的 DNS 显示两个。
常见的 DNS 错误是从服务器拥有比主服务器更多/不同的 NS 记录,其 NS 记录实际上指向“不合格”的服务器(即不具有区域权威性的服务器)。这种情况在更改名称服务器时尤其常见,因为从服务器需要重新配置才能知道新的主服务器(并且必须配置新的主服务器以允许将区域传输到新的从服务器)。