Гид по технологиям

Настройка Dnsmasq как DHCP‑сервера

• 7 min read • Сеть • Обновлено 18 Nov 2025
Dnsmasq как DHCP‑сервер: настройка и рекомендации
Dnsmasq как DHCP‑сервер: настройка и рекомендации

Неоновая вывеска с надписью «DHCP»

Быстрые ссылки

  • Подготовка Dnsmasq
  • Конфигурация DHCP
  • Настройка статических IP
  • Использование DHCP сервера
  • Авторитетный режим
  • Дополнительные настройки
  • Безопасность и отладка
  • Плейбук развертывания
  • Критерии приёмки
  • Краткое резюме

Dnsmasq — это лёгкий сетевой сервер, который предоставляет функции DNS, DHCP, TFTP и PXE. В этом руководстве описано, как настроить свежую установку Dnsmasq в качестве автономного DHCP‑сервера для локальной сети.

Определение: DHCP (Dynamic Host Configuration Protocol) — протокол, по которому устройства в сети получают IP‑адреса и сопутствующие параметры (шлюз, DNS и т. д.).

Подготовка Dnsmasq

Dnsmasq включён во многие дистрибутивы Linux. Если пакет не установлен, добавьте его через менеджер пакетов вашего дистрибутива:

# Debian/Ubuntu
sudo apt update && sudo apt install dnsmasq

# CentOS/RHEL
sudo yum install dnsmasq

Стандартный файл конфигурации:

/etc/dnsmasq.conf

Для отдельных настроек используйте каталог:

/etc/dnsmasq.d

По умолчанию Dnsmasq слушает все сетевые интерфейсы. Если хотите ограничить работу конкретным интерфейсом, укажите его в конфиге:

# Only operate on eth0
interface=eth0

Если DNS‑функциональность не нужна, отключите её, установив порт в 0:

port=0

После этих шагов Dnsmasq готов работать в режиме только DHCP.

Конфигурация DHCP

Для включения DHCP укажите диапазон выдаваемых IP‑адресов:

dhcp-range=192.168.0.101,192.168.0.150,255.255.255.0,6h

Эта строка заставляет Dnsmasq предлагать адреса от 192.168.0.101 до 192.168.0.150 в сети 255.255.255.0. Время аренды — 6 часов. Подбирайте значения под вашу сеть и избегайте пересечения с адресами, которые планируете назначать статически.

По умолчанию Dnsmasq будет предлагать себя в качестве шлюза. Если вы хотите, чтобы шлюзом оставался роутер, укажите его явно:

dhcp-option=3,192.168.0.1

Замените IP на адрес вашего роутера. Клиенты будут использовать роутер как шлюз после получения аренды от Dnsmasq.

Настройка статических IP

Чтобы централизованно резервировать IP для конкретных устройств, используйте dhcp-host с MAC‑адресом:

dhcp-host=ab:cd:ef:12:34:56,example-host,192.168.0.10,infinite

В этом примере устройство с MAC ab:cd:ef:12:34:56 получит имя example-host и фиксированный IP 192.168.0.10. Параметр infinite делает аренду бессрочной.

Можно добавлять столько строк dhcp-host, сколько нужно. Рекомендуется явно зарезервировать IP для роутера и критичных серверов.

Для удобства поддержания списка можно хранить хосты в отдельном файле или каталоге:

--dhcp-hostsfile=/etc/dnsmasq.d/hosts
--dhcp-hostsdir=/etc/dnsmasq.d/hosts.d

При использовании каталога Dnsmasq автоматически подхватывает изменения без перезапуска.

Использование DHCP сервера

После изменения конфигурации проверьте её корректность:

dnsmasq --test

Затем примените изменения перезапуском службы:

sudo systemctl restart dnsmasq

Отключите встроенный DHCP на роутере. Настройте роутер или клиентские устройства на использование IP вашего Dnsmasq для DHCP. Шаги зависят от производителя роутера — см. документацию устройства.

Чтобы принудительно получить новую аренду на клиенте, перезапустите сетевой сервис на устройстве:

