Wiki
Сеть

DHCP — что это простыми словами

DHCP — протокол автоматической раздачи IP-адресов, DNS-серверов и gateway устройствам в сети. Работает по UDP 67/68, стандарт домашних и корпоративных LAN с 1993 года.

Dynamic Host Configuration Protocol (DHCP) — сервер выдаёт устройству IP-адрес, маску подсети, gateway и DNS-серверы в момент подключения к сети. Устройство не должно знать свой IP заранее — вошло в Wi-Fi, за секунду получило IP.

Процесс — 4 шага DORA: (1) Discover — клиент broadcastом кричит «есть DHCP?» на UDP:67. (2) Offer — сервер отвечает «предлагаю 192.168.1.42». (3) Request — клиент подтверждает «беру». (4) Acknowledge — сервер записывает lease в БД, обычно на 24 часа.

Ключевые параметры конфига (`/etc/dhcp/dhcpd.conf` для isc-dhcp-server): `subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.1; option domain-name-servers 1.1.1.1, 8.8.8.8; default-lease-time 86400; }`.

На VPS/dedicated обычно не нужен — публичный IP выделяется хостером статически, `netplan`/`ifupdown` конфиг прошит в образе. DHCP запускается на роутерах, ADSL-модемах, Wi-Fi-точках, гипервизорах (для приватных VM-сетей).

IPv6-аналог — SLAAC (Stateless Address Autoconfiguration) + DHCPv6. Устройство само себе присваивает адрес из объявленного роутером префикса без сервера.

Частые вопросы

Как узнать текущий lease?
Linux: `cat /var/lib/dhcp/dhclient.leases` или `nmcli device show`. macOS: `ipconfig getpacket en0`.
Что если два DHCP-сервера в одной сети?
Race condition — клиент возьмёт первого ответившего. Часто ломает сеть. Один DHCP на broadcast-домен — правило.