Что такое DHCP? DHCP (Dynamic Host Configuration Protocol) — это сетевой протокол, который автоматически назначает устройствам IP-адреса и другие сетевые параметры, позволяя им подключаться к сети и взаимодействовать с другими устройствами без ручной настройки. Какую проблему решает протокол DHCP Когда устройство подключается к сети, необходимо настроить его сетевой адаптер - назначить минимальные сетевые настройки: IP-адрес хоста, маску подсети, в которой он находится, и IP-адрес шлюза (это маршрутизатор, через который компьютер будет получать доступ в другие сети, в том числе, в Интернет). Изначально все эти параметры настраивались вручную. Это создавало сложности: нужно было следить, чтобы IP-адреса не повторялись, следить за тем, какие IP-адреса освобождались. В процессе назначения адресов возникали ошибки. Поэтому каждое подключение к сети нового устройства требовало времени и участия специалиста. В 1990 году был предложен и в 1997 введен в действие протокол DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла), который смог автоматизировать настройку сетевого адаптера для подключения к конкретной сети. Благодаря протоколу DHCP компьютер при подключении к сети автоматически получает все сетевые настройки и никакие действия пользователя не требуются. Компоненты DHCP Для работы протокола DHCP требуется несколько ключевых компонентов. Первый из них - DHCP-сервер - центральный элемент системы, отвечающий за выделение IP-адресов и передачу вспомогательных параметров клиентам. Сервер хранит настройки сети, ведёт учёт свободных и занятых адресов, фиксирует время выдачи и истечения аренды, а также реагирует на запросы клиентов, формируя для них ответы с параметрами конфигурации. DHCP-клиент - это любое устройство, которое запрашивает параметры сети. Клиент отправляет широковещательные сообщения, сообщая о необходимости получения IP-адреса, а затем принимает от сервера предлагаемые настройки. После получения конфигурации клиент использует её в течение установленного срока аренды. Пул адресов (Scope) представляет собой диапазон IP-адресов, которым располагает DHCP-сервер для выдачи клиентам. В рамках пула определяются не только сами адреса, но и параметры сети: маска, шлюз, DNS-серверы, время аренды, исключения и дополнительные опции. DHCP использует механизм аренды (lease), который обеспечивает временное предоставление адреса клиенту и возможность его повторного использования или переназначения после истечения срока аренды. То есть, каждый выданный IP-адрес имеет срок действия, по окончании которого клиент обязан продлить аренду или запросить новый адрес. Такой механизм позволяет серверу автоматически освобождать неиспользуемые адреса и поддерживать порядок в динамической сети. В сетях, где DHCP-сервер не расположен в той же подсети, что и клиенты, используется ретранслятор DHCP (DHCP Relay Agent). Этот компонент принимает широковещательные запросы от клиентов и пересылает их в виде адресованных сообщений на удалённый сервер. Благодаря ретранслятору можно централизовать обслуживание нескольких подсетей одним DHCP-сервером, минимизируя необходимость размещать серверы в каждой подсети. Как работает DHCP Итак, протокол DHCP подразумевает, что в сети должен быть развернут DHCP-сервер, от которого клиенты будут получать сетевые настройки: В крупных корпоративных сетях и в сетях провайдеров это будет отдельный выделенный сервер, развернутый ЦОДе (Центр обработки данных — это комплекс помещений, где размещается IT-инфраструктура (серверы и сетевое оборудование)) или в главном офисе, чтобы централизованно выдавать IP по всем филиалам. В домашних и малых офисных сетях это могут быть маршрутизаторы или Wi-Fi роутеры со встроенным DHCP-сервером. На этом сервере хранится список IP-адресов для выдачи, который называется пулом. Назначение адресов происходит следующим образом: 1. Компьютер (клиент) физически подключается к сети (например, ноутбук подключился к Wi-Fi или в сетевой адаптер вставлен сетевой кабель). У него ещё нет IP-адреса. 2. DHCP-клиент отправляет широковещательный (то есть, предназначенный не конкретному узлу и не на конкретный порт, а всем узлам сети) запрос в сеть: DHCPDISCOVER — «Кто может выдать мне IP?» Этот запрос будет получен всеми узлами сети, в том числе, DHCP-сервером. DHCP передает пакеты по протоколу UDP (User Datagram Protocol) вместо TCP (Transmission Control Protocol), потому что UDP обеспечивает быструю передачу без установления соединения, что идеально для первоначального запроса IP-адреса клиентом. При этом сервер DHCP слушает UDP порт 67, а клиент - UDP порт 68. 3. DHCP-сервер, получивший запрос, подбирает свободный адрес из своего пула и отправляет такой же широковещательный ответ: DHCPOFFER — «Могу предложить IP 192.168.1.105, срок аренды 24 часа, шлюз 192.168.1.1, DNS 8.8.8.8». 4. Клиент может получить несколько предложений от нескольких DHCP, но выбирает одно (как правило, первое полученное) и отправляет широковещательно: DHCPREQUEST — «Хочу использовать 192.168.1.105 от этого сервера». 5. Выбранный сервер закрепляет за клиентом выбранный адрес и отвечает широковещательным ответом: DHCPACK — «Адрес 192.168.1.105 за тобой на 24 часа». 6. Теперь клиент знает: свой IP-адрес, маску подсети, шлюз по умолчанию, DNS-серверы, и прочие параметры (например, время аренды, полное доменное имя, которое DHCP-клиент должен использовать., WINS и т. д.). Как говорилось выше, адрес выдаётся не навсегда, а на срок аренды: по умолчанию на 24 часа. Поэтому, помимо процедуры выдачи IP-адреса, в протоколе DHCP описана процедура продления аренды: 1. Когда истекает половина срока аренды (T1), клиент запрашивает продление аренды с помощью сообщения: DHCPREQUEST — «Хочу продолжить использовать 192.168.1.105» 2. Сервер может отклонить запрос (request) о продлении сообщением: DHCPNAK «Ты больше не можешь использовать адрес 192.168.1.105, выбери другой» После этого клиент должен пройти процесс получения IP-адреса с самого начала. 3. Если сервер принимает запрос, он посылает клиенту ответ: DHCPACK — «Адрес 192.168.1.105 за тобой еще на 24 часа». Отсчёт времени аренды начинается заново. 4. Если подтверждение (DHCPACK) от DHCP-сервера не поступает, клиент делает запросы еще несколько раз, увеличивая частоту запросов. И если сервер не ответил, за 87,5% (7/8) от срока аренды (T2), то клиент начинает отправлять широковещательные запросы и с этого момента может получить адрес от любого DHCP-сервера. Это сделано для того, если первый сервер по какой-то причине недоступен, на запрос адреса сможет ответить любой другой, и работа не будет прервана. 5. Если аренда истекает, а продления нет — клиент должен отказаться от адреса и снова пройти процесс с нуля. Подходы к распределению адресов У DHCP есть три основных метода назначения IP-адресов: 1. Статическое распределение. При таком способе администратор вручную задаёт привязку: MAC-адрес клиента → конкретный IP. Тогда устройство всегда получает один и тот же адрес, где бы и когда бы оно ни подключилось. Обычно такой способ используется для серверов, принтеров, камер и других устройств, которые должны иметь постоянный IP. 2. Автоматическое распределение. Этот способ похож на предыдущий. DHCP-сервер один раз выдаёт свободный IP из пула и закрепляет его за клиентом навсегда. Если клиент уйдёт и вернётся через неделю — получит тот же адрес. Срок аренды в этом случае бессрочный. 3. Динамическое распределение Это наиболее распространённый режим. Сервер выдаёт IP из пула на время аренды. По истечении аренды адрес возвращается в пул и может быть выдан другому клиенту. Этот способ оптимален для Wi-Fi сетей, крупных организаций и провайдеров, где устройства постоянно меняются. Что еще умеет DHCP DHCP — это не просто выдача IP-адресов. Протокол позволяет передавать клиенту широкий набор сетевых параметров, которые помогают ему корректно работать в сети. Эти параметры называются DHCP options. Так, кроме IP и маски подсети и шлюза DHCP-сервер может сообщать клиентам: Список серверов DNS, которые клиент будет использовать. Домен по умолчанию для поиска (например, company.local). Таблицы статических маршрутов. Адрес сервера времени в сети, чтобы клиент мог синхронизировать часы. Адреса серверов для загрузки конфигураций или прошивок (например, для IP-телефонов и IP-камер). Имя загрузочного файла для PXE-boot устройств (Preboot eXecution Environment) — это технология, позволяющая устройству загружать операционную систему с сервера по сети вместо локального носителя. Этот перечень параметров не исчерпывающий и может гибко настраиваться и расширяться. Какие могут быть опасности, связанные с использованием DHCP С использованием протокола DHCP связаны и некоторые опасности, которые нужно учитывать. Например, если в сети настроен только один DHCP-сервер, он может быть единой точкой отказа: новые клиенты не смогут получить IP-адреса. Клиенты, которые уже получили свои адреса, будут использовать их до окончания срока аренды. В малых сетях эта проблема легко решается, а в больших может привести к простою в работе. Для корпоративных сетей, где важна безопасность, рекомендуется настраивать несколько DHCP-серверов. Специалисты "Нейроинформ" рекомендуют использовать технологию DHCP Failover для обеспечения отказоустойчивости. Кроме того, злоумышленник может настроить в локальной сети свой DHCP-сервер с неверной сетевой конфигурацией и тогда клиентские устройства потеряют доступ к сети из-за неверных настроек. Также злоумышленник может организовать поток поддельных сообщений DHCPREQUEST, чтобы быстро исчерпать пул адресов на сервере. И если описанные выше угрозы в локальной сети могут быть быстро локализованы и устранены, то следующая атака несет реальную угрозу при пользовании общественными Wi-Fi сетями: DHCP-клиенты могут получать неправильные IP-адреса, шлюзы и DNS-серверы и в результате весь трафик пойдет через устройство злоумышленника. Этот вид атаки называется «человек посередине» (Man-in-the-Middle, MITM) и позволяет злоумышленнику собирать ваш трафик. Также подделка шлюзы и DNS-серверов позволяет злоумышленнику перенаправлять пользователей на фишинговые ресурсы. Поэтому при пользовании общественными беспроводными сетями нужно быть очень осторожным и не использовать их без острой необходимости. Заключение Таким образом, протокол DHCP является одним из ключевых элементов современной сетевой инфраструктуры, обеспечивая автоматическое распределение IP-адресов и других сетевых параметров, в том числе, обеспечивающих безопасность компонентов инфраструктуры. Он значительно упрощает подключение новых устройств к сети, снижает риск ошибок при ручной настройке и позволяет централизованно управлять адресным пространством. Однако использование DHCP связано с определёнными рисками. Единственный сервер в сети может стать точкой отказа, поддельные DHCP-серверы могут перенаправлять трафик или создавать конфликты IP-адресов, а злоумышленники способны исчерпать пул адресов или организовать атаки типа «человек посередине». Поэтому важно сочетать удобство протокола с мерами осторожности, особенно при пользовании общественными сетями. Автоматическая киберзащита для вашего бизнеса Регулярный контроль чувствительных данных компании, понятные отчёты и экспертная поддержка с точными рекомендациями. запросить демо Советы по ИБ на практике Поделиться