Это плохая конфигурация для возврата корневых серверов имен в дополнительном разделе для поиска CNAME, который указывает на другой домен? В частности, я вижу это с CNAME, размещенным Network Solutions, с CNAME, указывающим на другой домен и TLD.
Я спрашиваю, не является ли это плохой конфигурацией, потому что все эти дополнительные записи приводят к превышению размера пакета UDP, заставляя запрос быть повторно выполнен с помощью TCP.
dig www.unitedstatesartists.org +trace
Ответ сервера имен:
example.org. 86400 IN NS ns15.worldnic.com.
example.org. 86400 IN NS ns16.worldnic.com.
;; Received 95 bytes from 199.249.120.1#53(b2.org.afilias-nst.org) in 79 ms
;; Warning: Message parser reports malformed message packet.
;; Truncated, retrying in TCP mode.
www.example.org. 7200 IN CNAME load-01-123.us-west-1.elb.amazonaws.com.
. 518400 IN NS a.root-servers.net.
. 518400 IN NS b.root-servers.net.
. 518400 IN NS c.root-servers.net.
. 518400 IN NS d.root-servers.net.
. 518400 IN NS e.root-servers.net.
. 518400 IN NS f.root-servers.net.
. 518400 IN NS g.root-servers.net.
. 518400 IN NS h.root-servers.net.
. 518400 IN NS i.root-servers.net.
. 518400 IN NS j.root-servers.net.
. 518400 IN NS k.root-servers.net.
. 518400 IN NS l.root-servers.net.
. 518400 IN NS m.root-servers.net.
;; Received 526 bytes from 205.178.190.8#53(ns15.worldnic.com) in 173 ms
Возврат дополнительных записей является случайным. Иногда, когда они не возвращают дополнительный, все еще остается усеченный ответ и повторные попытки поиска в TCP.
example.org. 86400 IN NS ns15.worldnic.com.
example.org. 86400 IN NS ns16.worldnic.com.
;; Received 95 bytes from 199.19.56.1#53(a0.org.afilias-nst.info) in 82 ms
;; Warning: Message parser reports malformed message packet.
;; Truncated, retrying in TCP mode.
www.example.org. 7200 IN CNAME load-01-123.us-west-1.elb.amazonaws.com.
;; Received 107 bytes from 205.178.190.8#53(ns15.worldnic.com) in 164 ms
Обновление 2010-12-08
При обнаружении большего количества тестов:
Обзор следующего захвата:
Мы уже создали с ними тикет, но посмотрим, пойдет ли он куда-нибудь. Далее следуют DNS-пакеты из деталей tshark ранее:
Первый вопрос (через UDP):
Domain Name System (query)
Transaction ID: 0x27ef
Flags: 0x0000 (Standard query)
0... .... .... .... = Response: Message is a query
.000 0... .... .... = Opcode: Standard query (0)
.... ..0. .... .... = Truncated: Message is not truncated
.... ...0 .... .... = Recursion desired: Don't do query recursively
.... .... .0.. .... = Z: reserved (0)
.... .... ...0 .... = Non-authenticated data OK: Non-authenticated data is unacceptable
Первый ответ (через UDP):
Domain Name System (response)
[Request In: 1]
[Time: 0.078623000 seconds]
Transaction ID: 0x27ef
Flags: 0x8600 (Standard query response, No error)
1... .... .... .... = Response: Message is a response
.000 0... .... .... = Opcode: Standard query (0)
.... .1.. .... .... = Authoritative: Server is an authority for domain
.... ..1. .... .... = Truncated: Message is truncated
.... ...0 .... .... = Recursion desired: Don't do query recursively
.... .... 0... .... = Recursion available: Server can't do recursive queries
.... .... .0.. .... = Z: reserved (0)
.... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server
.... .... .... 0000 = Reply code: No error (0)
Второй вопрос (по TCP):
Domain Name System (query)
Length: 56
Transaction ID: 0xbc37
Flags: 0x0000 (Standard query)
0... .... .... .... = Response: Message is a query
.000 0... .... .... = Opcode: Standard query (0)
.... ..0. .... .... = Truncated: Message is not truncated
.... ...0 .... .... = Recursion desired: Don't do query recursively
.... .... .0.. .... = Z: reserved (0)
.... .... ...0 .... = Non-authenticated data OK: Non-authenticated data is unacceptable
Второй ответ (через TCP, обратите внимание на «желание рекурсии»):
Domain Name System (response)
[Request In: 6]
[Time: 0.147357000 seconds]
Length: 107
Transaction ID: 0xbc37
Flags: 0x8102 (Standard query response, Server failure)
1... .... .... .... = Response: Message is a response
.000 0... .... .... = Opcode: Standard query (0)
.... .0.. .... .... = Authoritative: Server is not an authority for domain
.... ..0. .... .... = Truncated: Message is not truncated
.... ...1 .... .... = Recursion desired: Do query recursively
.... .... 0... .... = Recursion available: Server can't do recursive queries
.... .... .0.. .... = Z: reserved (0)
.... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server
.... .... .... 0010 = Reply code: Server failure (2)
Да, это плохая конфигурация и / или реализация - у авторитетного сервера нет причин возвращать корневые ссылки в действительном ответе.
Кроме того, я вижу другие ошибки, которые просто не должны происходить на этих двух серверах Worldnic:
иногда это дает право ответ, но с SERVFAIL
код ошибки и без AA
бит установлен.
Ответы UDP всегда обрезаются до 512 байт, даже с EDNS0 (RFC 2671) указано. Это означает, что DNSSEC не будет работать с этим сервером имен.
Это не просто ADDITIONAL
раздел, это проблема, он помещает корневые серверы имен в AUTHORITY
раздел авторитетного (AA
бит установлен) ответ.