Почему dig Отвечать на мои вопросы по-другому?

333
Harshith Mulky

Я не могу понять, почему существует разница в том, как dig отвечает на мои запросы в клиенте. Я настроил файл зоны, как показано ниже в DNS

$ORIGIN mail.lab.example.com. $TTL 0 @ IN SOA colombo root.mail.lab.example.com. ( 2003022720 ; Serial 56800 ; Refresh 14400 ; Retry 3600000 ; Expire 2h ) ; Min @ IN NS mail.lab.example.com. @ IN A 198.51.100.157  ;NAPTR Records pcr20718 IN NAPTR 10 34 "s" "SIP+D2U" "" _sip._udp.pcr20718  ;SRV Records _sip._udp.pcr20718 IN SRV 9 17 15103 pcr20718  ;A Records pcr20718 IN A 10.54.80.7 pcr20718 IN AAAA fd00:10:6b50:4500::9b  $ORIGIN webmail.mail.lab.example.com.  @ IN NS ns1.webmail.mail.lab.example.com. ns1 IN A 198.51.100.156 @ IN NS ns2.webmail.mail.lab.example.com. ns2 IN A 198.51.100.155 @ IN NS ns3.webmail.mail.lab.example.com. ns3 IN A 198.51.100.154 @ IN NS ns4.webmail.mail.lab.example.com. ns4 IN A 198.51.100.153 @ IN NS ns5.webmail.mail.lab.example.com. ns5 IN A 198.51.100.152 @ IN NS ns6.webmail.mail.lab.example.com. ns6 IN A 198.51.100.151 @ IN NS ns7.webmail.mail.lab.example.com. ns7 IN A 198.51.100.150 @ IN NS ns8.webmail.mail.lab.example.com. ns8 IN A 198.51.100.147 @ IN NS ns9.webmail.mail.lab.example.com. ns9 IN A 198.51.100.146 @ IN NS ns10.webmail.mail.lab.example.com. ns10 IN A 198.51.100.145 @ IN NS ns11.webmail.mail.lab.example.com. ns11 IN A 198.51.100.144 @ IN NS ns12.webmail.mail.lab.example.com. ns12 IN A 198.51.100.143 @ IN NS ns13.webmail.mail.lab.example.com. ns13 IN A 198.51.100.142 @ IN NS ns14.webmail.mail.lab.example.com. ns14 IN A 198.51.100.141 @ IN NS ns15.webmail.mail.lab.example.com. ns15 IN A 198.51.100.140 @ IN NS ns16.webmail.mail.lab.example.com. ns16 IN A 198.51.100.148 @ IN NS ns17.webmail.mail.lab.example.com. ns17 IN A 198.51.100.149 @ IN NS ns18.webmail.mail.lab.example.com. ns18 IN A 198.51.100.157 

Когда я запускаю dig на DNS-сервере, я получаю ответы правильно

colombodns2:/var/lib/named # dig webmail.mail.lab.example.com. NAPTR  ; <<>> DiG 9.9.5-rpz2+rl.14038.05-P1 <<>> webmail.mail.lab.example.com. NAPTR ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20175 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 18, ADDITIONAL: 19 ;; WARNING: recursion requested but not available  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;webmail.mail.lab.example.com. IN NAPTR  ;; AUTHORITY SECTION: webmail.mail.lab.example.com. 0 IN NS ns9.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns18.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns11.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns2.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns4.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns8.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns10.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns17.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns12.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns3.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns6.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns14.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns16.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns15.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns7.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns1.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns5.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns13.webmail.mail.lab.example.com.  ;; ADDITIONAL SECTION: ns1.webmail.mail.lab.example.com. 0 IN A 198.51.100.156 ns2.webmail.mail.lab.example.com. 0 IN A 198.51.100.155 ns3.webmail.mail.lab.example.com. 0 IN A 198.51.100.154 ns4.webmail.mail.lab.example.com. 0 IN A 198.51.100.153 ns5.webmail.mail.lab.example.com. 0 IN A 198.51.100.152 ns6.webmail.mail.lab.example.com. 0 IN A 198.51.100.151 ns7.webmail.mail.lab.example.com. 0 IN A 198.51.100.150 ns8.webmail.mail.lab.example.com. 0 IN A 198.51.100.147 ns9.webmail.mail.lab.example.com. 0 IN A 198.51.100.146 ns10.webmail.mail.lab.example.com. 0 IN A 198.51.100.145 ns11.webmail.mail.lab.example.com. 0 IN A 198.51.100.144 ns12.webmail.mail.lab.example.com. 0 IN A 198.51.100.143 ns13.webmail.mail.lab.example.com. 0 IN A 198.51.100.142 ns14.webmail.mail.lab.example.com. 0 IN A 198.51.100.141 ns15.webmail.mail.lab.example.com. 0 IN A 198.51.100.140 ns16.webmail.mail.lab.example.com. 0 IN A 198.51.100.148 ns17.webmail.mail.lab.example.com. 0 IN A 198.51.100.149 ns18.webmail.mail.lab.example.com. 0 IN A 198.51.100.157  ;; Query time: 27 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Oct 17 11:02:49 IST 2017 ;; MSG SIZE rcvd: 678 

