我有一个关于如何在区域文件中配置记录的方式对以下记录进行排序的查询
我做了2个不同的测试
我在区域文件 e164enum.net 中配置了以下记录,TTL 值为 0
2.7.5.2.7.9.2.5.3.1.8.e164enum.net. IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected];user=phone!" .
2.7.5.2.7.9.2.5.3.1.8.e164enum.net. IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected];user=phone!" .
现在,每当我在绑定服务器上运行“dig”查询“dig 2.7.5.2.7.9.2.5.3.1.8.e164enum.net.NAPTR”时
我收到回复,如在“答案”部分切换
第一次挖掘查询
;; <<>> DiG 9.9.5-rpz2+rl.14038.05-P1 <<>> 2.7.5.2.7.9.2.5.3.1.8.e164enum.net. NAPTR
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37270
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;2.7.5.2.7.9.2.5.3.1.8.e164enum.net. IN NAPTR
;; ANSWER SECTION:
2.7.5.2.7.9.2.5.3.1.8.e164enum.net. 0 IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected]\;user=phone!" .
2.7.5.2.7.9.2.5.3.1.8.e164enum.net. 0 IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected]\;user=phone!" .
;; AUTHORITY SECTION:
e164enum.net. 0 IN NS HP3bl10VM5DNS.e164enum.net.
;; ADDITIONAL SECTION:
HP3bl10VM5DNS.e164enum.net. 0 IN A 10.54.212.235
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jul 19 00:31:16 IST 2016
;; MSG SIZE rcvd: 261
二次挖掘查询
; <<>> DiG 9.9.5-rpz2+rl.14038.05-P1 <<>> 2.7.5.2.7.9.2.5.3.1.8.e164enum.net. NAPTR
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40073
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;2.7.5.2.7.9.2.5.3.1.8.e164enum.net. IN NAPTR
;; ANSWER SECTION:
2.7.5.2.7.9.2.5.3.1.8.e164enum.net. 0 IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected]\;user=phone!" .
2.7.5.2.7.9.2.5.3.1.8.e164enum.net. 0 IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected]\;user=phone!" .
;; AUTHORITY SECTION:
e164enum.net. 0 IN NS HP3bl10VM5DNS.e164enum.net.
;; ADDITIONAL SECTION:
HP3bl10VM5DNS.e164enum.net. 0 IN A 10.54.212.235
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jul 19 00:31:19 IST 2016
;; MSG SIZE rcvd: 261
如我所见,来自绑定服务器的响应(RR Answers)为每次挖掘切换
由于我不希望在每个后续挖掘中切换答案,并且我希望答案与它们在区域文件中配置的顺序相同(因为这两个记录的顺序和首选项相同),我启用了这个在 named.conf 的选项字段中的行
rrset-order {order fixed;};
并重新启动命名
我再次运行了 dig 查询 这次,Answers 没有切换,但我发现,第二个配置的 RR 总是第一个被回答这个记录总是第一个被回答,尽管在我配置的首选项中是第二个(假设配置 rrset -order 将始终以与区域文件中配置的顺序相同的顺序返回 RR 答案)
查询#1
; <<>> DiG 9.9.5-rpz2+rl.14038.05-P1 <<>> 2.7.5.2.7.9.2.5.3.1.8.e164enum.net. NAPTR
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18221
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;2.7.5.2.7.9.2.5.3.1.8.e164enum.net. IN NAPTR
;; ANSWER SECTION:
2.7.5.2.7.9.2.5.3.1.8.e164enum.net. 0 IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected]\;user=phone!" .
2.7.5.2.7.9.2.5.3.1.8.e164enum.net. 0 IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected]\;user=phone!" .
;; AUTHORITY SECTION:
e164enum.net. 0 IN NS HP3bl10VM5DNS.e164enum.net.
;; ADDITIONAL SECTION:
HP3bl10VM5DNS.e164enum.net. 0 IN A 10.54.212.235
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jul 19 00:36:30 IST 2016
;; MSG SIZE rcvd: 261
查询#2
; <<>> DiG 9.9.5-rpz2+rl.14038.05-P1 <<>> 2.7.5.2.7.9.2.5.3.1.8.e164enum.net. NAPTR
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17082
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;2.7.5.2.7.9.2.5.3.1.8.e164enum.net. IN NAPTR
;; ANSWER SECTION:
2.7.5.2.7.9.2.5.3.1.8.e164enum.net. 0 IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected]\;user=phone!" .
2.7.5.2.7.9.2.5.3.1.8.e164enum.net. 0 IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected]\;user=phone!" .
;; AUTHORITY SECTION:
e164enum.net. 0 IN NS HP3bl10VM5DNS.e164enum.net.
;; ADDITIONAL SECTION:
HP3bl10VM5DNS.e164enum.net. 0 IN A 10.54.212.235
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jul 19 00:36:33 IST 2016
;; MSG SIZE rcvd: 261
为什么 Bind 将第二个 RR 作为第一个答案而不是我原来的第一个 RR 作为第一个答案?
绑定文档说(对于我的绑定版本 9.9.5):
所以也许问题出在您的绑定版本中。您没有指定您使用的是哪个版本,也许您应该尝试使用另一个版本?