Ern*_*nie 7 domain-name-system bind
我们在 Debian 的稳定版本(每周更新)上使用 BIND 9.7.3,我们看到某个特定域的一些非常奇怪的行为。我们主持了几百人,但这是我们的。
基本上,辅助 DNS 服务器正在尝试从主服务器传输域。根据日志,每次都可以成功转移域名,但总是把序列号弄错!因此,它会抓住每一个机会不断地重新进行传输。我什至不确定它从哪里获取序列号,因为主服务器会返回正确的序列号。
这是我们从辅助服务器获得的日志(IP 192.168.0.130 是主服务器,192.168.0.4 是辅助服务器。当然,它们不是真实的。):
Aug 23 03:01:08 ns2 named[4242]: transfer of 'mydomain.ca/IN/external' from 192.168.0.130#53: connected using 192.168.0.4#60959
Aug 23 03:01:08 ns2 named[4242]: transfer of 'mydomain.ca/IN/external' from 192.168.0.130#53: Transfer completed: 0 messages, 1 records, 0 bytes, 0.001 secs (0 bytes/sec)
Run Code Online (Sandbox Code Playgroud)
这看起来很正常,虽然两台主机都设置了 IPv6 地址并且从技术上讲他们应该使用它们,但这是另一天的问题(我认为)。
所以让我们从辅助服务器查询主服务器,看看它说了什么:
$ host -4 -t any mydomain.ca 192.168.0.130
Using domain server:
Name: 192.168.0.130
Address: 192.168.0.130#53
Aliases:
mydomain.ca has IPv6 address fc00:::31
mydomain.ca has SOA record ns1.mydomain.bc.ca. hostmaster.mydomain.ca. 2011082201 900 3600 604800 86400
mydomain.ca name server ns2.mydomain.bc.ca.
mydomain.ca name server ns1.mydomain.bc.ca.
mydomain.ca mail is handled by 20 pop.mydomain.ca.
mydomain.ca has address 192.168.0.205
mydomain.ca descriptive text "v=spf1 mx ip4:192.168.0.4 ip4:192.168.0.193 ip6:fc00:::23 ip6:fc00:::12 ip6:fc00:::33 a:smtp.mydomain.ca a:webmail.mydomain.ca a:smtp2.mydomain.ca a:ns2.mydomain.ca ~all"
Run Code Online (Sandbox Code Playgroud)
然后让我们对辅助名称服务器做同样的事情:
$ host -4 -t any mydomain.ca 192.168.0.4
Using domain server:
Name: 192.168.0.4
Address: 192.168.0.4#53
Aliases:
mydomain.ca has SOA record ns1.mydomain.bc.ca. hostmaster.mydomain.ca. 2011011013 600 600 600 600
mydomain.ca descriptive text "v=spf1 mx ip4:192.168.0.4 ip4:192.168.0.193 ip6:fc00::23 ip6:fc00::12 ip6:fc00::33 a:smtp.mydomain.ca a:webmail.mydomain.ca a:smtp2.mydomain.ca a:ns2.mydomain.ca ~all"
mydomain.ca has address 192.168.0.205
mydomain.ca mail is handled by 20 pop.mydomain.ca.
mydomain.ca name server ns1.mydomain.bc.ca.
mydomain.ca name server ns2.mydomain.bc.ca.
mydomain.ca has IPv6 address fc00::31
Run Code Online (Sandbox Code Playgroud)
您可以在此处看到辅助服务器上的序列号是 2011011013,而主服务器上的序列号是 2011082201。我使用了日期加上一个 2 位数字,所以次要以某种方式使用了 1 月份的序列号。我已经尝试在主服务器和辅助服务器上搜索我们的配置以获取此序列号,但无处可寻。
说到配置,这里是/etc/bind/named.conf中这个域的配置:
zone "mydomain.ca" { type slave; file "secondaries/mydomain.ca"; masters { 192.168.0.130; }; };
Run Code Online (Sandbox Code Playgroud)
并且secondaries/mydomain.ca 上的时间戳是最近更新的时间。删除这个文件仍然会导致序列号为2011011013。这个文件的内容很长,但是这里是辅助服务器上的标题:
$ORIGIN .
$TTL 3600 ; 1 hour
mydomain.ca IN SOA ns1.mydomain.bc.ca. hostmaster.mydomain.ca. (
2011011013 ; serial
600 ; refresh (10 minutes)
600 ; retry (10 minutes)
600 ; expire (10 minutes)
600 ; minimum (10 minutes)
)
NS ns1.mydomain.bc.ca.
NS ns2.mydomain.bc.ca.
A 192.168.0.205
MX 20 pop.mydomain.ca.
TXT "v=spf1 mx ip4:192.168.0.4 ip4:192.168.0.193 ip6:fc00::23 ip6:fc00::12 ip6:fc00::33 a:smtp.mydomain.ca a:webmail.mydomain.ca a:smtp2.mydomain.ca a:ns2.mydomain.ca ~all"
AAAA fc00::31
$ORIGIN mydomain.ca.
Run Code Online (Sandbox Code Playgroud)
以及主服务器上等效文件的标头:
$TTL 1d
@ IN SOA ns1.mydomain.bc.ca. hostmaster.mydomain.ca. (
2011082302 ; serial
15m ; refresh after 15 minutes
1h ; retry after 1 hour
1w ; expire after 1 week
1d ) ; negative caching TTL of 1 day.
IN NS ns1.mydomain.bc.ca.
IN NS ns2.mydomain.bc.ca.
IN MX 20 pop.mydomain.ca.
@ IN A 192.168.0.205
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; SPF TXT records
;;;;;;;;;;;;;;;;;;;;;;;;;;;
mydomain.ca. TXT "v=spf1 mx ip4:192.168.0.4 ip4:192.168.0.193 ip6:fc00::23 ip6:fc00::12 ip6:fc00::33 a:smtp.mydomain.ca a:webmail.mydomain.ca a:smtp2.mydomain.ca a:ns2.mydomain.ca ~all"
; this next bit is for the Sender Policy Framework, if it ever really matters.
pop TXT "v=spf1 a -all"
pop3 TXT "v=spf1 a -all"
smtp TXT "v=spf1 a -all"
webmail TXT "v=spf1 a -all"
horde TXT "v=spf1 a -all"
Run Code Online (Sandbox Code Playgroud)
请注意,主节点上的 BIND 日志表明
... Transfer completed: 0 messages, 1 records, 0 bytes, 0.001 secs (0 bytes/sec)
Run Code Online (Sandbox Code Playgroud)
这并不是成功的确认。在此之前是否有任何消息指示错误?
| 归档时间: |
|
| 查看次数: |
798 次 |
| 最近记录: |