Какой DNS-сервер используется для привязки?

Я установил Bind9 в 14.04.1 и не вносил изменений в конфигурацию, я не трогал файлы в /etc. Это означает, что мой ноутбук является кеширующим DNS-сервером.

Мои вопросы:

  • где bind получает свой DNS?
  • К каким серверам я подключаюсь?

У меня нет серверов пересылки, установленных в файле конфигурации. В прошлом я использовал инструменты для измерения производительности, и Bind9 без серверов пересылки является самым быстрым, но где bind получает данные DNS?

1
задан 26 September 2014 в 06:29

2 ответа

Когда Ваш ноутбук получает IP-адрес из dhcp сервера в прошлом, это раньше обновляло файл /etc/resolv.conf.

В эти дни не то, чтобы простой. Выполнения Ubuntu dnsmasq по умолчанию. Это - кэширующийся сервер имен, который ускоряет Ваш просмотр веб-страниц. Таким образом, ответ на Ваш первый вопрос "От dnsmasq".

последовательность:

  • NetworkManager получает IP-адрес и сервер DNS и хранит IP-адрес сервера DNS в DBus

  • dnsmasq, захватывает тот IP-адрес от DBus и использует его для восходящих запросов, когда нет никакого удачного обращения в кэш.

можно узнать то, что является восходящим сервером DNS с командой sudo grep dnsmasq /var/log/syslog (или системный журнал 1 или любой из других повернутых системных журналов, если Вы загрузились давным-давно).

"надлежащий" подход был бы с командой:

sudo qdbus --system --literal org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/IP4Config/0 org.freedesktop.NetworkManager.IP4Config.Nameservers

Это выложит массив десятичных чисел как 17249034. Вы преобразовываете это для преобразовывания в шестнадцатеричную систему: 0107330a читают его, назад разделяя байты: 0a.33.07.01 и преобразовывают назад в десятичное число: 10.51.7.1, который является Вашим восходящим сервером DNS.

0
ответ дан 26 September 2014 в 06:29

у меня нет набора средств передачи в файле конфигурации. В прошлом я использовал инструменты для измерения уровня, и Bind9 без средств передачи является самым быстрым, но где, связывают получение, это - данные DNS?

, Если у Вас нет средств передачи настроенными, Свяжите, запрашивает корневые серверы имен . Это - 13 серверов* во всем мире, это ответственно за поддержание корня систем DNS.

Для получения списка корневых серверов имен работайте dig +short:

[~]$ dig +short
h.root-servers.net.
b.root-servers.net.
e.root-servers.net.
g.root-servers.net.
m.root-servers.net.
a.root-servers.net.
k.root-servers.net.
d.root-servers.net.
j.root-servers.net.
f.root-servers.net.
c.root-servers.net.
i.root-servers.net.
l.root-servers.net.

Они имеют очень стабильные адреса IP, таким образом, конфигурация по умолчанию, поставленная с, Связывает, содержит записи для всех этих тринадцати серверов. Информация содержится в /etc/bind/db.root.

, Учитывая запрос, свяжите, запросит один из корневых серверов имен для домена. Например, для example.org, корневой сервер имен ответит, что не знает, но Сервер имен .org мог бы знать и дать Вам список IP и названия серверов имен .org.

Связывают, затем продолжает запрашивать .org серверы имен, которые, вероятно, ответят, что они не знают, но они знают, какой сервер имен (запись NS) ответственен за example.org, и дайте Вам список IP и названия тех серверов имен. Наконец Свяжите, запросит NS для example.org и надо надеяться получит ответ.

, Как Вы видите, это включает по крайней мере три поиска, который является довольно медленным. Кэширующийся NS, такой как Google или Cloudflare будет кэшировать популярные имена и таким образом может ответить быстрее.

Это также показывает иерархическую сборку DNS. Корневые серверы содержат ссылки на серверы имен для Доменов Верхнего уровня. Собственные серверы имен TLD содержат записи NS для всех доменов, зарегистрированных под этим TLD и т.д.

*: существует больше чем 13 физических серверов. Но они логически появляются как 13 отличных серверов имен.

( другой ответ внимание на то, как клиент ОС обрабатывает DNS. Это не имеет никакого отношения, как Связывают, обрабатывает DNS.)

0
ответ дан 18 April 2019 в 16:09

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

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