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

Как настроить DHCP‑сервер для вашей локальной сети

• 7 min read • Сети • Обновлено 23 Nov 2025
Настройка DHCP‑сервера для локальной сети
Настройка DHCP‑сервера для локальной сети

Версия 1.0
Автор: Falko Timme

Краткое определение

DHCP — сокращение от «Dynamic Host Configuration Protocol». Это сетевой протокол, который автоматически выдаёт клиентам IP‑адрес, маску подсети, шлюз по умолчанию и другие сетевые параметры, если у клиента нет статической конфигурации.

Важно: перед развёртыванием убедитесь, что в вашей LAN нет другого активного DHCP‑сервера — одновременная работа двух серверов может вызвать конфликт адресов и потерю доступа у клиентов.

1 Предварительная информация

Текущая тестовая конфигурация, используемая в руководстве:

  • Сеть: 192.168.0.0/24 (маска 255.255.255.0), широковещательный адрес 192.168.0.255.
  • Шлюз по умолчанию: 192.168.0.1; на шлюзе нет собственного DHCP‑сервера.
  • DNS‑серверы, предоставленные провайдером: 145.253.2.75 и 193.174.32.18.
  • Пул динамических адресов: 192.168.0.200–192.168.0.229 (30 адресов), свободных и неиспользуемых статически.
  • DHCP‑сервер будет работать на хосте server1.example.com с IP 192.168.0.100 (Debian Sarge 3.1).

Если вы не уверены в параметрах своей сети (подсеть, маска, широковещательный адрес), используйте сетевые калькуляторы, например http://www.subnetmask.info

2 Установка DHCP‑сервера

На примере Debian Sarge установка выглядит так:

apt-get install dhcp3-server

Во время установки вас попросят указать сетевой интерфейс, на котором должен слушать сервер (в большинстве домашних/офисных конфигураций — eth0). Установка может завершиться сообщением, что служба не запущена — это нормально до момента настройки.

Note: В более новых версиях Debian/Ubuntu пакет и имя службы могут отличаться (например, isc‑dhcp‑server). Проверяйте документацию вашей дистрибуции.

3 Конфигурация DHCP‑сервера

Файл конфигурации: /etc/dhcp3/dhcpd.conf. Перед редактированием сохраните текущую версию для отката:

cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_orig
cat /dev/null > /etc/dhcp3/dhcpd.conf
vi /etc/dhcp3/dhcpd.conf

Вставьте в файл следующую минимальную конфигурацию (пример):

ddns-update-style none;

option domain-name-servers 145.253.2.75, 193.174.32.18;

default-lease-time 86400;
max-lease-time 604800;

authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.200 192.168.0.229;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
}

Объяснение ключевых опций кратко:

  • ddns‑update‑style none — отключает автоматическое обновление DNS‑записей по DHCP. Удобно, если вы не управляете DNS или предпочитаете ручную привязку.
  • option domain‑name‑servers — список DNS‑серверов, передаваемых клиентам.
  • default‑lease‑time, max‑lease‑time — время аренды адреса по умолчанию и максимальное время (в секундах).
  • authoritative — сервер будет отправлять DHCPNAK, если клиент использует некорректный адрес; полезно чтобы клиенты не держали «левые» настройки.
  • subnet/netmask — определение используемой подсети.
  • range — диапазон динамически выдаваемых адресов.
  • option broadcast‑address — широковещательный адрес подсети.
  • option routers — адрес шлюза (gateway), который получат клиенты.

Советы по настройке диапазона:

  • Не включайте в динамический пул адреса, которые заняты статически (серверы, принтеры, NAS). Зарезервируйте их вне пула или используйте фиксацию по MAC.
  • Для небольшого домашнего офиса пул в 20–50 адресов обычно достаточен. Подумайте о будущем росте.

4 Запуск и проверка службы

Перезапустите службу:

/etc/init.d/dhcp3-server restart

Проверьте процессы и сетевые слушатели:

ps aux
netstat -uap