sudo systemctl restart networking
# или
sudo ifdown eth0 && sudo ifup eth0

DNSMasq хранит текущие аренды в файле аренды. Посмотреть активные устройства можно так:

cat /var/lib/misc/dnsmasq.leases

Логи службы покажут ошибки при возникновении проблем:

sudo journalctl -u dnsmasq.service

Авторитетный режим

При добавлении нового DHCP‑сервера в существующую сеть устройства могут пытаться восстановить ранее выданные IP. Свежая инстанция Dnsmasq об этом не знает и может отклонять такие запросы — клиент повторит запрос позже и возможна задержка в подключении.

Если Dnsmasq будет единственным DHCP‑сервером в сети, добавьте:

dhcp-authoritative

В этом режиме Dnsmasq принимает запросы от клиентов, даже если у него нет записи о предыдущих арендах, и быстрее выдаёт адрес, избегая длительных таймаутов.

Дополнительные настройки

Несколько полезных опций и пояснений:

  • Последовательная выдача IP
dhcp-sequential-ip

По умолчанию Dnsmasq хеширует MAC и обычно выдаёт одинаковые IP. Опция dhcp-sequential-ip заставит сервер выдавать адреса по порядку.

  • Максимум арендуемых адресов
dhcp-lease-max=100

Контролирует число одновременных аренд. По умолчанию — 1000. Для малой сети имеет смысл уменьшить значение, чтобы защититься от атак, где злоумышленник создаёт много фиктивных аренд.

  • Альтернативные порты DHCP
dhcp-alternate-port=8068,8068

Меняет порты для DHCP‑серверов и клиентов (по умолчанию 67 и 68). Обычно менять не нужно.

  • Файл аренды
dhcp-leasefile=/dhcp-leases

Переопределяет путь к файлу с арендами. По умолчанию /var/lib/misc/dnsmasq.leases.

Безопасность и жёсткая конфигурация

Встраивание Dnsmasq в сеть повышает требования к безопасности. Рекомендуемые практики:

  • Ограничьте интерфейсы через interface= или bind-interfaces.
  • Запускайте Dnsmasq под отдельным системным пользователем по умолчанию (обычно уже так поставляется).
  • Ограничьте dhcp-lease-max для защиты от DoS‑атак.
  • Контролируйте доступ к файлам конфигурации и каталогу /etc/dnsmasq.d через права доступа.
  • Логируйте события и подключайте систему централизованного логирования для анализа.
  • В сетях с гостевыми пользователями используйте VLAN или отдельный интерфейс, чтобы ограничить доступ к административным ресурсам.

Конфиденциальность и соответствие

Dnsmasq хранит MAC‑адреса и соответствующие IP в файле аренды. Если в вашей организации действуют политики по защите персональных данных:

  • Оцените необходимость хранения MAC и ведите журнал только столько, сколько требуется по политике.
  • При необходимости автоматизируйте удаление старых записей аренды.
  • Для GDPR‑совместимости обеспечьте доступ к логам только уполномоченным администраторам и документируйте процесс обработки данных.

Отладка и частые проблемы

Когда может не работать:

  • Конфликт DHCP: одновременно работает встроенный DHCP роутера и Dnsmasq. Решение: отключите один из серверов.
  • Неверный интерфейс: Dnsmasq слушает не тот интерфейс. Решение: проверьте interface= и bind-interfaces.
  • Неверные права на файлы: сервис не может читать конфиги или писать файл аренды.
  • Порт 67 занят другим процессом. Найдите процесс и освободите порт.

Быстрые команды для проверки:

# Проверка конфигурации
dnsmasq --test

# Проверка прослушиваемых портов
sudo ss -ltnp | grep :67

# Просмотр арен
cat /var/lib/misc/dnsmasq.leases

# Просмотр логов
sudo journalctl -u dnsmasq.service -n 200

