我发现 PTR 区域解析存在一些问题,但我无法弄清楚是哪里配置不正确。
概括:
1) 我已被授予 PTR 区域 (246.237.204.in-addr.arpa,非 RFC2317) 的权限,并且 DNS 正确显示 SOA 是我的名称服务器:
$ dig SOA 246.237.204.in-addr.arpa
; <<>> DiG 9.8.3-P1 <<>> SOA 246.237.204.in-addr.arpa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37131
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;246.237.204.in-addr.arpa. IN SOA
;; ANSWER SECTION:
246.237.204.in-addr.arpa. 2452 IN SOA ns1.playnet.com. hostmaster.playnet.com. 2017092502 10800 900 86400 3600
;; Query time: 23 msec
;; SERVER: 17.128.100.12#53(17.128.100.12)
;; WHEN: Wed Sep 27 11:30:29 2017
;; MSG SIZE rcvd: 104
2) 我的 DNS 设置了多个视图。PTR 区域在两个视图中均进行了配置。起初我只在外部视图中配置了它,但当我发现这不起作用时,我也将其添加到了内部 (LAN) 视图中,以防万一。
zone "246.237.204.in-addr.arpa" in {
type master;
file "db.246.237.204.rev";
also-notify { 192.168.88.253 key external-key; };
allow-query { any; }
};
3)我的 LAN 的解析工作符合预期(dig -x 204.237.246.33 确实提供了正确的答案)。
dig -x 204.237.246.33
; <<>> DiG 9.9.5-9+deb8u13-Debian <<>> -x 204.237.246.33
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63647
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;33.246.237.204.in-addr.arpa. IN PTR
;; ANSWER SECTION:
33.246.237.204.in-addr.arpa. 3600 IN PTR maild.playnet.com.
;; AUTHORITY SECTION:
246.237.204.in-addr.arpa. 3600 IN NS ns1.playnet.com.
246.237.204.in-addr.arpa. 3600 IN NS ns2.playnet.com.
;; ADDITIONAL SECTION:
ns1.playnet.com. 7200 IN A 192.168.88.252
ns2.playnet.com. 7200 IN A 192.168.88.253
;; Query time: 2 msec
;; SERVER: 192.168.88.252#53(192.168.88.252)
;; WHEN: Wed Sep 27 13:13:01 CDT 2017
;; MSG SIZE rcvd: 155
4) 使用 NXDOMAIN 从我的 LAN 外部解析反向区域中的任何配置主机均失败:
$ dig -x 204.237.246.33
; <<>> DiG 9.8.3-P1 <<>> -x 204.237.246.33
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 13946
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;33.246.237.204.in-addr.arpa. IN PTR
;; Query time: 95 msec
;; SERVER: 17.128.100.12#53(17.128.100.12)
;; WHEN: Wed Sep 27 11:21:12 2017
;; MSG SIZE rcvd: 45
问题 1:如果 SOA 是正确的,为什么我的 NS 没有被查询?
现在,奇怪的是,当我在 LAN 外部的查询中指定名称服务器时,从外部得到的答案具有奇怪的权限:
$ dig @ns1.playnet.com -x 204.237.246.33
; <<>> DiG 9.8.3-P1 <<>> @ns1.playnet.com -x 204.237.246.33
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 37679
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;33.246.237.204.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
168.192.IN-ADDR.ARPA. 86400 IN SOA 168.192.IN-ADDR.ARPA. . 0 28800 7200 604800 86400
;; Query time: 43 msec
;; SERVER: 204.237.246.252#53(204.237.246.252)
;; WHEN: Wed Sep 27 11:14:18 2017
;; MSG SIZE rcvd: 100
Q2:为什么 168.192.in-addr.arpa 显示为权限?这是从哪里来的?
我的内部局域网是RFC 1912 网络(192.168.88.0/24),并且我已在内部视图中指定了该区域:
zone "88.168.192.in-addr.arpa" {
type master;
file "/etc/bind/internal/db.88.168.192.in-addr.arpa";
also-notify { 192.168.88.253 key internal-key; };
};
问题 3:当我直接查询我的 NS 并收到 NXDOMAIN 时,是否意味着我的 NS 配置错误,或者可能是我的 ISP 的配置问题?
提前谢谢...这个问题让我失眠!
答案1
Q1:我不太明白其中的原因。
Q2:这确实很奇怪,我不相信 BIND 有能力用这种完全不相关的东西来回答。
Q3:通常情况下,我会说“是”,但考虑到 Q2,我怀疑这可能不是这种特定情况下发生的情况。
我还发现,通过 UDP 和 TCP 可以得到完全不同的答案。
结合问题 2,我相信 WAN 接口上除了 BIND 之外还有其它东西绑定到 53/udp,或者“中间”有其它东西干扰了流量。首先,
请检查哪个进程已绑定到该地址上的 53/udp(或类似地址)。netstat -plnut
通过 UDP,响应与您的问题一致,但通过 TCP:
$ dig @204.237.246.253 -x 204.237.246.33 +norec +tcp
; <<>> DiG 9.11.1-P3-RedHat-9.11.1-2.P3.fc26 <<>> @204.237.246.253 -x 204.237.246.33 +norec +tcp
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50398
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;33.246.237.204.in-addr.arpa. IN PTR
;; ANSWER SECTION:
33.246.237.204.in-addr.arpa. 3600 IN PTR maild.playnet.com.
;; AUTHORITY SECTION:
246.237.204.in-addr.arpa. 3600 IN NS ns1.playnet.com.
246.237.204.in-addr.arpa. 3600 IN NS ns2.playnet.com.
;; ADDITIONAL SECTION:
ns1.playnet.com. 14400 IN A 204.237.246.252
ns2.playnet.com. 14400 IN A 204.237.246.253
;; Query time: 128 msec
;; SERVER: 204.237.246.253#53(204.237.246.253)
;; WHEN: Wed Sep 27 18:49:34 UTC 2017
;; MSG SIZE rcvd: 155
$