Как стать автором
Поиск
Написать публикацию
Обновить

Настройка DNS/BIND на RHEL

В состав репозитория РЕД ОС включен DNS-сервер bind, поддерживающий стандарты RFC 1034,1035, 2136. Поддерживает реализацию хост-систем на базе стека протоколов Internet, описанных в RFC 1123. Поддерживает механизм инкрементального переноса зон IXFR, описанный в RFC 1995 и механизм извещения ведомых серверов NOTIFY, RFC 1996.

Подготовка

Устанавливаем bind:
sudo dnf update dnf install bind -y
Открываем файл настройки и редактируем следующее в блоке options:
nano /etc/named.conf

listen-on port 53 { 127.0.0.1; 192.168.0.0; }; 
listen-on-v6 port 53 { none; }; 
allow-query { any; }; 
forward first; 
forwarders { 8.8.8.8; };
  • * 192.168.0.0 — IP-адрес нашего DNS-сервера, на котором он будет принимать запросы;

  • listen-on-v6 port 53 присвоим значение none, тем самым отключив ipv6

  • allow-query разрешает выполнять запросы всем, но из соображений безопасности можно ограничить доступ для конкретной сети, например, вместо any написать 10.10.1.0/24.

  • forward с параметром first указывает, DNS-серверу пытаться разрешать имена с помощью DNS-серверов, указанных в параметре forwarders, и лишь в случае, если разрешить имя с помощью данных серверов не удалось, то будет осуществлять попытки разрешения имени самостоятельно.

  • forwarders перенаправляем запросы, которые сами не резолвим, на днс сервер гугла.

В нижней части файла добавьте следующее:

#Пример конфига зоны для файла named.conf
zone "example.org" {
 type master;
 file "master/example.org";
 };

Настройка зон:

Создаём директорию и копируем шаблоны:
mkdir /var/named/master
cp /var/named/named.localhost /var/named/master/(название вашей прямой зоны)
cp /var/named/named.loopback /var/named/master/(название вашей обратной зоны)
chown -R root:named /var/named/master/
chown -R named:named /var/named
chown -R root:named /etc/named.conf
chmod 750 /var/named/
chmod 750 /var/named/master/

Прямая DNS зона

$TTL 604800       ;
example.org.    IN      SOA     ns01.example.org. root.example.org. (
                1               ; Serial
                600             ; Refresh
                3600            ; Retry
                1w              ; Expire
                360             ; Minimum TTL
                )
        IN      NS      ns01.example.org.
        IN      NS      ns02.example.org.
        IN      NS      ns03.example.org.
ns01    IN      A       192.168.10.50
ns02    IN      A       192.168.10.60
ns03    IN      A       192.168.10.70
www     IN      A       192.168.10.20
test    IN      A       192.168.10.12

Пример файла прямой зоны:

  • $TTL 604800 — время жизни (Time to Live, TTL) для всех записей зоны. Значение 604800 секунд означает, что кэшированные данные будут храниться 7 дней. По достижении установленного времени, кеширующий сервер запрашивает DNS-сервер, содержащий доменную зону, информацию о зоне. И при необходимости обновляет записи;

  • SOA (Start of Authority) — запись SOA определяет авторитетную информацию о зоне DNS;

  • ns01.example.org.— первичный DNS-сервер для этой зоны;

  • root.example.org.— адрес электронной почты администратора зоны;

  • 1; Serial — серийный номер зоны, который увеличивается при каждом изменении записи;

  • 600; Refresh — указывает подчиненным DNS-серверам как часто им обращаться, для поиска изменений к master-серверу (600 секунд);

  • 3600; Retry— интервал повторной попытки запроса изменений после неудачной попытки обновления (1 час);

  • 1w; Expire— срок жизни зоны на вторичном сервере (1 неделя). Если зона не обновляется в течение этого срока, она считается недействительной;

  • 360; Minimum TTL — минимальный TTL для записей, которые не имеют явного значения TTL (6 минут);

  • NS ns01.example.org. — первый DNS-сервер;

  • NS ns02.example.org. — второй DNS-сервер;

  • NS ns03.example.org. — третий DNS-сервер;

  • A-записи — эти записи связывают имена хостов с IP-адресами;

  • ns01 IN A 192.168.10.50— имя хоста ns01 привязано к IP-адресу 192.168.10.50;

  • ns02 IN A 192.168.10.60— имя хоста ns02 привязано к IP-адресу 192.168.10.60;

  • ns03 IN A 192.168.10.70— имя хоста ns03 привязано к IP-адресу 192.168.10.70;

  • test IN A 192.168.10.12 — тестовый хост test имеет IP-адрес 192.168.10.12.

Обратная DNS зона

$TTL    3600
@  IN      SOA     example.org. root.example.org (
                   20060204        ; Serial
                   3600            ; Refresh
                   900             ; Retry
                   3600000         ; Expire
                   3600 )          ; Minimum
@  IN      NS      localhost.
50 IN      PTR     ns01
60 IN      PTR     ns02
70 IN      PTR     ns03
20 IN      PTR     www
12 IN      PTR     test

Пример файла обратной зоны:

Запуск сервиса:

systemctl enable --now namedsystemctl status named named-checkconf -z

Для полной работоспособности на всех устройствах нужно установить в качестве dns сервера наш сервер bind:
nano /etc/resolv.conf на всех устройствах должен иметь следующий вид:

resolvectl dns ens3 192.168.0.2
Для полной работоспособности на роутерах необходимо установить ваш сервер bind в качестве DNS-сервера:
ip name-server 192.168.0.2

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.