Настройка DHCP и DNS на Centos 8
Довольно часто на практике приходится использовать DHCP-сервер и кэширующий DNS-сервер. Ранее использовал хорошо связку dhcp + bind. Однако его настройка занимала немало времени. В репозиториях CentOS предлагается dnsmasq, который объединяет в себе два сервиса.
На установленном сервере имеем 2 сетевых карты eno2, которая подключена к интернет и eno1, которая подключена к локальной сети.
Имя сервера server1.test.local
Интерфейс eno1 имеет IP-адрес — 192.168.1.254
Устанавливаем необходимые компоненты:
dnf -y install dnsmasq*
Открываем на редактирование файл конфигурации dnsmasq
vim /etc/dnsmasq.conf
Изменяем следующие строки:
domain-needed # Не перенаправлять запросы вышестоящим, если он без доменной части или без точки
server=/test.local/192.168.1.254 #Указываем сервер в локальной сети присваивает доменным именам — адреса (прямая зона)
server=/1.168.192.in-addr.arpa/192.168.1.254 #Указываем сервер локальной сети, который присваетвает адресу имя (обратная зона)
interface=eno1 #Интервейс полключенный к локальной сети разрешаем слушать DNS запросы и раздавать ip-адреса
listen-address=127.0.0.1
no-dhcp-interface=eno2 #Интрервейс полключенный к провайдеру запрещаем использовать DHCP
domain=test.local #устанавливает опцию DHCP «domain», тем самым потенциально устанавливая домен всех систем, настроенных DHCP
dhcp-range=192.168.1.30,192.168.1.199,255.255.255.0,7D # Указываем диапазон раздачи адресов с 192.168.1.30 по 192.168.1.199 с маской 255.255.255.0 срок аренды 7 дней (можно указать в часах — 12h (12 часов))
dhcp-host=00:C0:EE:BC:0E:71,192.168.31.2 # Присваиваем устройству (например принтеру) с MAC-00:C0:EE:BC:0E:71 постоянный IP — 192.168.1.2
по мас можно задать сразу и имя устройства, ip-адрес и время аренды
#dhcp-host=11:22:33:44:55:66,printer2,192.168.1.6,24h
dhcp-option=eno1,1,255.255.255.0 #Указываем присваиваемую DHCP маску сети.
dhcp-option=eno1,3,192.168.1.254 #Указываем присваиваемый DHCP адрес шлюза
dhcp-option=eno1,6,192.168.1.254 #Указываем присваиваемую DHCP адрес DNS сервера
dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases #Место хранения базы данных аренды.
Dhcp-authoritative #Устанавливаем DHCP серевер в авторитарный режим.
Запускаем сервис
systemctl restart dnsmasq
проверяем его работу
systemctl status dnsmasq
Разрешаем запуск сервиса при загрузке
systemctl enable dnsmasq
Добавляем сервисы в домашнюю зону файрвола
firewall-cmd —zone=home —permanent —add-service=dhcp
firewall-cmd —zone=home —permanent —add-service=dns
firewall-cmd —reload