Почему корневые серверы DNS не отвечают?

Если я пытаюсь запросить корневой сервер с digЯ никогда не получаю ответ.

Например, вывод для dig @b.root-servers.net www.ubuntu.com является

; << >> DiG 9.8.1-P1 << >> @ b.root-servers.net www.ubuntu.com

; (Найден 1 сервер)

;; глобальные параметры: + cmd

;; время соединения истекло; серверы недоступны

Но если я запрашиваю другие серверы (один из моего провайдера, или 8.8.8.8), они отвечают правильно. Зачем?

PS Используя Wireshark, я могу видеть исходящие запросы на правильный IP-адрес корневого сервера, но нет входящих пакетов с того же IP.

2 ответа

Решение

Похоже, ваш интернет-провайдер должен блокировать доступ к корневым серверам имен. Очевидно, они не блокируют доступ к своим собственным распознавателям и, вероятно, освобождают пару других популярных внешних преобразователей, таких как Google Public DNS, но могут блокировать все domain-порт доступа в противном случае.

Это распространено? Это зависит. Я думаю, что такие блоки довольно часто присутствуют в университетских и корпоративных сетях, но я бы сказал, что это не должно быть особенно распространенным явлением среди постоянных поставщиков жилья. (Большинство провайдеров блокируют исходящие smtp-порт, однако.)

Зачем кому-то блокировать внешние серверы имен? Это, вероятно, связано с различными атаками типа "человек посередине", которые возможны, если законные серверы имен заменяют скомпрометированные. Чтобы избежать подобных атак и уменьшить количество жалоб пользователей, большинство провайдеров обычно перенаправляют все domain- переносить запросы на свои собственные серверы: когда они это делают, вы больше не можете запускать свой собственный рекурсивный сервер или делать dig +trace устранение неполадок, но по крайней мере вам не пришлось бы менять настройки DNS в противном случае.

В любом случае, в самой вашей команде нет ничего плохого: вы должны получить ответ, как показано ниже, который позволит вам сделать еще один запрос на ручном рекурсивном пути к разрешению данного имени.

# dig @b.root-servers.net www.ubuntu.com

; <<>> DiG 9.7.3 <<>> @b.root-servers.net www.ubuntu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20828
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 14
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.ubuntu.com.                        IN      A

;; AUTHORITY SECTION:
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net.     172800  IN      A       192.5.6.30
b.gtld-servers.net.     172800  IN      A       192.33.14.30
c.gtld-servers.net.     172800  IN      A       192.26.92.30
d.gtld-servers.net.     172800  IN      A       192.31.80.30
e.gtld-servers.net.     172800  IN      A       192.12.94.30
f.gtld-servers.net.     172800  IN      A       192.35.51.30
g.gtld-servers.net.     172800  IN      A       192.42.93.30
h.gtld-servers.net.     172800  IN      A       192.54.112.30
i.gtld-servers.net.     172800  IN      A       192.43.172.30
j.gtld-servers.net.     172800  IN      A       192.48.79.30
k.gtld-servers.net.     172800  IN      A       192.52.178.30
l.gtld-servers.net.     172800  IN      A       192.41.162.30
m.gtld-servers.net.     172800  IN      A       192.55.83.30
a.gtld-servers.net.     172800  IN      AAAA    2001:503:a83e::2:30

;; Query time: 12 msec
;; SERVER: 192.228.79.201#53(192.228.79.201)
;; WHEN: Sat Jan 12 22:52:12 2013
;; MSG SIZE  rcvd: 492

Корневые серверы должны ответить на ваш вопрос для раскопок с ответом, где вы можете найти.com. b.root-servers.net не отвечает, возможно, причина в том, что ваш файл корневых ссылок устарел. Попробуйте обновить этот файл.

Другие вопросы по тегам