我的 BIND9 设置似乎有问题。
我的第一个服务器答案(ns1.m2osw.com)响应不具有权威性(没有“aa”标志)。这是我目前得到的输出:
$ dig @ns1.m2osw.com m2osw.com
; <<>> DiG 9.11.3-1ubuntu1.18-Ubuntu <<>> @ns1.m2osw.com m2osw.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50582
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;m2osw.com. IN A
;; ANSWER SECTION:
m2osw.com. 3600 IN A 165.232.146.181
;; Query time: 24 msec
;; SERVER: 165.232.146.181#53(165.232.146.181)
;; WHEN: Wed Mar 22 17:30:34 PDT 2023
;; MSG SIZE rcvd: 54
另一方面,我的辅助服务器(从属服务器)返回一个答案,并按预期设置“aa”标志:
$ dig @ns2.m2osw.com m2osw.com
; <<>> DiG 9.11.3-1ubuntu1.18-Ubuntu <<>> @ns2.m2osw.com m2osw.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48685
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 192861169293b4a6ced2041c641b9daf4141e9f698003f54 (good)
;; QUESTION SECTION:
;m2osw.com. IN A
;; ANSWER SECTION:
m2osw.com. 3600 IN A 165.232.146.181
;; AUTHORITY SECTION:
m2osw.com. 3600 IN NS ns1.m2osw.com.
m2osw.com. 3600 IN NS ns2.m2osw.com.
;; ADDITIONAL SECTION:
ns1.m2osw.com. 3600 IN A 165.232.146.181
ns2.m2osw.com. 3600 IN A 96.67.192.225
;; Query time: 0 msec
;; SERVER: 96.67.192.225#53(96.67.192.225)
;; WHEN: Wed Mar 22 17:30:39 PDT 2023
;; MSG SIZE rcvd: 150
除了区域之外,设置非常相似,其中一个服务器显示“主服务器”(ns1),另一个显示“从服务器”(ns2)。如果有的话,我希望从服务器在没有“aa”标志的情况下回答。
以下是主区域定义:
zone "m2osw.com" {
type master;
file "/var/lib/bind/m2osw.com.zone";
allow-transfer { trusted-servers; };
check-names warn;
max-journal-size 2M;
};
以及相应的从属:
zone "m2osw.com" {
type slave;
masters { list-of-masters; };
allow-transfer { none; };
file "/var/cache/bind/m2osw.com.zone";
};
此外,两台服务器都对另一台服务器启用了递归:
allow-recursion { trusted-servers; };
我已经多次更改我的域名列表,我可以说,除了缺少“aa”标志外,它通常运行良好......
更新
以下是区域文件的顶部:
$ORIGIN .
$TTL 3600
m2osw.com IN SOA ns1.m2osw.com. hostmaster.m2osw.com. (242 10800 180 1209600 300)
NS ns1.m2osw.com.
NS ns2.m2osw.com.
MX 10 mail.m2osw.com.
A 165.232.146.181
$ORIGIN m2osw.com.
mail A 165.232.146.181
ns1 A 165.232.146.181
ns2 A 96.67.192.225
www A 165.232.146.181
...other TXT & A fields...
如果有帮助的话。
答案1
区域文件中存在错误。
请注意,第一行中 $ORIGIN 设置为 root,但您针对它声明了 2 个 NS、一个 MX 和一个 A 记录。必须$ORIGIN m2osw.com.
位于这些记录之上。
我原本以为你的日志会在这里显示错误。
它应该变成:
$ORIGIN .
$TTL 3600
m2osw.com IN SOA ns1.m2osw.com. hostmaster.m2osw.com. (242 10800 180 1209600 300)
$ORIGIN m2osw.com.
NS ns1.m2osw.com.
NS ns2.m2osw.com.
MX 10 mail.m2osw.com.
A 165.232.146.181
www A 165.232.146.181
...other TXT & A fields...
或者,为了减少此类错误,请尝试:
$ORIGIN m2osw.com.
$TTL 3600
@ IN SOA ns1.m2osw.com. hostmaster.m2osw.com. (242 10800 180 1209600 300)
NS ns1.m2osw.com.
NS ns2.m2osw.com.
MX 10 mail.m2osw.com.
A 165.232.146.181
www A 165.232.146.181
...other TXT & A fields...
甚至...
$ORIGIN @
$TTL 3600
@ IN SOA ns1.m2osw.com. hostmaster.m2osw.com. (242 10800 180 1209600 300)
NS ns1.m2osw.com.
NS ns2.m2osw.com.
MX 10 mail.m2osw.com.
A 165.232.146.181
www A 165.232.146.181
...other TXT & A fields...
您可能需要更新序列号。