Плейбук развертывания (шаг за шагом)

  1. Подготовка среды
    • Обновите систему и установите dnsmasq.
    • Создайте резервную копию /etc/dnsmasq.conf и любых файлов в /etc/dnsmasq.d.
  2. Базовая конфигурация
    • Укажите interface=.
    • Отключите DNS, если нужен только DHCP: port=0.
    • Настройте dhcp-range и dhcp-option=3,.
  3. Статические аренды
    • Добавьте dhcp-host для критичных устройств.
    • Разместите их в отдельном файле, например /etc/dnsmasq.d/hosts.
  4. Тестирование и запуск
    • Выполните dnsmasq --test.
    • Перезапустите службу sudo systemctl restart dnsmasq.
    • Отключите DHCP на роутере.
  5. Мониторинг
    • Проверьте файл арен и логи.
    • Настройте алерты или мониторинг при массовом росте аренд.
  6. Пост‑внедрение
    • Документируйте все статические назначения.
    • Планируйте регулярный аудит файлов конфигурации и прав доступа.

Роль‑ориентированные чек‑листы

Администратор сети

  • Проверить установку пакета.
  • Настроить interface=, dhcp-range, dhcp-option.
  • Зарезервировать IP ключевым устройствам.
  • Включить dhcp-authoritative при необходимости.
  • Настроить логирование.

Домашний пользователь

  • Использовать узкий DHCP‑диапазон.
  • Не менять стандартные порты.
  • Резервировать роутер и NAS.

ИТ‑инфраструктура предприятия

  • Разделить трафик по VLAN.
  • Интегрировать логи в SIEM.
  • Документировать политику хранения логов и доступов.

Критерии приёмки

  • Клиенты получают адреса в заданном диапазоне.
  • Статические аренды соответствуют заданным MAC и именам хостов.
  • При рестарте сервиса активные клиенты получают IP без длительных таймаутов (если включён dhcp-authoritative).
  • Логи не содержат ошибок при старте Dnsmasq.
  • Резервный DHCP отключён (если Dnsmasq единственный сервер).

Диаграмма принятия решения

flowchart TD
  A[Начало] --> B{Есть ли в сети другой DHCP?}
  B -- Да --> C[Отключить встроенный DHCP роутера или перевести в режим моста]
  B -- Нет --> D[Включить dhcp-authoritative]
  C --> E[Настроить dhcp-range и dhcp-option]
  D --> E
  E --> F{Нужны статические IP?}
  F -- Да --> G[Добавить dhcp-host для каждого устройства]
  F -- Нет --> H[Применить конфигурацию и протестировать]
  G --> H
  H --> I[Мониторинг и аудит]

Когда это не годится

  • В больших корпоративных сетях с тысячами клиентов Dnsmasq может оказаться слишком простым. Рассмотрите специализированные DHCP‑решения с централизованным управлением и репликацией.
  • Если требуется сложная интеграция с AD/LDAP для динамического присвоения имен и политик, лучше использовать решение уровня DHCP‑сервера в корпоративном стеке.

Миграция и совместимость

  • Перед переключением отключите старый DHCP и убедитесь, что у вас есть план отката.
  • Синхронизируйте диапазоны и зарезервированные адреса между старым и новым серверами.
  • В средах с несколькими подсетями используйте DHCP relay или устанавливайте Dnsmasq на каждом сегменте.

Короткое объявление для пользователей сети

Dnsmasq теперь обслуживает DHCP в нашей сети. Ожидайте, что устройства получат новые IP после перезапуска сетевого подключения. В случае проблем обратитесь в службу поддержки.

Факт‑бокс

  • Стандартные DHCP‑порты: 67 (сервер) и 68 (клиент)
  • Файл арен по умолчанию: /var/lib/misc/dnsmasq.leases
  • Значение dhcp-lease-max по умолчанию: 1000
  • Опция для авторитетного режима: dhcp-authoritative

Краткое резюме

Dnsmasq — простой и гибкий инструмент для управления DHCP в малых и средних сетях. Он позволяет централизовать статические аренды, гибко настраивать диапазоны и защищать сервис от базовых атак. Для крупных производственных сред может потребоваться более сложная система, но для домашних и офисных сетей Dnsmasq остаётся оптимальным выбором.

Важное: сохраняйте резервные копии конфигураций и документируйте статические назначения, чтобы избежать конфликтов IP в будущем.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро