понедельник, 22 января 2024 г.

Установка простого DNS сервера DNSMASQ в RockyLinux 9

Устанавливаем пакет DNSMASQ
# yum install dnsmasq

По умолчанию запущенный dnsmasq использует файл /etc/resolv.conf для установки вышестоящих DNS серверов, а файл /etc/hosts для задания своих имен.

Немного отредактируем конфигурационный файл:
# nano /etc/dnsmasq.conf
Необходимо раскомментировать директивы no-resolv и no-poll
Это запрещает брать настройки из файла /etc/resolv.conf и как-то влиять на этот файл.
no-resolv
no-poll

Затем необходимо прописать вышестоящие DNS сервера, которые теперь не берутся из /etc/resolv.conf
server=10.10.1.12
server=10.10.3.12

Раскомментируем директиву, которая отключает кэширование негативных ответов
no-negcache
Добавляем строку, определяющую, на каких интерфейсах будет работать DNS сервер.
Следующая строка заставляет сервер работать на всех интерфейсах
listen-address=0.0.0.0
При этом комментируем строку:
#interface=lo
Следующими директивами отключаем DHCP сервер на интерфейсах:
no-dhcp-interface=ens18
no-dhcp-interface=ens19

Тут ens18 и ens19 - имена интерфейсов на машине

Разрешаем доступ к серверу DNSMASQ по сети (по стандартому порту 53)
# systemctl start dnsmasq
# systemctl enable dnsmasq
# firewall-cmd --permanent --add-port=53/tcp
# firewall-cmd --permanent --add-port=53/udp
# firewall-cmd --reload


Проверка запущенных портов и возможности приема данных на портах через файрволл
# netstat -ltupn | grep dnsmasq
# firewall-cmd --list-all
# systemctl status dnsmasq


После каких либо изменений конфигурации DNSMASQ выполняем
# systemctl restart dnsmasq

Для того, что бы сам текущий сервер брал настройки из сервера DNSMASQ нужно в файл /etc/resolv.conf внести изменения.
Закомментировать все и прописать обращения к localhost
# nano /etc/resolv.conf
nameserver 127.0.0.1

Комментариев нет:

Отправить комментарий