Когда я работаю с клиента, я не вижу tc (бит усечения), установленный в моих запросах. Будет ли работать усечение для NS Queries?

dig @203.0.113.1 webmail.mail.lab.example.com. NAPTR +edns=0 +bufsize=512  ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> @203.0.113.1 webmail.mail.lab.example.com. NAPTR +edns=0 +bufsize=512 ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20571 ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 18, ADDITIONAL: 8 ;; WARNING: recursion requested but not available  ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;webmail.mail.lab.example.com. IN NAPTR  ;; AUTHORITY SECTION: webmail.mail.lab.example.com. 0 IN NS ns8.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns12.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns13.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns14.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns1.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns16.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns9.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns3.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns10.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns18.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns5.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns11.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns2.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns6.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns7.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns17.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns15.webmail.mail.lab.example.com. webmail.mail.lab.example.com. 0 IN NS ns4.webmail.mail.lab.example.com.  ;; ADDITIONAL SECTION: ns1.webmail.mail.lab.example.com. 0 IN A 198.51.100.156 ns2.webmail.mail.lab.example.com. 0 IN A 198.51.100.155 ns3.webmail.mail.lab.example.com. 0 IN A 198.51.100.154 ns4.webmail.mail.lab.example.com. 0 IN A 198.51.100.153 ns5.webmail.mail.lab.example.com. 0 IN A 198.51.100.152 ns6.webmail.mail.lab.example.com. 0 IN A 198.51.100.151 ns7.webmail.mail.lab.example.com. 0 IN A 198.51.100.150  ;; Query time: 1 msec ;; SERVER: 203.0.113.1#53(203.0.113.1) ;; WHEN: Tue Oct 17 11:40:31 2017 ;; MSG SIZE rcvd: 502 

Это связано с моим DNS-сервером, который не может установить бит усечения? Я хочу, чтобы бит Trucation был установлен и выполнял откат по TCP. Но это, похоже, не удалось

Что я могу делать не так?

0

1 ответ на вопрос

1
grawity

Ответ не был достаточно большим, чтобы быть усеченным.

Бит TC не устанавливается, когда дополнительная секция не помещается полностью - RFC 2181 :

Бит TC должен быть установлен в ответах только тогда, когда RRSet требуется как часть ответа, но не может быть включен полностью. Бит TC не должен устанавливаться только потому, что могла быть включена некоторая дополнительная информация, но места было недостаточно. Это включает в себя результаты дополнительной обработки раздела. В таких случаях весь RRSet, который не помещается в ответ, должен быть пропущен, а ответ отправлен как есть, с битом TC очищенным. Если получатель ответа нуждается в пропущенных данных, он может создать запрос для этих данных и отправить его отдельно.

Кроме того, клиент dig поддерживает EDNS0 и согласовывает намного больший размер пакета - вместо 512 байтов он может получить до 4 кБ.

Означает ли это, что для запросов типа NS / A, которые в основном являются ответами-запросами, бит TC не будет установлен? Harshith Mulky 6 лет назад 0
Это будет установлено, если записи NS в разделе «Ответ» или, возможно, в разделе «Полномочия» будут обрезаны, потому что это то, что было запрошено. Но записи A в разделе «Дополнительно» являются просто дополнительным дополнением. grawity 6 лет назад 0

Похожие вопросы