Спасибо!

Мы Вам перезвоним.

Что такое DHCP и как он работает

12 2026
1:41PM

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

При первом подключении клиент обычно проходит четыре этапа, известные как DORA: Discover, Offer, Request, Acknowledge — поиск сервера, предложение адреса, запрос выбранного адреса и подтверждение аренды. В IPv4 для обмена DHCP используются UDP-порты 67 на стороне сервера и 68 на стороне клиента.

Полученный адрес предоставляется на определенный срок, если используется динамическое назначение. До истечения аренды клиент пытается ее продлить: по умолчанию первая попытка начинается после прохождения 50% срока, а следующая контрольная точка наступает после 87,5%. Конкретное поведение зависит от состояния клиента и ответов сервера.

Участники DHCP и ретрансляция запросов

В обмене DHCP участвуют три основных элемента:

  • Клиент — компьютер, сервер, смартфон или другое устройство, которому нужны IP-адрес и параметры сети.
  • DHCP-сервер — система, которая управляет адресным пулом, выбирает адрес для клиента и передает конфигурацию.
  • Агент ретрансляции (DHCP relay agent) — устройство, обычно маршрутизатор или коммутатор третьего уровня, которое передает DHCP-сообщения между подсетями.

Когда клиент еще не имеет IP-адреса, он не может обратиться к DHCP-серверу обычным способом по известному адресу назначения. Поэтому первоначальный поиск выполняется с помощью широковещательного сообщения в локальном сегменте. Маршрутизаторы обычно не пересылают такие широковещательные пакеты между подсетями.

Если DHCP-сервер находится в другой сети, на маршрутизаторе настраивают ретрансляцию. Агент принимает запрос клиента и пересылает его серверу. Поле giaddr в DHCP-сообщении содержит адрес интерфейса агента, через который клиент доступен. Сервер может использовать эту информацию, чтобы определить подсеть клиента и выбрать подходящий адресный пул.

Таким образом, один DHCP-сервер может обслуживать несколько подсетей, если между ними настроена ретрансляция и сервер располагает соответствующими диапазонами адресов.

Как устройство получает IP-адрес: процедура DORA

IP-адрес идентифицирует устройство в IP-сети, а MAC-адрес используется для доставки кадров внутри локального канального сегмента. Когда сетевой интерфейс включается без настроенного IPv4-адреса, DHCP-клиент начинает поиск сервера. Полный первоначальный обмен обычно состоит из четырех сообщений.

  1. Discover — поиск DHCP-сервера

    Клиент отправляет DHCPDISCOVER, чтобы обнаружить доступные серверы. Поскольку у него еще нет действующего адреса, запрос обычно передается широковещательно. Его получают DHCP-серверы в том же сегменте либо агент ретрансляции, если он настроен.

  2. Offer — предложение адреса

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

    При наличии нескольких DHCP-серверов клиент может получить несколько предложений. Сам факт отправки предложения еще не означает, что адрес окончательно назначен.

  3. Request — выбор предложения

    Клиент выбирает одно из предложений и отправляет DHCPREQUEST, сообщая, какой сервер и какой предложенный адрес он принимает. На начальном этапе это сообщение обычно передается широковещательно.

    Благодаря этому остальные серверы видят, что клиент выбрал другое предложение, и могут вернуть предложенные адреса в доступный пул. Отдельный запрос от выбранного сервера к остальным серверам для уведомления не требуется.

  4. Acknowledge — подтверждение аренды

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

    Перед использованием адреса клиент проверяет, не занят ли он другим узлом. Если обнаружен конфликт, клиент отправляет серверу DHCPDECLINE, указывая, что предложенный адрес использовать нельзя, и ждет не менее десяти секунд перед повторной попыткой. Серверу в таком случае необходимо выяснить причину конфликта и не выдавать проблемный адрес другим клиентам до проверки.

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

Что происходит при перезагрузке и смене сети

Если клиент перезагрузился и сохранил сведения о ранее полученном адресе, он может попытаться использовать сокращенную процедуру. Вместо полного поиска серверов он отправляет DHCPREQUEST, запрашивая подтверждение прежнего адреса.

Если адрес по-прежнему допустим для этой сети, сервер может ответить DHCPACK. Если адрес недопустим, например потому, что клиент оказался в другой подсети, сервер может отправить DHCPNAK. После отказа клиент должен прекратить использовать этот адрес и начать процедуру получения конфигурации заново.

Сохраненный адрес не гарантирует, что его можно применять после подключения к другой сети. Решение зависит от текущей подсети, состояния аренды и ответа DHCP-сервера.

Способы назначения IP-адресов

RFC 2131 описывает три способа назначения адресов. Они различаются тем, насколько долго адрес закрепляется за клиентом и кто определяет конкретный адрес.

Способ Как работает Когда подходит
Автоматическое назначение Сервер выбирает адрес и закрепляет его за клиентом на постоянной основе Устройствам, которым нужен устойчивый адрес без ручной настройки
Динамическое назначение Сервер выдает адрес на ограниченный срок Рабочим станциям, гостевым устройствам и сетям с меняющимся составом клиентов
Ручное назначение Администратор задает соответствие клиента и адреса, а сервер передает назначенный адрес Устройствам с заранее определенной адресацией

