Настройка сервера dns: Настройка DNS для Dedicated (выделенного сервера)

Содержание

Настройка DNS для Dedicated (выделенного сервера)

В инструкциях ниже описано, как настроить DNS для выделенного сервера. Убедитесь, что у вас заказана аренда выделенного сервера. С помощью этой инструкции можно объединить виртуальные машины одного контейнера в локальную сеть без выхода в интернет.

Первый способ

Если домен находится на обслуживании в компании REG.RU, вы можете воспользоваться бесплатными DNS-серверами: ns1.reg.ru и ns2.reg.ru:

  1. 1.

    Авторизуйтесь на сайте REG.RU, перейдите в раздел «Мои домены и услуги» и кликните на имя домена.

  2. 2.

    В блоке «Управление» выберите пункт DNS-серверы и управление зоной.

  3. 3.

    Выберите пункт Добавить запись и выберите запись типа A. Для привязки домена в поле «Subdomain» впишите @, в поле «IP Address» впишите IP-адрес сервера. Для привязки домена с префиксом www в поле «Subdomain» впишите www, а в поле «IP Address» впишите IP-адрес сервера.

Другой регистратор

Если домен находится у другого регистратора, пожалуйста, обратитесь к нему с вопросами настройки зоны на IP-адрес вашего сервера. Сообщите, что вам требуется добавить в зону домена следующие записи:
@ A IP-адрес выделенного сервера
www A IP-адрес выделенного сервера

Второй способ

Вы можете воспользоваться бесплатной поддержкой DNS, входящей в стандартный пакет услуг «Reg.Dedicated». Для этого вам предоставляется удобный интерфейс для управления зоной на базе ISPmanager и DNSmanager. При пользовании данной услугой у вашего регистратора для домена в качестве DNS-серверов необходимо прописывать: ns5.hosting.reg.ru и ns6.hosting.reg.ru.

Если вместе с услугой «Аренда сервера» вы заказали панель управления ISPmanager

  1. 1.

    Зайдите в вашу панель управления ISPmanager с правами администратора.

  2. 2.

    В левом меню перейдите в раздел Доменные имена или Управление DNS.

  3. 3.

    Нажмите на DNSmanager.

  4. 4.

    Нажмите Создать.

  5. 5.

    В поле «URL панели управления» введите https://ns5.hosting.reg.ru/manager/dnsmgr.

  6. 6.

    В поле «Пользователь» введите ваш логин вида d0000000.

  7. 7.

    В поле «Пароль» введите ваш пароль для доступа к DNS (не следует путать его с паролем пользователя root).

  8. 8.

    Нажмите ОК.

  9. 9.

    Повторите операцию добавления вторичного сервера имён для адреса https://ns6.hosting.reg.ru/manager/dnsmgr.

  10. 10.

    В левом меню перейдите в раздел Доменные имена или Управление DNS и нажмите на Настройки по умолчанию.

  11. 11.

    В поле «Серверы имён» введите ns5. hosting.reg.ru. и ns6.hosting.reg.ru..

  12. 12.

    Поставьте галочку «Применить к существующим».

  13. 13.

    Нажмите ОК.

Теперь при создании домена в панели управления вашим сервером домен будет автоматически создан на вторичных серверах ns5.hosting.reg.ru и ns6.hosting.reg.ru, которые вы сможете прописать как DNS-сервера для данного домена у вашего регистратора.

Выделенный сервер в качестве первичного DNS-сервера

Если вы не заказывали панель управления ISPmanager и хотите, чтобы ваш выделенный сервер выступал в качестве первичного DNS-сервера, для вас предусмотрен интерфейс управления вторичными серверами имён:

  1. 1.

    Зайдите в панель управления DNSmanager (https://ns5.hosting.reg.ru/manager/dnsmgr), используя логин вида d0000000 и пароль для доступа к DNS (не следует путать его с паролем пользователя root).

  2. 2.

    Перейдите в раздел «Доменные имена».

  3. 3.

    Нажмите на Создать новый домен.

  4. 4.

    В поле «Имя домена» введите имя добавляемого вами домена.

  5. 5.

    В поле «IP первичного NS» введите IP-адрес вашего выделенного сервера.

  6. 6.

    Нажмите ОК.

  7. 7.

    Повторите операцию добавления домена на втором сервере (https://ns6.hosting.reg.ru/manager/dnsmgr).

Интерфейс управления первичным сервером имён

Если вы не хотите, чтобы ваш выделенный сервер выступал в качестве первичного DNS-сервера, для вас предусмотрен интерфейс управления первичным сервером имен:

  1. 1.

    Зайдите в панель управления DNS Admin, используя логин вида d0000000 и пароль для доступа к DNS (не следует путать его с паролем пользователя root).

  2. 2.

    Перейдите в раздел «Доменные имена».

  3. 3.

    Нажмите на Создать новый домен.

  4. 4.

    В поле «Доменное имя» введите имя добавляемого вами домена.

  5. 5.

    В поле «IP-адрес» введите IP-адрес вашего выделенного сервера;

  6. 6.

    Нажмите ОК.

Создать свои собственные DNS-серверы на базе домена:

а) необходимо иметь основной IP вашего выделенного сервера и дополнительный, полученный при подключении услуги «Дополнительный IP адрес на ваш выбор»;

b) необходимо настроить свои DNS-серверы в ISPManager:

  1. 1.

    Зайдите в вашу панель управления ISPmanager с правами администратора.

  2. 2.

    Откройте раздел Управление DNS или Доменные имена и нажмите Настройки по умолчанию:

  3. 3.

    В поле «Серверы имён» укажите два DNS-сервера:
    ns1.yourdomain.ru., ns2.yourdomain.ru.:

  4. 4.

    Сохраните изменения.

В первый раз при делегировании вашего основного домена на выделенный сервер нужно помимо имён серверов указать IP-адреса для каждого ns-сервера. В дальнейшем при делегировании новых доменов на выделенный сервер достаточно будет указывать только ns1.yourdomain.ru., ns2.yourdomain.ru..

c) У своего регистратора прописать для домена yourdomain.ru DNS-сервера: ns1.yourdomain.ru и ns2.yourdomain.ru, а также IP-адреса для каждого ns-сервера.

Как добавить домен на выделенный сервер (Dedicated)

Управление зоной домена происходит на DNS-серверах, указанных для него. Вы можете посмотреть DNS-серверы вашего домена, воспользовавшись инструкцией Как узнать, какие DNS-серверы прописаны для домена.

  • Если для вашего домена указаны ns1.reg.ru и ns2.reg.ru, управление зоной происходит на странице домена в Личном кабинете. Посмотрите инструкцию: Настройка ресурсных записей DNS для домена;

  • Если для вашего домена указаны ns5.hosting.reg.ru и ns6.hosting.reg.ru, управление зоной домена на Dedicated сервере происходит или в панели управления ISPmanager, или в панели DNSadmin.

Если домен был добавлен в панели управления ISPmanager

В этом случае управление зоной домена происходит в ISPmanager: откройте панель управления — и перейдите в раздел Управление DNS или Доменные имена. Выберите домен и нажмите кнопку Управлять DNS записями. Там вы сможете создавать, редактировать и удалять ресурсные записи для домена:

Если домен был добавлен в панели DNSadmin