Вы увидите службу dhcpd3, слушающую порт bootps (UDP 67). Для соответствия имени порта выполните:

grep bootps /etc/services

Если в вашей системе используется systemd, альтернативная команда для перезапуска и просмотра логов может быть:

systemctl restart isc-dhcp-server
journalctl -u isc-dhcp-server -e

Проверяйте лог /var/log/syslog или журнал systemd на предмет ошибок:

tail -n 100 /var/log/syslog

Если старт не удался, в логах обычно указывают причину: ошибка конфигурации, интерфейс недоступен, привилегии и т.п.

5 Как убедиться, что DHCP работает

На DHCP‑сервере вы увидите в логах события присвоения адресов. Например, при получении адреса клиентом с MAC 00:0c:76:8b:c4:16 в логах может появиться такой фрагмент:

Sep 19 16:01:26 server1 dhcpd: DHCPDISCOVER from 00:0c:76:8b:c4:16 via eth0
Sep 19 16:01:26 server1 dhcpd: DHCPOFFER on 192.168.0.229 to 00:0c:76:8b:c4:16 (matze) via eth0
Sep 19 16:01:31 server1 dhcpd: DHCPREQUEST for 192.168.0.229 (192.168.0.100) from 00:0c:76:8b:c4:16 (matze) via eth0
Sep 19 16:01:31 server1 dhcpd: DHCPACK on 192.168.0.229 to 00:0c:76:8b:c4:16 (matze) via eth0

Файлы аренды:

vi /var/lib/dhcp3/dhcpd.leases

Пример содержимого (часть файла):

# All times in this file are in UTC (GMT), not your local timezone.   This is
# not a bug, so please don't ask about it.   There is no portable way to
# store leases in the local timezone, so please don't request this as a
# feature.   If this is inconvenient or confusing to you, we sincerely
# apologize.   Seriously, though - don't ask.
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-V3.0.1

lease 192.168.0.229 {
  starts 2 2006/09/19 14:01:31;
  ends 3 2006/09/20 14:01:31;
  binding state active;
  next binding state free;
  hardware ethernet 00:0c:76:8b:c4:16;
  uid "\001\000\014v\213\304\026";
  client-hostname "matze";
}

Замечание: сроки аренды и часовой пояс в файле представлены в UTC; это поведение isc‑dhcpd.

6 Полезные команды для диагностики и отладки

  • tail -f /var/log/syslog — смотреть логи в реальном времени
  • grep DHCP /var/log/syslog — отфильтровать DHCP‑записи
  • ps aux | grep dhcp — проверить запущенный процесс
  • netstat -uap | grep dhcp — подтвердить слушание порта 67/udp
  • ip addr show eth0 — убедиться, что интерфейс сервера поднят

7 Когда настройка может не работать — типовые причины

  • В сети уже есть другой DHCP‑сервер (например, на роутере). Решение: отключите лишний сервер или используйте разные VLAN/сегменты.
  • Диапазон адресов пересекается со статически назначенными адресами. Решение: пересмотрите пул или выделите статические адреса вне пула.
  • Неправильный интерфейс указан в конфигурации службы (server слушает не на том интерфейсе). Решение: проверьте /etc/default/dhcp3-server и параметр INTERFACES.
  • Фаервол блокирует UDP‑порт 67. Решение: открыть порт 67/udp для интерфейса, на котором слушает DHCP.
  • Неправильные параметры сети в конфиге (маска, сеть). Решение: проверьте значения и используйте калькулятор подсетей.

8 Альтернативные подходы и инструменты

  • Использовать встроенный DHCP на маршрутизаторе — самый простой вариант для домашних сетей.
  • dnsmasq — лёгкий DHCP/DNS‑резолвер, удобен на роутерах и в малых сетях.
  • systemd‑networkd/netplan (в некоторых окружениях) — для простых случаев сетевой конфигурации.
  • Коммерческие DHCP‑серверы или инфраструктура управления адресами (IPAM) — для крупных сетей.

