hostprofi.ru
Подобрать хостинг
Термин·буква D

DHCP

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

DHCP (Dynamic Host Configuration Protocol) — протокол автоматического назначения IP-адресов, маски подсети, шлюза и DNS-серверов устройствам в сети при подключении, исключая ручную настройку каждого хоста.

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

Процесс DORA (DHCP handshake)

  • D — Discover: клиент отправляет broadcast (255.255.255.255) с поиском DHCP-сервера
  • O — Offer: сервер отвечает с предложением IP, маски, шлюза, DNS и lease time
  • R — Request: клиент запрашивает предложенные параметры (также broadcast — уведомляет другие серверы)
  • A — Acknowledge: сервер подтверждает аренду (lease) на указанное время

Что DHCP назначает клиенту

Основные параметры (RFC 2132): IP-адрес из пула, маска подсети, шлюз по умолчанию (Default Gateway), DNS-серверы (опция 6), время аренды (lease time, типично 24–168 часов), имя домена (Domain Name, опция 15). Дополнительно: WINS-серверы, NTP-серверы (опция 42), PXE boot server (опции 60, 66, 67 для сетевой загрузки ОС).

DHCP в хостинге

Для VPS IP-адрес обычно назначается через DHCP при первом запуске, затем фиксируется через DHCP Reservation (привязка MAC→IP) или статический IP. В облачных инфраструктурах (OpenStack, VMware vSphere) DHCP-сервер управляется оркестратором и назначает IP виртуальным машинам автоматически при создании. Cloud-init использует DHCP для первоначальной настройки сети при старте cloud-инстанса.

DHCPv6 и SLAAC

Для IPv6 существуют два механизма: DHCPv6 (аналог DHCPv4, stateful) и SLAAC (Stateless Address Autoconfiguration, RFC 4862): устройство само генерирует IPv6-адрес на основе prefix из Router Advertisement и своего MAC-адреса. SLAAC не требует DHCP-сервера, но не передаёт DNS-серверы (в базовом варианте).

История

DHCP разработан Ральфом Дрэмсом (Ralph Droms) и опубликован как RFC 1531 в октябре 1993 года — заменил более ранний BOOTP (RFC 951, 1985). RFC 2131 (1997) — актуальная спецификация DHCPv4. DHCPv6 (RFC 3315) вышел в 2003 году. ISC DHCP — самая распространённая open-source реализация, с 1996 года. Dnsmasq — лёгкий DNS/DHCP-сервер для небольших сетей, широко используется в роутерах (DD-WRT, OpenWrt).

DHCP Snooping и безопасность

DHCP Snooping — функция безопасности коммутатора: только «доверенные» (trusted) порты могут рассылать DHCP Offer-пакеты. Без snooping любое устройство в сети может поднять мошеннический DHCP-сервер и раздать клиентам неверные IP, шлюз или DNS — атака DHCP spoofing. Коммутаторы с DHCP Snooping фильтруют DHCP-ответы с untrusted-портов. Функция Dynamic ARP Inspection (DAI) работает поверх snooping: проверяет соответствие IP-MAC на основе базы DHCP-привязок, защищая от ARP spoofing атак. Для VPS-хостинга эти функции настраиваются на гипервизорном уровне — физическая сеть между хостами защищена.

DHCP и автоматизация облачных сред

В OpenStack DHCP-сервис предоставляется Neutron через dnsmasq-демон. При создании VM Neutron автоматически: создаёт DHCP reservation для MAC-адреса виртуального NIC, настраивает dnsmasq на выдачу нужного IP, добавляет DNS-имя VM. В cloud-init: первый boot VM получает IP через DHCP, затем cloud-init читает metadata с DHCP Option 121 (static routes) или через link-local адрес метаданных (169.254.169.254). Kubernetes использует DHCP для node-IP, а pod-IP назначаются через CNI (Calico, Flannel) отдельно от DHCP.

DHCP lease time: короткое время (1 час) быстро освобождает адреса при динамической инфраструктуре (cloud, kubernetes nodes). Длинное (7 дней) подходит для статичных офисных сетей. Для серверов: статический IP через DHCP reservation (MAC→IP binding) — лучше чем ручная статическая настройка, так как централизованно управляется DHCP-сервером.

Другие термины