В этом случае управление зоной домена происходит в панели DNSadmin. Чтобы войти в панель, используйте логин и пароль для доступа к DNS. Их можно узнать, воспользовавшись инструкцией: Где можно увидеть доступы к Dedicated (выделенному серверу).

Управление ресурсными записями происходит в разделе Доменные имена — Записи:

Если домен был добавлен в панели DNSmanager

Это два сервера: https://ns5.hosting.reg. ru и https://ns6.hosting.reg.ru. Через них управлять зоной можно только в том случае, если домен был добавлен как «master» (Dedicated выступает в качестве вторичного DNS):

Если кликнуть на Записи, вы попадёте на страницу редактирования записей домена:

Если же домен был добавлен как «slave», то это означает, что Dedicated выступает в качестве первичного DNS, и редактировать зону необходимо непосредственно на нём.

Вы не помните, как привязывали домен к Dedicated

Если вы не помните, где именно добавляли домен, то просто проверьте поочерёдно:

  • панель управления сервером ISPmanager: Как открыть панель управления ISPmanager на выделенном сервере;

  • панель управления DNSadmin. Войдите в неё, используя логин и пароль для доступа к DNS:

  • панель управления DNSmanager. Войдите в неё, используя логин и пароль для доступа к DNS:

Помогла ли вам статья?

Да

1
раз уже
помогла

Настройка дополнительного сервера имен — Windows Server





Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья

  • Чтение занимает 3 мин

В этой пошаговой статье описывается настройка дополнительного DNS-сервера.

Применяется к: Windows Server 2003
Исходный номер базы знаний: 816518

Определение дополнительного сервера имен

На основном DNS-сервере определите дополнительный сервер имен. Для этого выполните следующие действия:

  1. Нажмите кнопку Пуск, последовательно выберите пункты Администрирование и DNS.

  2. В дереве консоли разверните имя узла (где имя узла — это имя узла DNS-сервера).

  3. В дереве консоли разверните зоны прямого просмотра.

  4. Щелкните правой кнопкой мыши нужной зоны (например, example.com), а затем выберите пункт «Свойства».

  5. Откройте вкладку «Серверы имен » и нажмите кнопку » Добавить».

  6. В поле полного доменного имени (FQDN) сервера введите имя узла сервера, который требуется добавить.

    Например, введите .namesvr2.example.com

  7. В поле IP-адреса введите IP-адрес сервера имен, который нужно добавить (например, 192.168.0.22), а затем нажмите кнопку «Добавить».

  8. Щелкните ОК, а затем щелкните ОК.

  9. В дереве консоли щелкните «Зоны обратного просмотра», щелкните правой кнопкой мыши зону и выберите пункт «Свойства».

  10. Откройте вкладку «Серверы имен » и нажмите кнопку » Добавить».

  11. В поле имени сервера введите имя узла сервера, который требуется добавить.

    Например, namesvr2.example.com.

  12. В поле IP-адреса введите IP-адрес сервера имен, который нужно добавить (например, 192.168.0.22), а затем нажмите кнопку «Добавить».

  13. Два раза нажмите кнопку ОК.

Установка DNS на сервере дополнительных имен

Чтобы установить службу DNS, выполните следующие действия.

  1. Войдите в систему с учетной записью администратора.

  2. Нажмите кнопку «Пуск», наведите указатель на панель управления и выберите команду «Добавить или удалить программы».

  3. Нажмите кнопку «Добавить\Удалить компоненты Windows».

  4. В списке компонентов щелкните « Сетевые службы» (не щелкните, чтобы выбрать или снять флажок), а затем нажмите кнопку » Сведения».

  5. Установите флажок «Система доменных имен(DNS) и нажмите кнопку «ОК «.

  6. На странице «Компоненты Windows » нажмите кнопку » Далее».

  7. При появлении запроса вставьте компакт-диск Windows 2003 Server и нажмите кнопку » ОК».

  8. На странице «Завершение работы мастера компонентов Windows » нажмите кнопку «Готово».

  9. Нажмите кнопку Закрыть.

    Теперь DNS установлена. Чтобы запустить оснастку DNS, нажмите кнопку «Пуск«, выберите пункт «Администрирование » и » DNS».

Настройка зоны прямого поиска

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

  1. Войдите на дополнительный сервер имен с правами администратора.
  2. Нажмите кнопку Пуск, последовательно выберите пункты Администрирование и DNS.
  3. В дереве консоли в разделе DNS щелкните имя узла (где имя узла — это имя узла DNS-сервера).
  4. В дереве консоли щелкните «Зоны прямого просмотра».
  5. Щелкните правой кнопкой мыши зоны прямого просмотра и выберите команду » Создать зону».
  6. Когда запустится мастер создания зоны, нажмите кнопку «Далее «, чтобы продолжить.
  7. Щелкните «Вторичная зона» и нажмите кнопку «Далее».
  8. В поле «Имя » введите имя зоны (например, example.com)и нажмите кнопку » Далее».
  9. На странице «Главные DNS-серверы» введите IP-адрес основного сервера имен для этой зоны, нажмите кнопку «Добавить«, нажмите кнопку «Далее» и нажмите кнопку «Готово».

Настройка зоны обратного просмотра

Чтобы настроить зону обратного просмотра на сервере вторичных имен, выполните следующие действия.

  1. Нажмите кнопку Пуск, последовательно выберите пункты Администрирование и DNS.

  2. В дереве консоли щелкните имя узла (где имя узла — это имя узла DNS-сервера).

  3. В дереве консоли щелкните «Зоны обратного просмотра».

  4. Щелкните правой кнопкой мыши зоны обратного просмотра и выберите команду «Создать зону».

  5. Когда запустится мастер создания зоны, нажмите кнопку «Далее «, чтобы продолжить.

  6. Щелкните «Вторичная зона» и нажмите кнопку «Далее».

  7. В поле «Идентификатор сети » введите сетевой идентификатор (например, 192.168.0), а затем нажмите кнопку «Далее».

    Примечание.

    Идентификатор сети — это часть TCP/IP-адреса, относящейся к сети.

    Дополнительные сведения о сетях TCP/IP см. в статье «Основные сведения о TCP/IP-адресов и подсетях».

  8. На странице файла зоны нажмите кнопку «Далее» и нажмите кнопку «Готово».

Устранение ошибки: зона не загружена DNS-сервером

При выборе зоны на сервере вторичных имен может появиться следующее сообщение об ошибке в правой области окна DNS:

Зона, не загруженная DNS-сервером

При попытке загрузить зону на DNS-сервере произошла ошибка.
Сбой передачи данных зоны с главного сервера.

Эта проблема может возникнуть, если передача между зонами отключена. Чтобы устранить эту проблему, выполните следующие действия.

  1. Войдите на основной компьютер сервера имен с правами администратора.

  2. Нажмите кнопку Пуск, последовательно выберите пункты Администрирование и DNS.

  3. В дереве консоли щелкните имя узла (где имя узла — это имя узла DNS-сервера).

  4. В дереве консоли щелкните «Зоны прямого просмотра».

  5. В разделе «Зоны прямого просмотра» щелкните правой кнопкой мыши зону, которую хотите (например, example.com), и выберите пункт «Свойства».

  6. Перейдите на вкладку «Передача зоны «.

  7. Установите флажок «Разрешить передачу зоны» и выберите один из следующих вариантов:

    • На любой сервер
    • Только для серверов, перечисленных на вкладке «Серверы имен»
    • Только для следующих серверов.

    Примечание.

    Если щелкнуть только следующие серверы, введите IP-адрес дополнительного сервера имен в поле IP-адреса и нажмите кнопку «Добавить».

  8. Чтобы выполнить поиск абонентской группы для пользователя в поле Абонентская группа (телефонный контекст), нажмите кнопку Обзор.

  9. Закройте оснастку DNS.

