Сервер DNS
DNS является основным компонентом сетевой инфраструктуры, обеспечивающим преобразование доменных имен в IP-адреса и обратно. DNS является критическим элементом сетевой инфраструктуры, и его правильная настройка и управление играют важную роль в обеспечении работоспособности сетей.
В качестве сервера, реализующего DNS, в ОС используется сервер Bind.
Установка
Перед установкой сервера необходимо обновить Систему:
dnf --refresh distro-sync
Далее перейдем к установке сервера Bind, исполняемый файл которого называется named. Следует обратить внимание, что все конфигурационные файлы/сервисы будут называться с префиксом named*.
Далее для настройки DNS-сервера необходимо настроить параметр systemdresolved в файле /etc/systmd/resolved.conf.
Перед настройкой также следует запросить команду:
lsof -i :53
Исправить нужно следующие строки:
DNS=127.0.0.1
FallbackDNS=
DNSSEC=no
LLMNR=resolve
DNSStubListener=no
где:
DNS=127.0.0.1– задает локальный IP-адрес, на котором будет работать будущий DNS-сервер;FallbackDNS= – данный параметр оставить пустым, чтобыsystemd-resolvedне переключался наfallbackDNS-сервера;DNSSEC=no– отключаетDNSSEC;LLMNR=resolve– перевестиLLMNRв режимresolve;DNSStubListener=no– задать параметрno, чтобыsystemd-resolvedне прослушивал порт53.
Остальные опции в этом файле следует оставить как есть и произвести перезапуск systemd-resolved:
systemctl restart systemd-resolved
После запуска вновь требуется запросить команду (вывод команды должен быть пустой):
lsof -i :53
Если вывод действительно пустой, значит всё сделано корректно и можно приступать к настройке и запуску bind.
Настройка
Основной конфигурационный файл сервиса bind – named.conf.
Для настройки нужно выполнить следующие действия:
- открыть конфигурационный файл
named.confи для минимальной работы DNS-сервера исправить следующие строки:
options {
listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; . . . . .
allow-query { any; };
где:
listen-on port 53 { any; };– задать параметрanyдля прослушивания на всех IPv4 хоста;listen-on-v6 port 53 { any; };– задать параметрanyдля прослушивания на всех IPv6 хоста;allow-query { any; };– разрешить любые запросы к серверу.
- запустить
bind:
systemctl start named.service
- проверить, какие службы прослушивают порт
53:
lsof -i :53
Если в выводе прописан параметр named, то все настроено правильно.
- проверить работу DNS-сервера с помощью команды, например с адресом
yandex.ru:
dig @127.0.0.1 yandex.ru
или
nslookup yandex.ru
Должны быть выведены IP-адреса yandex.ru.
- включить DNS-сервис в автозагрузку:
systemctl enable named.service
Переадресация
Чтобы настроить bind для переадресации (forward) запросов к другим DNS-серверам нужно выполнить следующие шаги:
- открыть конфигурационный файл
named.confи для минимальной работы DNS-сервера исправить следующие строки:
options {
. . . . .
recursion yes; . . . . .
forward only; forwarders {
77.88.8.8;
77.88.8.1;
};
где:
forward– режим перенаправления:forward only– все запросы на настраиваемый DNS-сервер будут перенаправляться на другие DNS-сервера, прописанные в следующей опции"forwarders {}";forward first– все запросы на настраиваемый DNS-сервер будут перенаправляться на другие DNS-сервера, прописанные в следующей опции"forwarders {}", и если с помощью них не удастся разрешить запрос, то запрос будет пытаться разрешаться настраиваемым DNS-сервером локально;
forwarders { 77.88.8.8; 77.88.8.1; }– список DNS-серверов, для перенаправления запросов.
- запустить DNS-сервер:
systemctl start named.service
В результате DNS-сервер будет настроен для минимальной работы.