Согласно статье Википедии омеханизм разрешения адресовDNS должен быть"файл подсказки"в моей ОС где-то, содержащий IP-адреса нескольких"корневые серверы имен".
Как просмотреть этот файл подсказок в Ubuntu?
решение1
Вы не найдете этот файл подсказок на каждом компьютере. Обычно он нужен только при запуске сервера имен, например BIND, Unbound и т. д. Этим серверам имен нужна информация о корневых серверах.
Если вы хотите узнать, как выглядит такой файл подсказок, вы можете перейти по ссылкеftp://ftp.rs.internic.net/домен/и скачать файлdb.cache. Вы также можете ввести команду
dig . ns
чтобы получить содержимое файла подсказок.
Когда вы делаете DNS-запрос, ваш компьютер обычно /etc/hosts
сначала запрашивает ваш файл. Если он не находит ответа там, он запросит /etc/resolv.conf
ответ у сервера имен (см. содержимое ). Затем сервер имен либо сохранит ответ в своем кэше, либо запросит корневые серверы, а затем и другие серверы имен, пока не придет правильный ответ. Поэтому нет необходимости в файле подсказок на вашем локальном компьютере.
решение2
Большинство DNS-серверов по умолчанию настроены с «корневым файлом» (он же «файл подсказок»), указывающим на «устаревшие корневые серверы», которые контролируются ICANN.
Это дает вам доступ к «устаревшему пространству доменных имен», которое включает .com, .net, .org, двухбуквенные коды стран и т. д.
Если DNS-сервер не знает адрес запрашиваемого сайта, то он перешлет запрос на другой DNS-сервер. Для этого DNS-сервер должен знать IP-адрес другого DNS-сервера, на который он может переслать запрос. Это работа корневых ссылок. Корневые ссылки предоставляют список IP-адресов DNS-серверов, которые считаются авторитетными на корневом уровне иерархии DNS (также известных как корневой сервер имен).
Самый простой способ, как указал qbi в своем ответе, — использовать dig. Сначала запустите dig сам по себе, и вы получите root.hints в соответствии с вашим назначенным сервером. Затем запросите один из перечисленных корневых серверов с помощью dig @rootserver
. Вы заметите, что вывод похож на файл root.hints. Сохраните его в файл ( dig @a.public-root.net . ns >root.hints.new
) и замените им старый root.hints.
Если вы хотите вернуться к исходному файлу, просто удалите текущий файл и перезапустите DNS-сервер. Он автоматически восстановит исходный файл.
Источник: Часть информации получена из DNS и BIND, 5-е издание.