Устранение неполадок с DNS

Для устранения неполадок и получения сведений о конфигурации DNS используйте служебную программу Nslookup .

Дополнительные сведения об установке и настройке DNS см. в разделе «Установка и настройка DNS-сервера в Windows Server 2003».






Создайте свой собственный DNS-сервер в Linux

В предыдущей статье этой серии, состоящей из двух частей, «Введение в DNS (систему доменных имен)» я описал, как структурирована база данных DNS и как настроить службы имен на клиенте. Я также перечислил и описал некоторые наиболее распространенные записи DNS, с которыми вы, вероятно, столкнетесь при создании сервера имен или просто пытаетесь интерпретировать результаты команды dig .

В этой статье я покажу вам, как создать свой собственный сервер имен, используя BIND (домен имен в Интернете Беркли). Это не так сложно, как вы думаете, особенно потому, что вы можете сделать это в два этапа.

В этой статье вы начнете с изучения того, как создать кэширующий сервер имен, а затем перейдете к изучению того, как обновить его до полноценного основного (главного) сервера доменных имен для вашей сети с прямой и обратной зонами. файлы.

Настройка DNS-сервера с помощью BIND

Настройка DNS-сервера с помощью BIND довольно проста, поэтому я покажу вам, как это сделать на любом компьютере, доступном для экспериментов. Этот небольшой лабораторный проект покажет вам, как установить и настроить BIND на вашем компьютере в качестве кэширующего сервера имен, протестировать его, а затем настроить как первичный сервер имен с файлом зоны, который вы можете использовать в качестве преобразователя имен для вашей сети или просто для тестирования.

Настройка сервера имен на любом имеющемся у вас компьютере GNU/Linux технически возможна, поскольку он не будет мешать другим хостам в сети или их работе. Однако вам, вероятно, не следует делать это на компьютере, которым вы не владеете или не имеете права изменять, если у вас нет явного разрешения на это.

Моя установка

Вам нужен только один компьютер для выполнения всех задач, кроме одной, в этом лабораторном проекте. Я использую эту настройку на своем гораздо более мощном ThinkPad, потому что серверы имен, предоставляемые DHCP (протокол динамической конфигурации хоста), когда я подключаюсь к не домашним сетям с использованием проводных или беспроводных подключений, иногда могут быть ненадежными. Чтобы показать, что почти любой хост может хорошо работать в качестве сервера имен, я протестировал этот проект на старом ASUS EeePC 9.00 нетбук.

Я буду использовать частный IP-адрес моего ASUS для этого проекта, но вы должны использовать IP-адрес хоста, который вы используете.

Файл hosts

Сначала давайте взглянем на файл /etc/hosts . В состоянии по умолчанию в файле hosts должно быть только две строки, первые две строки показаны в листинге 1 ниже.

  

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

# лабораторные хосты
192.168.25.1 Сервер
192.168.25.21 HOST1
192.168.25.22 HOST2
192.168.25.23 HOST3
192.168.25.24 HOST4

.168.25.24 HOST4

.168.25.24. резолвера в небольших сетях.

Хотя вы можете добавлять имена хостов и их соответствующие IP-адреса, как показано в листинге 1, это не оптимальное решение для служб имен, особенно во время путешествий. Если в вашем файле hosts есть другие записи, вам может потребоваться закомментировать их на время этого проекта, если они мешают именованию или IP-адресам. У большинства из вас не будет никаких записей, кроме двух строк по умолчанию.

Подготовка

Кэширующий сервер имен не может заменить использование вами /etc/hosts для разрешения имен хостов во внутренней сети; однако по сравнению с использованием ISP или другого общедоступного сервера имен кэширующий сервер имен может повысить производительность при разрешении часто используемых внешних имен, таких как www.cnn.com. Самое приятное то, что настроить кэширующий сервер имен довольно просто.

Перед запуском необходимо подготовиться, выполнив следующие действия.

Сначала сделайте резервные копии файлов /etc/hosts , /etc/named.conf , resolv.conf и /etc/sysconfig/iptables .

Если они еще не установлены, используйте диспетчер пакетов вашего дистрибутива для установки следующих RPM-пакетов BIND: bind , bind-chroot и bind-utils . Чтобы ваш лабораторный хост мог использовать кеширующий сервер имен, вы должны добавить строку сервера имен, указывающую на ваш собственный хост в /etc/resolv.conf . Например, если IP-адрес хоста вашей лаборатории равен 192.168.0.203, как и мой EPC , добавьте следующую строку в верхнюю часть списка серверов имен в /etc/resolv.conf :

   Сервер имени 192.168.0.203   

. используйте IP-адрес хоста, на котором вы делаете этот проект.

Вы можете использовать IP-адрес вашего локального хоста, 127.0.0.1, вместо внешнего IP-адреса. Вы также должны закомментировать все строки, указывающие на другие хосты в качестве серверов имен. Обязательно сохраните исправленное файл resolv.conf .

Эти изменения вступят в силу немедленно и не требуют перезагрузки или перезапуска службы. Теперь попробуйте пропинговать общий общедоступный хост, который не блокирует пакеты ICMP (Internet Control Message Protocol); не стесняйтесь использовать мой брандмауэр, который является Raspberry Pi.

   ping wally2.both.org   

Вы должны получить сообщение об ошибке «неизвестный хост» или «имя или служба неизвестны», поскольку в настоящее время у вас нет работающей службы DNS или преобразователя, определенного в файле resolv.conf. Теперь используйте 9Команда 0003 dig , чтобы проверить, работают ли службы имен.

   dig wally2.both.com   

Вы должны получить сообщение об ошибке «Время ожидания подключения истекло; нет доступа к серверам».

Настройка кэширующего сервера имен

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

Примечание. В файле named.conf особое внимание уделяется синтаксису и особенно пунктуации. Точки с запятой используются для обозначения конца записи и конца строфы, а также конца строки. Обязательно добавьте их правильно, как показано в примерах.

Для первоначальной настройки кэширующего сервера имен необходимо внести пару изменений в файл по умолчанию /etc/named.conf, поэтому отредактируйте этот файл в своем любимом редакторе. Сначала добавьте IP-адрес вашего локального тестового хоста в строку «прослушивание порта 53», как показано в листинге 2 ниже. Это позволяет с именем для прослушивания внешнего IP-адреса вашего хоста, чтобы другие компьютеры также могли использовать его в качестве сервера имен.

По умолчанию BIND обращается к корневым серверам имен Интернета, чтобы найти авторитетные серверы имен для домена. Можно указать другие серверы, называемые «переадресаторами», на которые локальный экземпляр BIND будет отправлять запросы вместо корневых серверов. Это увеличивает вероятность перехвата DNS.

