Настройка DNS сервера bind
Содержание
Настраиваем DNS сервер bind
Установка bind
Сначала нам надо обновить систему:
dnf --refresh distro-sync
Далее устанавливаем сам Bind. Пакет называется bind, а вот сервис его будет называться named.
Настраиваем sytemd-resolved
В сервере ROSA 12 используется systemd-resolved в качестве резолвера dns. Если мы хотим, настроить свой DNS сервер, то для этого, надо настроить systemd-resolved:
Посмотрим, кто у нас прослушивает 53 порт:
lsof -i :53
Открываем файл /etc/systmd/resolved.conf
Правим следующие строки:
DNS=127.0.0.1 FallbackDNS= DNSSEC=no LLMNR=resolve DNSStubListener=no
где:
- DNS=127.0.0.1 - это локальный ip адрес, на котором будет работать наш DNS сервер будущий
- FallbackDNS= - оставляем пустым, чтобы systemd-resolved не переключался на fallback dns сервера
- DNSSEC=no - отключаем DNSSEC
- LLMNR=resolve - LLMNR переводим в режим resolve
- DNSStubListener=no - чтобы наш systemd-resolved не прослушивал порт 53
Остальные опции в этом файле, оставим как есть. Перезапускаем systemd-resolved:
systemctl restart systemd-resolved
Еще раз смотрим:
lsof -i :53
Если вывод пустой, значит всё нормально, можно приступать к настройке и запуску bind.
Базовая настройка bind
Пакет называется bind, но сервис называется named. И все конфигурационные файлы/сервисы будут называться на named
Основной конфигурационный файл: 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 для прослушивания на всех ip хоста
- listen-on-v6 port 53 { any; }; - ставим any для прослушивания на всех ip хоста
- allow-query { any; }; - разрешаем запросу отовсюду к нашему серверу
После правки конфигурационного файла, можем запустит наш bind:
systemctl start named.service
Смотрим кто у нас прослушивает 53 порт:
lsof -i :53
Если named, то все настроили правильно. Но мы проверили только то, что и кто слушает 53 порт.
Проверим как работает наш DNS сервер.
dig @127.0.0.1 yandex.ru
Или
nslookup yandex.ru
Должны быть выведены IP адреса yandex.ru.
Включаем наш DNS сервис в автозагрузку.
systemctl enable named.service
Настройка Forward DNS сервера bind
Чтобы настроить bind для перенапрваления (forward) запросов к другим DNS серверам, сделаем следующее:
Открываем этот конфигурационный файл named.conf и для минимальной работы DNS сервера, правим следующие строки:
options { . . . . . recursion yes; . . . . . forward only; forwarders { 77.88.8.8; 77.88.8.1; };
где:
- forward - режим перенаправления
- forward only; - если ставим only указывая, тем самым, что все запросы на наш DNS сервер будут перенаправляться на другие DNS сервера, прописанные в следующей опции forwarders {}
- forward first; - если ставим first указывая, тем самым, что все запросы на наш DNS сервер будут перенаправляться на другие DNS сервера, прописанные в следующей опции forwarders {}, и если с помошью них не удастся разрешить запрос, то запрос будет пытать разрешаться нашим DNS сервером локально
- forwarders { 77.88.8.8; 77.88.8.1; }; - список DNS серверов, для перенаправления запросов
Настройка кеширующего DNS сервера bind
Чтобы настроить bind как кеширующий сервер DNS, сделаем следующее:
Открываем этот конфигурационный файл named.conf и для минимальной работы DNS сервера, правим следующие строки:
acl my_allowed { 192.168.100.0/24; 217.71.222.0/24; }; options { listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; directory "/var/named"; . . . . . allow-recursion { localhost; my_allowed; }; allow-query { localhost; my_allowed; }; allow-transfer { none; }; recursion yes; . . . . .
Здесь описана базовая настройка и конфигурация DNS сервера. Настройки безопасности, настройки прослушивания других IP, настройка зон и т.д. Это все индивидуально.