В повседневной практике ручное назначение часто реализуют через резервирование адреса на DHCP-сервере, например по MAC-адресу клиента. Это позволяет централизованно управлять настройками, сохраняя за определенным устройством один и тот же IP-адрес. Конкретный механизм резервирования зависит от реализации DHCP-сервера.

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

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

Какие параметры DHCP передает клиенту

DHCP нужен не только для выдачи IP-адреса. Сервер также может сообщить параметры, необходимые для работы в сети:

Параметр DHCP-опция по RFC 2132 Назначение
Маска подсети 1 Определяет границы локальной IP-подсети
Шлюз по умолчанию 3 Указывает маршрутизатор для доступа к другим сетям
DNS-серверы 6 Определяет серверы для разрешения доменных имен
Время аренды 51 Задает срок использования адреса

DHCP-сервер может передавать и другие параметры, например имя домена или список дополнительных серверов. Набор опций зависит от конфигурации сети и возможностей клиентов.

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

Что делать, если DHCP не выдает адрес

Причину сбоя удобнее искать последовательно: проверить состояние клиента, доступность сервера, правильность адресного пула и передачу сообщений между подсетями.

Симптом Что проверить Возможная причина
Устройство получило адрес 169.254.x.x Доступность DHCP-сервера, подключение к сети и работу ретрансляции Клиент не получил обычную IPv4-конфигурацию и самостоятельно назначил link-local-адрес
IP-адрес есть, но интернет не работает Маску, шлюз, DNS и маршрутизацию Ошибка в параметрах сети или неисправность за пределами DHCP
Раньше адрес выдавался, а теперь исчез Срок аренды, доступность сервера и состояние адресного пула Аренда истекла, сервер недоступен или адреса закончились
Появился конфликт IP-адресов Настройки статических адресов, резервирования и динамического диапазона Один адрес назначен нескольким устройствам
После перезагрузки сервера адреса перестали выдаваться Состояние службы, конфигурацию пулов, доступность сети и ретрансляцию Служба не запустилась, конфигурация изменилась или запросы не доходят до сервера

Адрес 169.254.x.x: что он означает

Диапазон 169.254.0.0/16 предназначен для IPv4 link-local-адресации. Если устройство не может получить обычную конфигурацию, оно может самостоятельно выбрать адрес из этого диапазона и использовать его для связи с другими устройствами в том же физическом или логическом сегменте.

Такой адрес не предназначен для маршрутизации через обычные IP-маршрутизаторы. Поэтому появление 169.254.x.x — повод проверить получение DHCP-ответа, но не доказательство поломки самого сервера: проблема может быть в кабеле, VLAN, настройках ретрансляции или доступности адресного пула.

Если адрес получен, но связи нет

Нужно отделить проблему DHCP от проблем маршрутизации и DNS. Если IP-адрес, маска и шлюз корректны, но доменные имена не разрешаются, следует проверить доступность и настройки DNS-серверов. Если не работают даже обращения к узлам за пределами локальной подсети, стоит проверить шлюз и маршруты.

Если возникает конфликт адресов

Проверьте, не назначен ли тот же адрес вручную другому устройству, не пересекаются ли диапазоны нескольких DHCP-серверов и правильно ли настроены резервирования. При обнаружении занятого адреса DHCP-клиент может отправить DHCPDECLINE, однако полагаться только на этот механизм не следует: необходимо устранить причину конфликта.

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

DHCP, DNS и загрузка по сети

DHCP и DNS решают разные задачи. DHCP передает клиенту сетевые параметры, а DNS сопоставляет доменные имена и IP-адреса. Сам по себе DHCP не регистрирует клиента в DNS автоматически: динамическое обновление записей возможно при наличии соответствующего механизма и настройки инфраструктуры.

DHCP также применяется при сетевой загрузке, например в сценариях PXE. Поле siaddr в DHCP-сообщении содержит адрес следующего сервера для загрузки, а поле file может содержать имя загрузочного файла. Их назначение зависит от сценария и настроек загрузочной инфраструктуры.

DHCP развился из механизма BOOTP; RFC 2131 заменил более ранний RFC 1541. Для IPv6 используется отдельный протокол DHCPv6, описанный в других RFC, поэтому рассмотренные здесь порты и детали обмена относятся к DHCPv4.

Протестируйте инфраструктуру в Cloud Server

Если вы отвечаете за ИТ-инфраструктуру компании, облачный сервер может стать площадкой для проверки сетевых сценариев, тестирования конфигураций и подготовки новых сервисов до внедрения в рабочую среду.

Попробуйте Cloud Server от LanCloud: доступен месяц бесплатного тестирования. Это возможность оценить облачную инфраструктуру на практике и понять, подходит ли она для ваших задач.

Оформление заказа
Мы, ООО «ЛанКей ИТ», гарантируем конфиденциальность получаемой нами информации. Обработка персональных данных осуществляется в целях исполнения заказов, договоров и пр. услуг в соответствии с «Политикой конфиденциальности персональных данных».
Отправляем...
Оформление заказа

0.00 ₽ /мес.

Количество лицензий:

Мы, ООО «ЛанКей ИТ», гарантируем конфиденциальность получаемой нами информации. Обработка персональных данных осуществляется в целях исполнения заказов, договоров и пр. услуг в соответствии с «Политикой конфиденциальности персональных данных».
Отправляем...