Добавьте строку «экспедиторы», как показано ниже. Это сообщает вашему кэширующему DNS-серверу, где получить IP-адреса, если они еще не кэшированы локально. IP-адреса в приведенном ниже списке предназначены для общедоступных DNS-серверов Google. Вы можете использовать своего местного интернет-провайдера, OpenDNS или какой-либо другой общедоступный сервер имен в качестве переадресации. Нет необходимости определять какие-либо серверы пересылки, и в этом случае BIND будет использовать корневые серверы Интернета, как указано в файле 9.0003 /var/named/named.ca , чтобы найти авторитетные серверы имен для доменов, если не определены серверы пересылки. Но для этого упражнения определите серверы пересылки, как показано в листинге 2.

Закомментируйте строку IPV6, поскольку мы не используем IPV6 в лабораторной среде. Обратите внимание, что две косые черты «//» обозначают комментарии в файле named.conf .

  

//
// named.conf
// Предоставляется пакетом связывания Red Hat для настройки ISC BIND named(8) DNS
// сервер как кэширующий только сервер имен (только как DNS-преобразователь локального хоста).
// См. /usr/share/doc/bind*/sample/ примеры именованных файлов конфигурации.
//
//

options {
        порт прослушивания 53 { 127.0.0.1; 192.168.0.203; };
//      прослушивание порта v6 53 { ::1; };
        серверы пересылки { 8.8.8.8; 8.8.4.4; };
        каталог       "/var/named";
        файл дампа       "/var/named/data/cache_dump.db";
        файл статистики "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; 192.168.0.0/24; };
        рекурсия да;

        dnssec-enable да;
        проверка dnssec да;
        dnssec-lookaside auto;

        /* Путь к ключу ISC DLV */
        bindkeys-file "/etc/named.iscdlv.key";

        каталог управляемых ключей "/var/named/dynamic";
};
ведение журнала {
        канал default_debug {
                файл "data/named. run";
                динамическая серьезность;
        };
};
зона "." IN {
        тип подсказки;
        файл "named.ca";
};
включает "/etc/named.rfc1912.zones";
включить "/etc/named.root.key";

Листинг 2. Файл /etc/named.conf содержит простую конфигурацию, необходимую для настройки кэширующего сервера имен. Строки, которые необходимо добавить или изменить, выделены жирным шрифтом.

Добавьте локальный сетевой адрес 192.168.0.0/24 в строку allow-query . В этой строке указываются сети, из которых DNS-запросы будут приниматься этим DNS-сервером.

Запустите службу имен

Теперь запустите названную службу и настройте ее так, чтобы она запускалась при каждой загрузке. Я использую команду systemctl на моем хосте Fedora, но команда может отличаться на вашем хосте, в зависимости от используемого вами дистрибутива. Обратите внимание, что имя службы распознавателя BIND носит имя.

  

systemctl enable named
systemctl start named

Первый тест, который вы можете выполнить, чтобы убедиться, что ваш кеширующий сервер имен работает, это использовать dig для поиска информации базы данных DNS для wally2.both.org. Для дальнейшего тестирования кэширующего сервера имен используйте команду dig , чтобы получить IP-адрес(а) некоторых распространенных интернет-сайтов, таких как www.opensource.com, CNN, Wired и любых других, которые вам нравятся. Теперь результаты должны показывать ваш хост в качестве отвечающего сервера.

На этом этапе ваш кеширующий сервер имен будет правильно разрешать хосты в Интернете, потому что эти DNS-запросы для общедоступных хостов перенаправляются на общедоступные серверы имен Google — см. строку «forwarders» в named.conf . Однако вы по-прежнему зависите от файла /etc/hosts для внутренних служб имен. Создание основного сервера имен может решить эту проблему.

Создание первичного сервера имен

После создания кэширующего сервера имен его преобразование в полноценный первичный сервер имен не представляет особых трудностей. Первичный сервер имен является авторитетным источником для домена, который он представляет.

Вам нужно снова изменить named.conf и создать пару новых файлов. Вы создадите домен с именем Example.com, который является доменным именем, зарезервированным для примера в документах, подобных этому. У домена Example.com есть IP-адрес в Интернете и очень редкий веб-сайт, но вы можете использовать это имя в остальной части своего лабораторного проекта, не создавая проблем ни для кого. В оставшейся части этого упражнения вы будете использовать домен Example.com в качестве внутреннего доменного имени.

Два новых файла, которые вы создадите, — это файлы прямой и обратной зон, которые вы поместите в каталог /var/named . Это расположение указывается директивой «каталог» в файле конфигурации named. conf .

Создайте файл зоны переадресации

Файл зоны переадресации содержит записи «A», которые связывают имена хостов в зоне, также называемой доменом, с их соответствующими IP-адресами. Он также может содержать записи CNAME, которые являются псевдонимами реальных имен хостов в записях A, и записи MX для почтовых серверов.

Создайте базовый файл зоны переадресации, /var/named/example.com.zone , и добавьте в него следующие строки. Когда вы закончите, ваш файл зоны должен выглядеть как пример файла зоны в листинге 3 ниже.

  

; Официальные данные для зоны example.com
;
$TTL 1D
@   IN SOA  epc.example.com   root.epc.example.com. (
                                   2017031301      ; серийный номер
                                       1D                  0031                                      1H              ; повторная попытка
                                   1W              ; expire
                                   3H )            ; минимум

$ORIGIN         example. com.
example.com. В      NS      epc.example.com.
EPC на сервере 127.0.0.1
в 192.168.25.1
www в Cname Server
Mail in Cname Server
Test1 в 192.168.25.21
T1 в тесте Cname1
Test2 в 192.168.25.22
Test3 в 192.168.25.23
Test4 в 192.168.25.24

; MX-запись почтового сервера
example.com. IN      MX      10      mail.example.com.

Листинг 3: Файл зоны пересылки для домена Example.com содержит имена хостов и их IP-адреса для этого домена.

Первая строка без комментариев в листинге 3 — это спецификатор Time to Live, который в данном случае равен одному дню для всех записей, для которых не указано иное. Д означает День. Спецификаторы в строке SOA (Start of Authority) столь же очевидны. Детали параметров в записи SOA подробно описаны здесь.

Запись NS должна иметь полное доменное имя (полное доменное имя) хоста, на котором вы выполняете этот лабораторный проект. Также в файле должна быть запись A с действительным IP-адресом хоста. В этом случае вы должны использовать IP-адрес локального хоста 127.0.0.1.

Записи, показанные выше, дадут вам несколько имен хостов, с которыми можно поэкспериментировать.

Обязательно используйте сегодняшнюю дату и добавьте счетчик, начинающийся с 01, для серийного номера. Приведенный выше серийный номер является первым изменением от 4 марта 2017 г. Серийный номер увеличивается при каждом изменении файла зоны. Если бы существовали вторичные серверы имен, которые использовали этот сервер в качестве основного, они бы не обновлялись, пока серийный номер не будет увеличен.

Добавить файлы зоны переадресации в named.conf

Прежде чем ваш DNS-сервер заработает, вам необходимо создать запись в /etc/named.conf , которая будет указывать на ваш новый файл зоны. Добавьте следующие строки под записью для зоны подсказок верхнего уровня, но перед строками «включить».

  

зона "example.com" IN {
        тип master;
        файл "example. com.zone";
};

