Назад | Перейти на главную страницу

Почему не отвечают корневые серверы 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), они отвечают правильно. Зачем?

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

Похоже, ваш интернет-провайдер должен заблокировать доступ к корневым серверам имен. Они, очевидно, не блокируют доступ к своим собственным преобразователям, и они, вероятно, освобождают пару других популярных внешних преобразователей, таких как 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 не отвечает, может заключаться в том, что ваш файл корневых подсказок устарел. Попробуйте обновить этот файл.