Какая разница между пересылками resolv.conf и named.conf?

Поскольку я устранял неполадки в процессе создания DNS в Ubuntu, я заметил, что следующие файлы выглядят избыточными:

etc / bind / named.conf.options (или раздел named.conf в зависимости от настроек ваших файлов)

forwarders {
      1.2.3.4;
      5.6.7.8;
      9.10.11.12;
};

и т.д. / resolv.conf

domain example.com
nameserver 1.2.3.4
nameserver 5.6.7.8
nameserver 9.10.11.12

Обычно, когда такое наблюдение делается, я обнаруживаю, что делаю что-то неправильно, поэтому поправьте меня, если я ошибаюсь. Кажется, что named.conf любит иметь машины net ip, а resolv.conf должен иметь 127.0.0.1. Кроме этого, у них должны быть IP-адреса моих DNS-серверов, которые были бы одинаковыми. Спасибо за помощь.

1 ответ

Решение

Трудно ответить однозначно, поскольку я не знаю, чего вы пытаетесь достичь:

  • Вы хотите управлять частной зоной DNS, используя свой собственный сервер BIND?
  • Вы просто хотите, чтобы разрешение DNS работало правильно?
  • Вы пытаетесь настроить локальный кеш по соображениям производительности?

Если вы собираетесь запустить локальный DNS-преобразователь на вашем сервере, вы должны указать /etc/resolv.conf на локальный сервер BIND (127.0.0.1), и пусть BIND разрешается, начиная с корневых серверов имен, как и любой другой сервер имен. Нет записей "экспедиторов", необходимых в вашем named.conf, Строго говоря, вы бы немного уменьшили нагрузку на корневые серверы имен, оставив записи "пересылки" на месте.

Если вы просто пытаетесь настроить разрешение DNS на своем компьютере, но вам не нужно запускать DNS-сервер самостоятельно, не беспокойтесь о named.conf и просто указать /etc/resolv.conf на DNS-серверах вашего провайдера.

РЕДАКТИРОВАТЬ:

Мне кажется, я не ответил на вопрос в вашем названии.

  • /etc/resolv.conf это файл, используемый библиотеками распознавателя на вашем компьютере (часть libc), которые используются каждой отдельной программой для запроса поиска DNS. Когда ваш веб-браузер хочет выполнить поиск DNS, он вызывает gethostbyname('www.blah.com') (или одно из его производных). Эта функция делает кучу вещей, среди которых чтение /etc/resolv.conf и используя его, чтобы выяснить, с какого DNS-сервера он может выполнить поиск.

  • /etc/named.conf используется BIND. Обычно, когда вы делаете запрос в BIND, он проверяет свой локальный кеш и, если у него нет anser, он запрашивает один из корневых серверов имен. Корневые серверы "делегируют" (обычно) GTLD или сервер уровня страны. Затем эти серверы будут делегированы владельцу домена. Обычно это останавливается на этом, но иногда есть еще один или два уровня делегирования для поддоменов. Это добавляет до 3 - 5 запросов, чтобы получить ответ. Затем ответ добавляется в локальный кеш и возвращается запрашивающему клиенту. Если вы укажете "пересылку", BIND просто сделает один запрос к одному из перечисленных хостов (обычно это DNS-серверы вашего провайдера) и позволит им выполнить всю тяжелую работу. Он получает ответ на свой единственный запрос и передает ответ клиенту.

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