Листинг 4. Добавьте эти строки в файл named.conf, чтобы добавить файл зоны Example.com в конфигурацию преобразователя.

Теперь перезапустите с именем , чтобы эти изменения вступили в силу. Протестируйте свой сервер имен, используя команды dig и nslookup , чтобы получить IP-адреса для хостов, которые вы настроили в файле зоны переадресации. Обратите внимание, что хост не обязательно должен существовать в сети, чтобы команды dig и nslookup возвращали IP-адрес.

  

копать test1.example.com
копать t1.example.com
копать mx example.com
dig mail.example.com
nslookup test3.example.com
dig www.amazon.com

Имейте в виду, что использование полного доменного имени для этих команд необходимо, за исключением команды nslookup , если домен и поиск записи Example. com представлены в файле /etc/resolv.conf . В данном случае это, вероятно, не так, поэтому просто используйте полные доменные имена для всех тестов в этом проекте.

Использование корневых серверов имен

Обратите внимание, что корневые серверы имен указаны как полномочные серверы для поиска Amazon.com. Но помните, что вы используете общедоступные серверы имен Google в качестве серверов пересылки. Теперь закомментируйте строку forwarders в named.conf и перезапустить с именем . Запустите приведенные выше команды еще раз, чтобы сравнить возвращаемые результаты. Результаты должны выглядеть примерно так, как показано в листинге 5.

  

# dig www.amazon.com    

; <<>> DiG 9.10.4-P6-RedHat-9.10.4-4.P6.fc25 <<>> www.amazon.com
;; глобальные параметры: +cmd
;; Получил ответ:
;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 65004
;; флаги: qr rd ra; ЗАПРОС: 1, ОТВЕТ: 6, АВТОРИЗАЦИЯ: 4, ДОПОЛНИТЕЛЬНО: 1

;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
; ЭДНС: версия: 0, флаги:; UDP: 4096
;; РАЗДЕЛ ВОПРОСОВ:
; www. amazon.com. В      А

;; РАЗДЕЛ ОТВЕТОВ:
www.amazon.com. 1800    IN      CNAME   www.cdn.amazon.com.
www.cdn.amazon.com. 300     IN      CNAME   d3ag4hukkh62yn.cloudfront.net.
d3ag4hukkh62yn.cloudfront.net. 60 IN    A       52.85.147.120
d3ag4hukkh62yn.cloudfront.net. 60 IN    A       52.85.147.50
d3ag4hukkh62yn.cloudfront.net. 60 В    А       52.85.147.92
d3ag4hukkh62yn.cloudfront.net. 60 IN    A       52.85.147.109

;; ОРГАНИЗАЦИОННЫЙ РАЗДЕЛ:
d3ag4hukkh62yn.cloudfront.net. 1831 В NS     ns-1144.awsdns-15.org.
d3ag4hukkh62yn.cloudfront.net. 1831 В NS      ns-130.awsdns-16.com.
d3ag4hukkh62yn.cloudfront.net. 1831 В NS      ns-2021.awsdns-60.co.uk.
d3ag4hukkh62yn.cloudfront.net. 1831 В NS      ns-824.awsdns-39.net.

;; Время запроса: 3857 мс
;; СЕРВЕР: 192.168.0.203#53(192.168.0.203)
;; КОГДА: Пн, 13 марта, 09:18:30 по восточному поясному времени 2017
;; MSG SIZE  rcvd: 306

Листинг 5. Результаты поиска на сайте www.amazon.com содержат некоторую интересную информацию, включая время жизни для различных типов записей.

Когда я сделал это, первый вызов для разрешения внешнего адреса для Amazon занял 3857 мс, пока данные были найдены и возвращены. Последующие результаты выполнения того же запроса составили 1 мс, что показывает преимущество локального кэширования результатов преобразователя. Обратите внимание на числа 1800, 300 и 60 в строках раздела ответов и 1831 в строках раздела полномочий — это TTL (время жизни) в секундах. Если вы выполните поиск несколько раз, эти числа изменятся, показывая количество времени, которое осталось для записи в локальном кэше.

Создание файла обратной зоны

Обратная зона для вашего домена предоставит возможность выполнять обратный поиск. Многие организации не делают этого внутри компании, но обратный поиск может быть полезен при определении проблемы. Многие конфигурации борьбы со спамом, такие как SpamAssassin, используют обратный поиск для проверки действующих почтовых серверов.

Создайте файл обратной зоны, /var/named/example.com.rev и добавьте следующее содержимое. Обязательно используйте соответствующий серийный номер.

  

; Достоверные данные, например example.com  обратная зона
;
$TTL 1D
@   IN SOA  test1.example.com   root.test1.example.com. (
2017031501; Serial
1d; обновление
1H; повторная попытка
1W; истекает
3H); минимум

@       IN      NS      epc.example.com.
example.com. В      NS      epc.example.com.
1               IN      PTR     mail.example.com.
1               IN      PTR     server.example.com.
21              IN      PTR     test1.example.com.
22              IN      PTR     test2.example.com.
23              IN      PTR     test3.example.com.
24              IN      PTR     test4.example.com.

Листинг 6. Используйте этот файл обратной зоны, example. com.rev, для своего сервера имен.

Вы также можете назвать файл обратной зоны /var/named/25.168.192.in-addr.arpa , что соответствует старым соглашениям. На самом деле вы можете назвать его как угодно, потому что вы явно укажете на него в файле named.conf , но использование одного из двух соглашений облегчит другим следить за вашей работой.

Добавить обратную зону в named.conf :

  

zone    "25.168.192.in-addr.arpa" IN {
       тип master;
       файл "example.com.rev";
};

Листинг 7. Добавление этого раздела в файл named.conf позволяет выполнять обратный поиск.

Добавьте раздел из листинга 7 в файл /etc/named.conf , чтобы указать на новую обратную зону. Теперь перезагрузите с именем и протестируйте обратную зону, используя команды из листинга 8. Ваши результаты должны выглядеть примерно так, как показано ниже.

  

systemctl reload named

# dig -x 192.168.25.23

; <<>> DiG 9.10.4-P6-RedHat-9.10.4-4.P6.fc25 <<>> -x 192.168.25.23
;; глобальные параметры: +cmd
;; Получил ответ:
;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 48607
;; флаги: qr aa rd ra; ЗАПРОС: 1, ОТВЕТ: 1, ПОЛНОМОЧИЯ: 1, ДОПОЛНИТЕЛЬНО: 1

;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
; ЭДНС: версия: 0, флаги:; UDP: 4096
;; РАЗДЕЛ ВОПРОСОВ:
;23.25.168.192.in-addr.arpa. В      ПТР

;; РАЗДЕЛ ОТВЕТОВ:
23.25.168.192.ин-адрес.арпа. 86400 IN    PTR     test3.example.com.

;; ОРГАНИЗАЦИОННЫЙ ОТДЕЛ:
25.168.192.in-addr.arpa. 86400  IN      NS      epc.example.com.

;; Время запроса: 21 мс
;; СЕРВЕР: 192.168.0.203#53(192.168.0.203)
;; КОГДА: ср, 15 марта, 16:18:59 по восточному поясному времени 2017
;; MSG SIZE  rcvd: 112

