配置的反解析未生效,为什么? 明明配置上了呀!
empty-zones简述
named中提供了许多空白区域,在每个视图开始加载时会自动根据配置生成这些空白区域。自动空区的目的时防止递归服务器向其他DNS服务器发送很多无意义的查询,保证递归服务器在这些区域直接返回即时和权威的NXDOMAIN响应。
BIND 9.9及更高版本的用户将在未指定empty-zones-enable(默认为yes)以及明确设置为“yes”时看到新的RFC 1918空区域。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| 10.IN-ADDR.ARPA 16.172.IN-ADDR.ARPA 17.172.IN-ADDR.ARPA 18.172.IN-ADDR.ARPA 19.172.IN-ADDR.ARPA 20.172.IN-ADDR.ARPA 21.172.IN-ADDR.ARPA 22.172 .IN-ADDR.ARPA 23.172.IN-ADDR.ARPA 24.172.IN-ADDR.ARPA 25.172.IN-ADDR.ARPA 26.172.IN-ADDR.ARPA 27.172.IN-ADDR.ARPA 28.172.IN-ADDR.ARPA 29.172。 IN-ADDR.ARPA 30.172.IN-ADDR.ARPA 31.172.IN-ADDR.ARPA 168.192.IN-ADDR.ARPA 100.51.198.IN-ADDR.ARPA 113.0.203.IN-ADDR.ARPA
|
空区生效条件
- empty-zones-enable 指令配置为yes(默认);
- 当named.conf中显式配置了该区域则自动空区不生效,如显式配置了
168.192.in-addr.arpa.
,则168.192.IN-ADDR.ARPA
不生效;
- forward only 开启时,不管是否配置了empty-zones-enable yes,空白区域均不生效。
测试:解析命中空域
DNS环境:
1 2
| bind 9.10 显式配置192.in-addr.arpa反解析zone,未显式配置168.192.in-addr.arpa
|
named.conf 配置:
1 2
| empty-zones-enable yes;
|
测试192.168反解析空域,关注结果中的 AUTHORITY SECTION:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| [root ~]# dig -x 192.168.1.1 @127.0.0.1
; <<>> DiG 9.10.2 <<>> -x 192.168.1.1 @127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 16257 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;1.1.168.192.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: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Feb 18 16:57:45 CST 2020 ;; MSG SIZE rcvd: 108
|
可见命中168.192.IN-ADDR.ARPA
内部域,如果此时有显式168.192.in-addr.arpa
,则会将定义的zone为权威域。
测试:关闭empty-zones-enable后,未命中空域
named.conf配置:
测试结果,关注结果中的 AUTHORITY SECTION:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| [root~]# dig -x 192.168.1.1 @127.0.0.1
; <<>> DiG 9.10.2 <<>> -x 192.168.1.1 @127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 32092 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;1.1.168.192.in-addr.arpa. IN PTR
;; AUTHORITY SECTION: 192.in-addr.arpa. 600 IN SOA ns1.58os.org. root.58os.org. 3016134250 604800 86400 2419200 604800
;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Feb 18 17:01:14 CST 2020 ;; MSG SIZE rcvd: 106
|
可见使用了显式配置的192.in-addr.arpa
,而未使用自动空域168.192.IN-ADDR.ARPA.
测试:开启empty-zones-enable后,开启forward only,自动空域不生效
named.conf配置:
1 2
| empty-zones-enable yes; forward only;
|
测试结果,关注结果中的 AUTHORITY SECTION:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| [root~]# dig -x 192.168.1.1 @127.0.0.1
; <<>> DiG 9.10.2 <<>> -x 192.168.1.1 @127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 39014 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;1.1.168.192.in-addr.arpa. IN PTR
;; AUTHORITY SECTION: 192.in-addr.arpa. 600 IN SOA ns1.58os.org. root.58os.org. 3016134250 604800 86400 2419200 604800
;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Feb 18 17:10:21 CST 2020 ;; MSG SIZE rcvd: 106
|
可见使用forward only
之后,bind的自动空域不生效,反解192.168.1.1的请求命中自定义的192.in-addr.arpa.zone
。