В этой статье описано, как установить и настроить Dnsmasq в Debian — легковесный DNS-форвардер и DHCP-сервер для локальных сетей. Управление службами осуществляется через systemctl, а разрешение имён выполняется на основе записей в /etc/hosts.
1. Установка Dnsmasq
Установите пакет dnsmasq с помощью менеджера пакетов:
root@srv:~# apt -y install dnsmasq
2. Настройка Dnsmasq
Отредактируйте основной конфигурационный файл:
root@srv:~# vi /etc/dnsmasq.conf
Раскомментируйте или добавьте следующие строки:
# line 19: never forward plain names domain-needed # line 21: never forward non-routable addresses bogus-priv # line 53: query servers strictly in resolv.conf order strict-order # line 67: forward queries for specific domain to specific server server=/server.education/10.0.0.10 # line 116: bind only to specified interface interface=enp1s0 # line 134: bind to interfaces explicitly bind-interfaces # line 145: automatically append domain to short hostnames expand-hosts # line 155: set default domain domain=unlix.ru
После внесения изменений перезапустите службу:
root@srv:~# systemctl restart dnsmasq
3. Добавление DNS-записей
Добавьте нужные записи в файл /etc/hosts:
root@srv:~# vi /etc/hosts
Пример содержимого:
10.0.0.30 srv.unlix.ru srv 10.0.0.31 www.unlix.ru www
Примените изменения без полной перезагрузки службы:
root@srv:~# systemctl reload dnsmasq
4. Проверка разрешения имён
На клиентской машине укажите IP-адрес сервера Dnsmasq в качестве DNS-сервера:
root@client:~# vi /etc/resolv.conf
Добавьте строку:
nameserver 10.0.0.30
Если используется resolvconf или NetworkManager, настройте DNS через соответствующие конфигурационные файлы этих инструментов.
Проверьте прямое разрешение имени:
root@client:~# dig srv.unlix.ru.
Ожидаемый ответ:
;; ANSWER SECTION: srv.unlix.ru. 0 IN A 10.0.0.30
Проверьте обратное разрешение (PTR-запрос):
root@client:~# dig -x 10.0.0.30
Ожидаемый ответ:
;; ANSWER SECTION: 30.0.0.10.in-addr.arpa. 0 IN PTR srv.unlix.ru.