Листинг 8. После перезапуска named вы должны увидеть результаты, подобные этим, когда вы выполняете обратный поиск IP-адреса в обратной зоне.

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

  

dig -x 192.168.25.23
dig -x 192.168.25.1

Обратите внимание, что не все хосты, имеющие записи в прямой зоне, должны иметь записи в обратной зоне, но это обеспечивает более согласованные результаты. если они это сделают.

На данный момент у вас есть работающий сервер имен, использующий BIND. Однако внешние хосты еще не могут использовать этот сервер имен, поскольку брандмауэр еще не должен быть настроен для разрешения запросов DNS.

Настройка IPTables для DNS

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

Брандмауэр на тестовом хосте, вероятно, блокирует доступ к вашему хосту для служб имен. IPTables должен быть настроен для разрешения входящих пакетов UDP (протокол пользовательских дейтаграмм) на ваш сервер имен, чтобы другие хосты могли использовать его для разрешения имен. Используйте следующие команды, чтобы добавить необходимые записи и сохранить их.

Добавьте в брандмауэр правило с помощью firewalld или IPTables, которое разрешает входящие пакеты через порт 53 (домен) для UDP, и сохраните новый набор правил. Не забудьте вставить новое правило после строки -A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT , поэтому для этого вам придется подсчитать количество строк INPUT в таблице фильтров. Число 7 в следующей команде означает, что это правило будет вставлено в позицию номер 7 в существующих правилах INPUT.

   iptables -t filter -I INPUT 7 -p udp -m conntrack --ctstate NEW -m udp --dport 53 -j ACCEPT   

Вы можете сохранить свои новые правила брандмауэра, если хотите, и вы бы сделали это, если это должны были быть постоянной установкой, а не лабораторным проектом. Затем проверьте это на одном из других ваших хостов, используя команду из листинга 9 ниже. Аргумент @epc указывает команде dig использовать указанный сервер имен с именем хоста epc . Вы должны заменить либо IP-адрес только что созданного DNS-сервера, либо разрешимое имя хоста в вашей сети, указывающее на ваш новый сервер имен. Конечно, вы всегда можете добавить это имя хоста с его IP-адресом в список 9.0003 /etc/hosts файл хоста, который вы используете для удаленного тестирования.

  

# dig @epc test1.example.com

; <<>> DiG 9.10.4-P6-RedHat-9.10.4-4.P6.fc25 <<>> @epc test1.example.com
; (найден 1 сервер)
;; глобальные параметры: +cmd
;; Получил ответ:
;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 27957
;; флаги: qr aa rd ra; ЗАПРОС: 1, ОТВЕТ: 1, ПОЛНОМОЧИЯ: 1, ДОПОЛНИТЕЛЬНО: 1

;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
; ЭДНС: версия: 0, флаги:; UDP: 4096
;; РАЗДЕЛ ВОПРОСОВ:
;test1. example.com. В      А

;; РАЗДЕЛ ОТВЕТОВ:
test1.example.com. 86400   IN      A       192.168.25.21

;; ОРГАНИЗАЦИОННЫЙ РАЗДЕЛ:
example.com. 86400   IN      NS      epc.both.org.

;; Время запроса: 0 мс
;; СЕРВЕР: 192.168.0.203#53(192.168.0.203)
;; КОГДА: Пн, 13 марта, 08:45:34 EDT 2017
;; РАЗМЕР MSG rcvd: 92

Листинг 9: Тестирование преобразователя имен, созданного вами на другом хосте в той же сети.

Очистка

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

  1. Восстановите исходный файл /etc/hosts .
  2. Имя остановки на узле распознавателя, используемом для этого лабораторного проекта.
  3. Отключить указанную службу.
  4. Удалить файлы зоны.
  5. Восстановите исходный файл named. conf .
  6. Восстановите исходный файл resolv.conf .

Заключительные мысли

Функционирование служб имен казалось мне очень неясным, пока я не создал сервер имен для своей сети с помощью BIND. Это довольно просто и может улучшить производительность поиска DNS. Наличие собственного сервера имен также может предотвратить многие из относительно незначительных, но раздражающих прерываний службы имен, вызванных плохим обслуживанием серверов имен интернет-провайдера.

Обратите внимание, что хотя мой маленький EeePC работает со 100% загрузкой ЦП для Seti@Home, он очень быстро отвечает на запросы преобразователя. Вы должны иметь возможность попробовать этот проект на любом доступном хосте Linux с незначительным эффектом. Я надеюсь, что многие из вас попытаются настроить свой собственный сервер имен и поэкспериментировать с ним. Особенности установки вашего сервера имен будут зависеть от деталей вашего хоста и сети.

Ресурсы

  • IANA (Управление по присвоению номеров в Интернете)
  • SOA (Начало полномочий) запись
  • Список типов записей DNS
  • Общие записи DNS и их использование

Служба — Служба доменных имен (DNS)

Служба доменных имен (DNS) — это интернет-служба, которая сопоставляет IP-адреса и полные доменные имена (FQDN) друг с другом. Таким образом, DNS избавляет от необходимости запоминать IP-адреса. Компьютеры, на которых работает DNS, называются серверами имен . Ubuntu поставляется с BIND (Berkley Internet Naming Daemon), наиболее распространенной программой, используемой для поддержки сервера имен в Linux.

Установка

В командной строке терминала введите следующую команду для установки DNS:

 sudo apt установить bind9
 

Очень полезным пакетом для тестирования и устранения проблем с DNS является пакет dnsutils . Очень часто эти инструменты уже установлены, но для проверки и/или установки dnsutils введите следующее:

 sudo apt установить dnsutils
 

Конфигурация

Существует множество способов настройки BIND9.. Некоторые из наиболее распространенных конфигураций — это кэширующий сервер имен, первичный сервер и вторичный сервер.

  • При настройке в качестве кэширующего сервера имен BIND9 найдет ответ на запрос имени и запомнит ответ при повторном запросе домена.

  • В качестве основного сервера BIND9 считывает данные для зоны из файла на своем хосте и является полномочным для этой зоны.

  • В качестве вторичного сервера BIND9 получает данные зоны от другого сервера имен, уполномоченного для этой зоны.

Обзор

Файлы конфигурации DNS хранятся в каталоге /etc/bind . Основной файл конфигурации — /etc/bind/named.conf , который в макете, предоставляемом пакетом, включает только эти файлы.

  • /etc/bind/named.conf.options : глобальные параметры DNS
  • /etc/bind/named.conf.local : для ваших зон
  • /etc/bind/named.conf.default-zones : зоны по умолчанию, такие как localhost, его реверс и корневые подсказки

Раньше корневые серверы имен описывались в файле /etc/bind/db.root . Вместо этого теперь он предоставляется файлом /usr/share/dns/root.hints , поставляемым с пакетом dns-root-data, и упоминается в файле конфигурации named. conf.default-zones выше.

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

Кэширующий сервер имен

Конфигурация по умолчанию действует как сервер кэширования. Просто раскомментируйте и отредактируйте /etc/bind/named.conf.options , чтобы установить IP-адреса DNS-серверов вашего интернет-провайдера:

 экспедиторов {
    1.2.3.4;
    5.6.7.8;
};
 

Примечание

Замените 1.2.3.4 и 5.6.7.8 на IP-адреса фактических серверов имен.