Выбор зависит от размера сети, требований к ведению учёта аренды и интеграции с DNS.

9 Практические эвристики и рекомендации

  • Правило 1: статические адреса (серверы, принтеры, NAS) — всегда вне пула динамики.
  • Правило 2: оставьте запас адресов в пуле на 20–30% больше текущей потребности.
  • Правило 3: используйте короткие лизинги (lease) в динамично меняющихся средах (где много мобильных устройств) и длинные — в стабильных.
  • Правило 4: помечайте аренды клиент‑хостнеймом и поддерживайте документацию/имя хоста.

10 Чек‑лист развёртывания (SOP)

  1. Проверить, нет ли другого DHCP‑сервера в сети.
  2. Заблокировать доступ к DHCP‑портам на пограничных интерфейсах (если применимо).
  3. Зарезервировать статические адреса вне пула.
  4. Скопировать оригинальный конфиг: cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_orig.
  5. Внести конфигурацию в /etc/dhcp3/dhcpd.conf.
  6. Перезапустить службу и проверить логи.
  7. Подключить тестовую машину без статической конфигурации и подтвердить получение адреса.
  8. Наблюдать за логами 24–72 часа для выявления конфликтов.

11 Ролевые чек‑листы

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

  • Подготовить IP‑план и определить пул.
  • Настроить DHCP и проверить интеграцию с DNS (если нужно).
  • Обновить документацию сети.

Служба поддержки (helpdesk):

  • Проверить, что клиент настроен на получение IP по DHCP.
  • При жалобах клиента выполнить ipconfig /renew (Windows) или dhclient (Linux).
  • Передать логи администратору при повторяющихся проблемах.

12 Безопасность и жёсткая настройка

  • Ограничьте интерфейс прослушивания сервера только теми интерфейсами, где требуется DHCP (параметр INTERFACES или конфигурация systemd).
  • Используйте DHCP‑сниффинг и защиту на коммутаторах (DHCP snooping) в корпоративных сетях, чтобы предотвратить подмену сервера злоумышленником.
  • Для критичных устройств применяйте статические IP или привязку по MAC, чтобы исключить случайную смену адреса.
  • Логи и аудит: храните логи DHCP для расследования инцидентов и мониторинга необычных аренд.

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

  • Сервис запущен и слушает UDP 67 на требуемом интерфейсе.
  • Клиент без статической конфигурации получает IP из заданного пула.
  • Клиент получает правильный шлюз и DNS‑серверы, и при этом имеет доступ в сеть/интернет.
  • В логах нет повторяющихся ошибок запуска/конфигурации.

14 Тестовые сценарии и приёмо‑сдаточные проверки

  • Подключить новый клиент, убедиться, что он получает IP из пула.
  • Повторить подключение после перезапуска клиента (renew) — адрес либо сохраняется, либо выделяется новый, но из пула.
  • Исчерпать пул (симуляция) и проверить поведение сервера: клиенты должны получать отказ, а в логах — запись о нехватке адресов.
  • Проверить, что статические адреса вне пула не затронуты.

15 Когда DHCP не подходит или неэффективен

  • Сеть с высокими требованиями к безопасности и учёту адресов — лучше использовать статические адреса для ключевых систем и централизованные инструменты IPAM.
  • Сети, где требуется немедленная гарантия доступности IP (например, кластерные решения), часто предпочитают статические адреса или DHCP‑reservations.

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

При переносе с роутера на выделенный DHCP‑сервер:

  • Временно отключите DHCP на роутере.
  • Настройте новый сервер с теми же DNS/шлюзами/диапазонами.
  • Наблюдайте за клиентами в течение переходного окна и откатите изменения при проблемах.

17 Ссылки

Итого: приведённая инструкция покрывает базовую установку и проверку ISC‑DHCP на Debian, диагностические приёмы и рекомендации по безопасности и эксплуатации. Удачи с настройкой и не забывайте документировать статические назначения.

Удачи!

Поделиться: 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 быстро