Определение простыми словами
DHCP — это автоматическая раздача сетевых настроек. Когда компьютер, телефон или виртуальный сервер впервые подключаются к сети, они посылают broadcast-запрос «дайте мне IP». DHCP-сервер отвечает оффером, выдаёт адрес из своего пула, маску, шлюз, DNS и срок аренды (lease time).
Без DHCP администратору пришлось бы прописывать настройки вручную на каждом устройстве. С DHCP подсеть любого размера разворачивается за минуты.
Сравнение
| Способ настройки | Скорость | Управляемость | Когда использовать |
|---|---|---|---|
| DHCP (динамика) | Высокая | Централизованная | Клиентские сети, офис, Wi-Fi |
| DHCP-резервации | Высокая | Централизованная | Принтеры, сервера, IoT |
| Статический IP вручную | Низкая | Локальная | Маршрутизаторы, отдельные хосты |
| SLAAC (IPv6) | Высокая | Минимальная | Простые IPv6-сети |
Кейсы использования
- Офисная сеть на 50–500 устройств: один DHCP-сервер раздаёт IP-адреса и обновляет настройки централизованно.
- Гостевой Wi-Fi в кафе и отелях: новые устройства получают доступ за секунды.
- Виртуальные машины в облаке: DHCP внутри подсети дата-центра выдаёт VM свой адрес и шлюз.
- PXE-загрузка серверов: DHCP вместе с TFTP передаёт ядро для сетевой установки ОС.
Когда DHCP неуместен: для критически важных хостов (контроллеры домена, NAS, маршрутизаторы) проще статика или резервация — чтобы IP не «уплыл» при сбое DHCP. Также DHCP уязвим к атакам rogue-сервера, требуется DHCP snooping на коммутаторах.
Технические детали
Установка и базовая конфигурация isc-dhcp-server на Ubuntu:
sudo apt install -y isc-dhcp-server
sudo tee /etc/dhcp/dhcpd.conf <<'EOF'
default-lease-time 3600;
max-lease-time 86400;
authoritative;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1;
option domain-name-servers 1.1.1.1, 8.8.8.8;
option broadcast-address 192.168.10.255;
}
EOF
sudo systemctl enable --now isc-dhcp-server
sudo systemctl status isc-dhcp-server
Диагностика на стороне клиента:
sudo dhclient -v eth0
ip addr show eth0
cat /var/lib/dhcp/dhclient.leases
sudo journalctl -u isc-dhcp-server -f
Протокол DHCP работает по UDP-портам 67 (сервер) и 68 (клиент). Этапы обмена — DORA: Discover, Offer, Request, Acknowledge. На крупных сетях DHCP-серверы дублируются (failover) и интегрируются с DNS для автоматического обновления записей.
🔥 Где это применяется
Частые вопросы
Что такое DORA в DHCP?
Discover-Offer-Request-Acknowledge — четыре стадии обмена. Клиент рассылает Discover, сервер отвечает Offer, клиент подтверждает Request, сервер закрепляет адрес ACK-сообщением.
Можно ли иметь несколько DHCP-серверов в сети?
Да, для отказоустойчивости настраивают failover-пару с разделением пула. Несогласованные серверы (rogue DHCP) приводят к конфликтам — защита через DHCP snooping на коммутаторах.
Как закрепить за устройством постоянный IP?
Через резервацию по MAC-адресу в конфиге DHCP-сервера. Устройство получает один и тот же IP, но настройки по-прежнему приходят централизованно.
Чем DHCP отличается от SLAAC?
SLAAC — механизм автоконфигурации IPv6: хост сам генерирует адрес из префикса, объявленного маршрутизатором. DHCPv6 нужен, когда требуется централизованно раздать DNS, время аренды и привязки.