Чтобы включить новую конфигурацию, перезапустите DNS-сервер. Из командной строки терминала:

 sudo systemctl перезапустить bind9.service
 

См. dig для получения информации о тестировании кэширующего DNS-сервера.

Основной сервер

В этом разделе BIND9 будет настроен как Основной сервер для домена example.com . Просто замените example.com на свое полное доменное имя (полное доменное имя).

Файл зоны переадресации

Чтобы добавить зону DNS в BIND9, превратив BIND9 в основной сервер, сначала отредактируйте /etc/bind/named.conf.local :

 зона "example.com" {
    тип мастер;
    файл "/etc/bind/db.example.com";
};
 

Примечание

Если bind будет получать автоматические обновления файла, как с DDNS, используйте /var/lib/bind/db.example.com вместо /etc/bind/db.example.com как здесь, так и в скопировать команду ниже.

Теперь используйте существующий файл зоны в качестве шаблона для создания файла /etc/bind/db.example.com :

 sudo cp /etc/bind/db. local /etc/bind/db.example.com
 

Отредактируйте файл новой зоны /etc/bind/db.example.com и измените localhost. на полное доменное имя вашего сервера, оставив дополнительный . в конце. Измените 127.0.0.1 на IP-адрес сервера имен и root.localhost на действительный адрес электронной почты, но с . вместо обычного символа @ , снова оставив . в конце. Измените комментарий, чтобы указать домен, для которого предназначен этот файл.

Создайте запись A для базового домена, example.com . Кроме того, создайте запись A для ns.example.com , сервер имен в этом примере:

 ;
; Файл данных BIND для example.com
;
$TTL 604800
@ В SOA example.com. root.example.com. (
                              2; Серийный
                         604800 ; Обновить
                          86400 ; Повторить попытку
                        2419200 ; Срок действия
                         604800 ) ; Отрицательный TTL кэша
@ В NS ns. example.com.
@ В А 192.168.1.10
@ В АААА ::1
нс В А 192.168.1.10
 

Вы должны увеличивать серийный номер каждый раз, когда вы вносите изменения в файл зоны. Если вы вносите несколько изменений перед перезапуском BIND9, просто увеличьте серийный номер один раз.

Теперь вы можете добавить записи DNS в конец файла зоны. Дополнительные сведения см. в разделе Общие типы записей.

Примечание

Многие администраторы предпочитают использовать дату последнего редактирования в качестве серийного номера зоны, например 9.0089 2020012100 , что соответствует ггггммддсс (где сс — серийный номер)

После внесения изменений в файл зоны необходимо перезапустить BIND9, чтобы изменения вступили в силу:

 sudo systemctl перезапустить bind9.service
 

Файл обратной зоны

Теперь, когда зона настроена и преобразует имена в IP-адреса, необходимо добавить Обратную зону , чтобы DNS могла преобразовать адрес в имя.

Редактировать /etc/bind/named.conf.local и добавьте следующее:

 зона "1.168.192.in-addr.arpa" {
    тип мастер;
    файл "/etc/bind/db.192";
};
 

Примечание

Замените 1.168.192 первыми тремя октетами той сети, которую вы используете. Также назовите файл зоны /etc/bind/db.192 соответствующим образом. Он должен соответствовать первому октету вашей сети.

Теперь создайте файл /etc/bind/db.192 :

 sudo cp /etc/bind/db.127 /etc/bind/db.192
 

Следующее редактирование /etc/bind/db.192 изменение тех же параметров, что и /etc/bind/db.example.com :

 ;
; Файл обратных данных BIND для локальной сети 192.168.1.XXX
;
$TTL 604800
@ В SOA ns.example.com. root.example.com. (
                              2; Серийный
                         604800 ; Обновить
                          86400 ; Повторить попытку
                        2419200 ; Срок действия
                         604800 ) ; Отрицательный TTL кэша
;
@ В НС нс. 
10 В PTR ns.example.com.
 

Серийный номер в обратной зоне также необходимо увеличивать при каждом изменении. Для каждой записи , которую вы настраиваете в /etc/bind/db.example.com , то есть для другого адреса, вам необходимо создать запись PTR в /etc/bind/db.192 .

После создания файла обратной зоны перезапустите BIND9:

 sudo systemctl перезапустить bind9.service
 

Дополнительный сервер

После настройки основного сервера настоятельно рекомендуется использовать вторичный сервер для обеспечения доступности домена в случае, если основной сервер станет недоступным.

Во-первых, на основном сервере необходимо разрешить передачу зоны. Добавьте параметр allow-transfer в примеры определений зон Forward и Reverse в /etc/bind/named.conf.local :

 зона "example.com" {
    тип мастер;
    файл "/etc/bind/db.example. com";
    разрешить передачу {192.168.1.11; };
};
    
зона "1.168.192.in-addr.arpa" {
    тип мастер;
    файл "/etc/bind/db.192";
    разрешить передачу {192.168.1.11; };
};
 

Примечание

Замените 192.168.1.11 на IP-адрес вашего вторичного сервера имен.

Перезапустите BIND9 на основном сервере:

 sudo systemctl перезапустить bind9.оказание услуг
 

Затем на вторичном сервере установите пакет bind9 так же, как и на первичном. Затем отредактируйте /etc/bind/named.conf.local и добавьте следующие объявления для зон Forward и Reverse:

 зона "example.com" {
    тип вторичный;
    файл "db.example.com";
    мастера { 192.168.1.10; };
};
          
зона "1.168.192.in-addr.arpa" {
    тип вторичный;
    файл "db.192";
    мастера { 192.168.1.10; };
};
 

Примечание

Замените 192.168.1.10 на IP-адрес вашего основного сервера имен.

Перезапустите BIND9 на вторичном сервере:

 sudo systemctl перезапустить bind9.service
 

В /var/log/syslog вы должны увидеть что-то похожее на следующее (некоторые строки были разделены, чтобы соответствовать формату этого документа):

 клиент 192.168.1.10#39448: получено уведомление для зоны «1.168.192.in-addr.arpa»
зона 1.168.192.in-addr.arpa/IN: Начата передача.
перенос '100.18.172.in-addr.arpa/IN' с 192.168.1.10#53:
 подключен через 192.168.1.11#37531
зона 1.168.192.in-addr.arpa/IN: передан серийный номер 5
передача '100.18.172.in-addr.arpa/IN' с 192.168.1.10#53:
 Перевод завершен: 1 сообщения,
6 записей, 212 байт, 0,002 с (106000 байт/с)
зона 1.168.192.in-addr.arpa/IN: отправка уведомлений (серийный номер 5)
клиент 192.168.1.10#20329: получено уведомление для зоны «example.com»
зона example.com/IN: Передача началась.
передача 'example.com/IN' с 192.168.1.10#53: подключено через 192.168.1.11#38577
зона example.com/IN: передан серийный номер 5
перенос 'example. com/IN' из 192.168.1.10#53: Передача завершена: 1 сообщения,
8 записей, 225 байт, 0,002 с (112500 байт/с)
 

Примечание

