Содержание
Как использовать команду Linux BIND для установки и настройки DNS
Опубликовано:
30 августа 2021 г.
|
|
на
Ашиш Бхарадвадж Мадабхушана (Красная шляпа)
Изображение
Фото Александра Эндрюса на Unsplash
Система доменных имен (DNS) используется для разрешения (преобразования) имен хостов в адреса интернет-протокола (IP) и наоборот. DNS-сервер, также известный как сервер имен 9.0004 сопоставляет IP-адреса с именами хостов или доменными именами.
В этой статье вы изучите основы DNS, от того, как DNS получает IP-адрес и имя хоста, до концепций зон прямого и обратного просмотра. Он также покажет вам, как установить и настроить DNS, определить и отредактировать файлы зон и проверить, может ли DNS разрешить правильный адрес с помощью команд. Если вы новичок в DNS, эта статья поможет вам поиграть с ним в вашей системе, используя базовые конфигурации.
Как работает DNS
Когда клиент запрашивает информацию у сервера имен, он обычно подключается к порту 53, после чего сервер имен разрешает запрошенное имя.
Изображение
(Ашиш Бхарадвадж, CC BY-SA 4.0)
Откуда DNS получает IP-адреса?
Вы можете задаться вопросом, как DNS получает IP-адрес соответствующего имени хоста или доменного имени. Как DNS выполняет поиск среди разных IP-адресов и правильно связывает ваше доменное имя? Кто хранит эти сопоставления между доменными именами и IP-адресами?
Рабочий процесс DNS иллюстрирует, как происходит обмен данными в DNS и как он разрешает адреса.
Изображение
(Ашиш Бхарадвадж, CC BY-SA 4.0)
- Когда клиент ищет домен
www.example.com
, запрос сначала направляется к распознавателю интернет-провайдера (ISP). Он ответит на запрос пользователя о разрешении доменного имени. - Если IP-адрес не найден на преобразователе, запрос перенаправляется на корневой DNS-сервер, а затем на серверы домена верхнего уровня (TLD).
- хранят информацию для доменов верхнего уровня, таких как .com или . net .
- Запросы перенаправляются на серверы имен, которым известна подробная информация о доменах и IP-адресах.
- Серверы имен отвечают распознавателю интернет-провайдера, а затем распознаватель отвечает клиенту с запрошенным IP-адресом.
- Если преобразователь не знает IP-адрес, он сохраняет IP-адрес и его домен в кэше для обслуживания будущих запросов.
Серверы TLD
[ Загрузить сейчас: Руководство системного администратора по автоматизации ИТ. ]
Прямой и обратный поиск
Зона прямого просмотра использует имя домена для поиска IP-адресов, тогда как зона обратного просмотра использует IP-адреса для поиска имени домена.
Изображение
(Ашиш Бхарадвадж, CC BY-SA 4.0)
Установка и настройка DNS
BIND — это служба сервера имен, отвечающая за преобразование доменного имени в IP на DNS-серверах на базе Linux.
[root@servera ~] # yum install bind
Пакет BIND предоставляет службу с именем
. Он считывает конфигурацию из файлов /etc/named
и /etc/named.conf
. После установки этого пакета вы можете приступить к настройке DNS.
Настройте файл /etc/named.conf
Сначала добавьте или измените два значения в поле options . Один — это адрес DNS-сервера, а другой — запрос разрешения от до любых .
[root@servera ~] # vim /etc/named.conf порт прослушивания 53 { 127.0.0.1; 192.168.25.132; }; разрешить запрос { локальный; Любые; };
Вот значения из вышеуказанного файла:
- 192.168.25.132 — адрес DNS-сервера
- любой — соответствует каждому IP-адресу
Определение прямой и обратной зон
Определение прямой и обратной зон в /etc/named.conf
или /etc/named.rfc1912.zones
(вы можете определить зоны в любом из этих файлов). В этом примере я добавляю сведения об определении зоны в файл /etc/named. rfc1912.zones
.
[root@servera ~] # vim /etc/named.rfc1912.zones зона "example.com" IN { type master; файл "example.forward.zone"; разрешить обновление {нет; }; }; зона "25.168.192.in-addr.arpa" IN { тип мастер; файл "example.reverse.zone"; разрешить обновление {нет; }; };
Создать файлы прямой и обратной зоны
Вам также необходимо создать файлы прямой и обратной зоны в /var/имя каталога
.
Примечание : По умолчанию файл named.conf
включает каталог /var/named
для проверки файлов зоны. Примеры файлов зон named.localhost
и named.loopback
создаются во время установки пакета BIND.
[root@servera ~] # vim /var/named/example.forward.zone
Изображение
(Ашиш Бхарадвадж, CC BY-SA 4.0)
[root@servera ~] # vim /var/named/example.reverse.zone
Изображение
(Ашиш Бхарадвадж, CC BY-SA 4.0)
Добавьте IP-адрес сервера имен в /etc/resolv.
conf
Во-первых, вы должны отключить обработку DNS с помощью NetworkManager, поскольку он динамически обновляет файл /etc/resolv.conf
с настройками DNS. из его активных профилей подключения. Чтобы отключить это и разрешить ручное редактирование /etc/resolv.conf
, вы должны создать файл (например, 90-dns-none.conf
) от имени пользователя root в /etc/NetworkManager/conf.d /
каталог, который содержит следующее:
[основной] dns=none
Сохраните файл и перезагрузите (перезапустите) NetworkManager.
# systemctl reload NetworkManager
После перезагрузки NetworkManager он не будет обновлять /etc/resolv.conf
. Теперь вы можете вручную добавить IP-адрес сервера имен в файл /etc/resolv.conf
.
[root@servera ~] # vim /etc/resolv.conf # Генерируется NetworkManager поиск localdomain example.com nameserver 192.168.25.132
[ Будьте готовы на случай, если что-то пойдет не так. Прочтите Введение в устранение неполадок DNS. ]
Запуск/перезапуск и включение именованной службы
Если именованная служба
не запущена или отключена, запустите и включите ее. Если он уже активен (работает) и вы выполнили все эти настройки, вам необходимо перезапустить службу, чтобы внести изменения.
[root@servera ~] # статус systemctl named.service [root@servera ~] # запуск systemctl named.service [root@servera ~] # systemctl включить named.service [root@servera ~] # перезапуск systemctl named.service
Проверьте разрешение имен DNS
Вы установили пакет BIND, настроили файлов с именами
, создали зоны поиска и перезапустили службу, чтобы настройки вступили в силу. Теперь используйте команды nslookup
и dig
, чтобы проверить, правильно ли работает DNS, и убедиться, что вы получаете ожидаемые результаты.
-
nslookup
— это программа для запроса серверов доменных имен в Интернете. -
копать
— это инструмент для опроса DNS-серверов. Он выполняет поиск DNS и отображает ответы, возвращаемые сервером имен.
Запрос с помощью nslookup
[root@servera ~] # nslookup servera.example.com Сервер: 192.168.25.132 Адрес: 192.168.25.132#53 Имя: servera.example.com Адрес: 192.168.25.132 [root@servera ~] # nslookup 192.168.25.132 132.25.168.192.in-addr.arpa name = servera.example.com.
Запрос с помощью dig
Вот прямой поиск, где DNS отвечает 192.168.11.132 в качестве IP-адреса для servera.example.com :
[root@servera ~] # dig servera.example.com ...вывод усечен... ;; РАЗДЕЛ ОТВЕТОВ: servera.example.com. 86400 В А 192.168.25.132 ;; ОТДЕЛ ПОЛНОМОЧИЙ: пример.com. 86400 В NS servera.example.com. ...вывод усечен...
В этом примере показан обратный поиск, где DNS-сервер отвечает servera.example.com в качестве доменного имени для 192. 168.25.132 :
[root@servera ~] # dig -x 192.168.25.132 ...вывод усечен... ;; РАЗДЕЛ ОТВЕТОВ: 132.25.168.192.in-addr.arpa. 86400 В PTR servera.example.com. ;; ОТДЕЛ ПОЛНОМОЧИЙ: 25.168.192.in-addr.arpa. 86400 В NS servera.example.com. ;; ДОПОЛНИТЕЛЬНЫЙ РАЗДЕЛ: servera.example.com. 86400 В А 192.168.25.132 ...вывод усечен...
[ Сеть выходит из-под контроля? Ознакомьтесь с бесплатной книгой «Сетевая автоматизация для всех» от Red Hat. ]
Подведение итогов
В этой статье вы узнали, что такое DNS и как он работает. Кроме того, теперь вы знаете, что такое зоны прямого и обратного просмотра и как они работают. Вы также узнали, как установить пакет BIND, который отвечает за настройку DNS в системе и настройку назвал
файлов и зон просмотра. Наконец, вы выучили две команды, nslookup
и dig
, для запроса разрешений DNS.
Ознакомьтесь со статьями по теме Включить системного администратора
Изображение
Настройка DNS с помощью Ansible
Самый простой способ научиться автоматизации Ansible — погрузиться и попробовать.