我最近将隐藏的 DNS 主服务移至新主机 DNS38。原始主服务仍在运行,但目前尚未被轮询。
旧主服务器和所有权威从服务器都运行 bind-9.11。新主服务器正在运行 bind-9.16。
我正在处理的域已启用 DNSSEC。我们使用dnssec-validation auto;
和 auto-dnssec maintain; inline-signing yes;
作为区域。
我的问题涉及加载对主区域文件所做的更改对于从属服务器不可见。
使用 rndc 我看到这个:
rndc zonestatus harte-lyne.ca
name: harte-lyne.ca
type: primary
files: /usr/local/etc/namedb/signtest/harte-lyne.ca.hosts
serial: 2022012604
signed serial: 2022012199
nodes: 1320
last loaded: Tue, 25 Jan 2022 17:38:23 GMT
secure: yes
inline signing: yes
key maintenance: automatic
next key event: Thu, 27 Jan 2022 17:00:50 GMT
next resign node: _22._tcp.inet05.hamilton.harte-lyne.ca/NSEC
next resign time: Thu, 27 Jan 2022 19:51:36 GMT
dynamic: no
reconfigurable via modzone: no
这里让我感兴趣的是,虽然区域文件的序列号是 2022012604,但签名区域文件的序列号是 2022012199,小于第一个序列号。我相信签名区域保持单独的序列号,但我无法找到文档来确认或反驳这一点。
无论如何,我已经对主服务器上的区域文件进行了更改,并使用“rndc reload harte-lyne.ca.
此更改已按时排队”重新加载了这些更改,更新的区域文件的序列号显示在报告中zonestatus
。但是,查询时未显示对区域的更改。
# find a changed RR
grep dns01.internal /usr/local/etc/namedb/signtest/harte-lyne.ca.hosts
dns01.internal.harte-lyne.ca. CNAME dns33.internal.harte-lyne.ca.
# check the validity of the zone file
named-checkzone -i local harte-lyne.ca /usr/local/etc/namedb/signtest/harte-lyne.ca.hosts # zone configuration test ignore samba errors
zone harte-lyne.ca/IN: loaded serial 2022012701
OK
# reload the zone
rndc reload harte-lyne.ca.
zone reload queued
# check the serial number
rndc zonestatus harte-lyne.ca.
name: harte-lyne.ca.
type: primary
files: /usr/local/etc/namedb/signed/harte-lyne.ca.hosts
serial: 2022012701
signed serial: 2022012199
nodes: 1311
last loaded: Tue, 25 Jan 2022 17:38:23 GMT
secure: yes
inline signing: yes
key maintenance: automatic
next key event: Thu, 27 Jan 2022 17:00:50 GMT
next resign node: _22._tcp.inet05.hamilton.harte-lyne.ca/NSEC
next resign time: Thu, 27 Jan 2022 19:51:36 GMT
dynamic: no
reconfigurable via modzone: no
在这里,我使用新的序列号(2022012701)重新加载了区域,其中包含有效的 CNAME RR,dns01.internal.harte-lyne.ca.
但是,如果我随后挖掘/钻取主服务,则不会收到响应:
drill @dns38.harte-lyne.ca dns01.internal.harte-lyne.ca
;; ->>HEADER<<- opcode: QUERY, rcode: NXDOMAIN, id: 54421
;; flags: qr aa rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;; dns01.internal.harte-lyne.ca. IN A
;; ANSWER SECTION:
;; AUTHORITY SECTION:
harte-lyne.ca. 7200 IN SOA harte-lyne.ca. nameservice.harte-lyne.ca. 2022012199 10800 3600 1209600 7200
;; ADDITIONAL SECTION:
;; Query time: 0 msec
;; SERVER: 216.185.71.38
;; WHEN: Thu Jan 27 11:51:57 2022
;; MSG SIZE rcvd: 107
返回的 SOA 记录的序列号为 2022012199,与zonestatus
域重新加载后提供的序列号相匹配。但是查询没有答案。
我没有注意到与此更改相关的其他异常。从服务器正在从主服务器传输,没有任何错误。但主服务器似乎不想承认确实发生了更改。
我觉得这与签署新的 RR 有关。我建立这个系统已经五年多了,但我没有关于这个特殊情况的记录。而且,我不记得以前遇到过这种情况。我错过了什么步骤?
答案1
该问题是由日志文件与主机文件不同步引起的。删除 .jnl 文件然后重新加载域即可解决问题。