Примечание. Зона передается только в том случае, если серийный номер на первичном больше, чем на вторичном. Если вы хотите, чтобы ваш основной DNS уведомлял другие вторичные DNS-серверы об изменениях зоны, вы можете добавить also-notify { ipaddress; }; от до /etc/bind/named.conf.local , как показано в примере ниже:

 зона "example.com" {
    тип мастер;
    файл "/etc/bind/db.example.com";
    разрешить передачу {192.168.1.11; };
    также-уведомить { 192.168.1.11; };
};
зона "1.168.192.in-addr.arpa" {
    тип мастер;
    файл "/etc/bind/db.192";
    разрешить передачу {192.168.1.11; };
    также-уведомить { 192.168.1.11; };
};
    
 

Примечание

Каталог по умолчанию для неавторизованных файлов зон — /var/cache/bind/ . Этот каталог также настроен в AppArmor, чтобы позволить демону named писать в него. Дополнительные сведения о AppArmor см. в разделе «Безопасность — AppArmor».

Поиск и устранение неисправностей

В этом разделе рассматривается диагностика проблем с конфигурациями DNS и BIND9.

Тестирование

разрешение.conf

Первым шагом в тестировании BIND9 является добавление IP-адреса сервера имен в преобразователь хостов. Первичный сервер имен должен быть настроен так же, как и другой хост для двойной проверки. Подробную информацию о добавлении адресов серверов имен к сетевым клиентам см. в разделе Конфигурация DNS-клиентов. В конце концов, ваш сервер имен 9Строка 0085 в /etc/resolv.conf должна указывать на 127.0.0.53 , и у вас должен быть параметр search для вашего домена. Что-то вроде этого:

 сервер имен 127.0.0.53
поиск example.com
 

Чтобы проверить, какой DNS-сервер использует ваш локальный резолвер, запустите:

 systemd-разрешение --статус
 

Примечание

Вам также следует добавить IP-адрес вторичного сервера имен в конфигурацию клиента на случай, если первичный станет недоступен.

копать

Если вы установили пакет dnsutils, вы можете проверить свои настройки с помощью утилиты поиска DNS:

  • После установки BIND9 используйте dig против интерфейса loopback, чтобы убедиться, что он прослушивает порт 53. Из командной строки терминала:

     копать -x 127.0.0.1
     

    В выводе команды вы должны увидеть строки, подобные приведенным ниже:

     ;; Время запроса: 1 мс
    ;; СЕРВЕР: 192.168.1.10#53(192.168.1.10)
     
  • Если вы настроили BIND9 в качестве кэширующего сервера имен , «выкопайте» внешний домен, чтобы проверить время запроса:

     копать ubuntu.com
     

    Обратите внимание на время запроса в конце вывода команды:

     ;; Время запроса: 49 мс
     

    После второго раскопа должно быть улучшение:

     ;; Время запроса: 1 мс
     

эхо-запрос

Теперь, чтобы продемонстрировать, как приложения используют DNS для разрешения имени хоста, используйте утилиту ping для отправки эхо-запроса ICMP:

 пинг example. com
 

Проверяет, может ли сервер имен преобразовать имя ns.example.com в IP-адрес. Вывод команды должен выглядеть так:

.

 PING ns.example.com (192.168.1.10) 56 (84) байт данных.
64 байта от 192.168.1.10: icmp_seq=1 ttl=64 время=0,800 мс
64 байта от 192.168.1.10: icmp_seq=2 ttl=64 время=0,813 мс
 

именованная контрольная зона

Отличный способ проверить файлы зон — использовать утилиту named-checkzone , установленную вместе с bind9 пакет. Эта утилита позволяет убедиться в правильности конфигурации перед перезапуском BIND9 и внесением изменений.

  • Чтобы проверить наш пример файла зоны пересылки, введите в командной строке следующее:

     name-checkzone example.com /etc/bind/db.example.com
     

    Если все настроено правильно, вы должны увидеть примерно такой вывод:

     зона example.com/IN: загружен серийный номер 6
    ХОРОШО
     
  • Аналогично, для проверки файла зоны реверса введите следующее:

     именованная контрольная зона 1. 168.192.in-addr.arpa /etc/bind/db.192
     

    Вывод должен быть похож на:

     зона 1.168.192.in-addr.arpa/IN: загружен серийный номер 3
    ХОРОШО
     

Примечание

Серийный номер вашего файла зоны, вероятно, будет другим.

Быстрая регистрация временных запросов

С помощью инструмента rndc можно быстро включать и выключать ведение журнала запросов без перезапуска службы или изменения файла конфигурации.

Чтобы включить ведение журнала запросов с на , выполните:

 sudo rndc queryвойти в систему
 

Аналогично, чтобы отключить, введите:

 sudo rndc querylog отключен
 

Журналы будут отправлены в системный журнал и будут отображаться в /var/log/syslog по умолчанию:

, 20 января, 19:40:50 new-n1 named[816]: получена команда канала управления «querylog on»
20 января 19:40:50 new-n1 named[816]: ведение журнала запросов включено
20 января 19:40:57 new-n1 named[816]: client @0x7f48ec101480 192. 168.1.10#36139 (ubuntu.com): запрос: ubuntu.com IN A +E(0)K (192.168.1.10)
 

Примечание

Количество журналов, созданных при включении querylog , может быть огромным!

Регистрация

BIND9 имеет множество доступных параметров конфигурации ведения журнала, но два основных из них — это канал и категория , которые настраивают, куда направляются журналы и какая информация регистрируется соответственно.

Если параметры ведения журнала не настроены, конфигурация по умолчанию:

 ведение журнала {
     категория по умолчанию { default_syslog; default_debug; };
     категория не имеет себе равных { ноль; };
};
 

Вместо этого давайте настроим BIND9 для отправки отладочных сообщений, связанных с DNS-запросами, в отдельный файл.

Нам нужно настроить канал , чтобы указать, в какой файл отправлять сообщения, и категорию . В этом примере категория будет регистрировать все запросы. Отредактируйте /etc/bind/named.conf.local и добавьте следующее:

 ведение журнала {
    канал query.log {
        файл "/var/log/named/query.log";
        отладка серьезности 3;
    };
    запросы категорий { query.log; };
};
 

Примечание

Параметр debug может иметь значение от 1 до 3. Если уровень не указан, по умолчанию используется уровень 1.

  • Поскольку демон named работает от имени пользователя bind , необходимо создать каталог /var/log/named и изменить владельца:

     sudo mkdir /var/log/named
    sudo chown bind:bind /var/log/named
     
  • Теперь перезапустите BIND9, чтобы изменения вступили в силу:

     sudo systemctl перезапустить bind9.service
     

Вы должны увидеть файл /var/log/named/query.log , заполненный информацией о запросе. Это простой пример параметров ведения журнала BIND9. Дополнительные сведения о расширенных параметрах см. в разделе Дополнительная информация.

Каталожные номера

Общие типы записей

В этом разделе рассматриваются некоторые из наиболее распространенных типов записей DNS.

  • Запись : Эта запись сопоставляет IP-адрес с именем хоста.

     www IN A 192.168.1.12
     
  • Запись CNAME : используется для создания псевдонима существующей записи A. Вы не можете создать запись CNAME , указывающую на другую запись CNAME .

     веб В CNAME www
     
  • Запись MX : используется для определения адреса электронной почты. Должен указывать на Запись , а не CNAME .

     @ IN MX 1 mail.example.com.
    почта ИН А 192.168.1.13
     
  • Запись NS : используется для определения того, какие серверы обслуживают копии зоны.