DHCP: что скрывается за протоколом динамической конфигурации хоста

В наши дни подключить устройства к существующей сети TCP/IP действительно довольно просто: раньше вам приходилось вручную (и утомительно) назначать IP-адреса, а затем вводить их в различные системы. Теперь управление адресами происходит автоматически. Протокол динамической конфигурации хоста (DHCP) позволяет коммуникационному оборудованию (например, маршрутизаторам, концентраторам или коммутаторам) автоматически назначать индивидуальный адрес устройствам, ищущим подключения, и интегрировать их в сеть.

Что такое DHCP?

Протокол динамической конфигурации хоста — это расширение протокола загрузки (BOOTP), разработанного в 1985 году, который соединяет простые устройства, такие как терминалы и рабочие станции, не имеющие жесткого диска, с загрузочным сервером. Затем эти устройства получают доступ к вашей операционной системе через сервер. DHCP был разработан как решение для больших сетей и портативных компьютеров. Он дополняет BOOTP и другие протоколы возможностью автоматического назначения многоразовых сетевых адресов, а также дополнительными опциями конфигурации. После первых определений протокола в RFC 1531 и 1541 (оба 1993 года), окончательная стандартная спецификация была официально утверждена в 1997 году в RFC 2131. Управление по присвоению номеров в Интернете (IANA) назначило для протокола связи порты UDP 67 и 68 (для IPv6: порты 546 и 547), которые также назначены для Bootstrap Protocol.

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

  • Уникальный IP-адрес
  • маска подсети
  • Стандартный шлюз
  • DNS-сервер
  • Конфигурация прокси, например WPAD (Web Proxy Auto-Discovery Protocol).

Процесс DHCP: Как взаимодействуют клиент и сервер DHCP

Автоматическое присвоение адресов с помощью протокола динамической конфигурации хоста происходит в четыре последовательных шага:

  1. Для начала отправьте клиенту пакет DHCPDISCOVER с целевым адресом 255.255.255.255 и адресом источника 0.0.0.0. С помощью этой так называемой широковещательной рассылки все пользователи сети связываются с доступными серверами DHCP и сообщают им о запросе адреса. В идеале должен быть только один сервер, чтобы не возникало сложностей с назначением.
  2. Трансляция отвечает всем связавшимся DHCP-серверам, которые прослушивают порт 67 и ждут соответствующих запросов, пакетом DHCPOFFER. Помимо возможного свободного IP-адреса и MAC-адреса клиента, он также содержит маску подсети, а также IP-адрес и ID сервера.
  3. Клиент DHCP выбирает из данных адресов тот, который ему нужен, и сообщает об этом желаемому серверу с помощью DHCPREQUEST. Все остальные серверы также получат это сообщение, даже если они знают, что выбор был сделан в пользу другого провайдера. Клиент также запрашивает у сервера активацию предлагаемых данных. Кроме того, DHCPREQUEST используется для подтверждения ранее полученных параметров.
  4. Наконец, сервер подтверждает параметры TCP/IP и передает их обратно клиенту с помощью пакета DHCPACK (DHCP acknowledged). Он содержит дополнительную информацию — например, о сервере DNS, SMTP или POP3. Теперь клиент DHCP локально сохраняет все полученные данные и подключается к сети. Если сервер больше недоступен или IP был назначен другому клиенту в процессе настройки, он отвечает DHCPNAK (DHCP не подтвержден).

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

DHCP: ручное и динамическое присвоение адресов

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

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

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

DHCP информирует систему доменных имен

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

Насколько безопасен DHCP?

Одним из недостатков протокола динамической конфигурации хоста является то, что им довольно легко манипулировать: Поскольку клиент обращается ко всем потенциальным серверам DHCP, злоумышленники могут, например, ввести в игру своего собственного провайдера, если у вас есть доступ к этой сети. Один из таких «мошеннических» DHCP-серверов пытается быть быстрее реального сервера в своем ответе на запрос подключения клиента. В случае успеха он может передать манипулируемые или непригодные для использования параметры. Для этого он может начать атаку на отказ в обслуживании сети, например, не передавая шлюз, назначая подсеть каждому клиенту или отвечая на все запросы одним и тем же IP-адресом.

Более драматичным сценарием может быть попытка использовать ложный шлюз и ложную информацию DNS для внедрения иностранного маршрутизатора, который отсекает или даже перенаправляет трафик данных клиента. Цель такой атаки «человек посередине» — в отличие от первого типа атак — не разрушение сети, а доступ к конфиденциальным данным, таким как банковские данные, пароли или адресная информация.

Независимо от типа атаки, злоумышленникам необходим прямой доступ к вашей сети, чтобы использовать протокол DHCP в своих целях. Если вы примете необходимые меры предосторожности, вы сможете воспользоваться преимуществами протокола связи, не опасаясь подобных атак. Если вы отвечаете за большую локальную сеть, то полная защита от внешних и внутренних атак, а также постоянный мониторинг всех сетевых процессов с помощью таких инструментов, как Nagios, уже должны стать частью вашей рутины. В руководстве IONOS по теме безопасности Wi-Fi вы можете прочитать больше о том, какие возможности существуют для защиты беспроводных сетей.

Как включать и отключать DHCP

Если вы хотите присоединиться к локальной или беспроводной сети с помощью своего устройства, то обычно доступ к протоколу Dynamic Host Configuration Protocol осуществляется автоматически, без необходимости вносить какие-либо изменения в сетевые настройки. Компьютеры с операционными системами Microsoft Windows, например, уже давно настроены на работу в качестве клиентов DHCP, которые автоматически получают свои IP-адреса. По умолчанию при этом используется стиль динамического назначения, при котором конфигурации должны регулярно продлеваться или назначаться заново после истечения срока действия. В локальных сетях, используя соответствующие настройки DHCP-сервера, можно также использовать автоматическое присвоение фиксированной адресной информации.

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

Включение и отключение DHCP в Windows 7

  • Зайдите в панель управления через меню «Пуск» и выберите «Сеть и Интернет».
  • Откройте «Центр управления сетями и общим доступом» и выберите пункт «Изменить параметры адаптера» в меню слева.
  • Щелкните правой кнопкой мыши на настроенном LAN-подключении и в появившемся меню выберите пункт «Свойства».
  • В следующем меню вы увидите все службы, к которым имеет доступ выбранное сетевое подключение. Для настройки DHCP в Windows 7 важен интернет-протокол (TCP/IPv4 или IPv6), поэтому сейчас необходимо выбрать соответствующую версию и открыть обзор определенных свойств, нажав на одноименную кнопку.
  • В меню свойств интернет-протокола теперь можно увидеть, автоматически ли DHCP указывает IP-адрес и DNS-сервер, как на скриншоте ниже. В противном случае у вас есть возможность определить фиксированный IP-адрес, стандартный шлюз, маску подсети или предпочитаемый DNS-сервер.
  • Если вы намерены отключить DHCP, на этом шаге всегда следует задавать фиксированный IP-адрес и маску подсети (по умолчанию 255.255.255.0). Вы определяете потенциальный диапазон адресов IP в настройках сервера DHCP, который вы можете запросить, например, через пользовательский интерфейс вашего маршрутизатора, поскольку он выступает в качестве сервера. Там же вы можете отключить DHCP-сервер и присвоение адресов по протоколу.

Настройка DHCP в Windows 8

  • Нажмите на меню «Пуск» и найдите в списке приложений панель управления. Вы также можете получить доступ к ней, используя сочетание клавиш [Windows key] + [X] и выбрав «Панель управления» в появившемся меню.
  • Через «Сеть и Интернет» откройте «Центр управления сетями и общим доступом», а затем нажмите на «Изменить параметры адаптера» в списке, чтобы отобразить список установленных сетевых подключений.
  • Щелкните правой кнопкой мыши на нужном сетевом подключении и выберите в списке пункт «Свойства», чтобы открыть меню обзора различных системных компонентов, используемых LAN-подключением.
  • Найдите в списке интернет-протоколы IPv4 и IPv6. Выберите нужную версию и нажмите на «Свойства».
  • В этом меню опций вы увидите, как распределение IP-адресов в настоящее время контролируется вашей системой. Если вы хотите включить статический DHCP в Windows 8 вместо обычного автоматического метода, выберите «Использовать следующий IP-адрес» и выберите нужный адрес, включая маску подсети (стандарт: 255.255.255.0). У вас также есть возможность ввести шлюз по умолчанию (обычно это IP-адрес маршрутизатора) и адрес предпочитаемого DNS-сервера.
  • Чтобы отключить DHCP, снова необходимо ввести соответствующие настройки в используемом сервере.

Включение и настройка DHCP в Windows 10

  • Зайдите в панель управления, выбрав ссылку в меню «Пуск» или воспользовавшись сочетанием клавиш [Windows key] + [X] и нажав на соответствующую кнопку.
  • Нажмите на «Сеть & Интернет» и в новом меню выберите «Изменить настройки адаптера».
  • Щелкните правой кнопкой мыши на нужном LAN-подключении и в выпадающем меню выберите кнопку «Свойства».
  • В списке включенных и отключенных протоколов и служб найдите запись о предпочтительной версии интернет-протокола, выберите ее и нажмите на кнопку свойств.
  • По умолчанию здесь установлено значение «Получать IP-адрес автоматически». Но вы также можете включить автоматическое присвоение, выбрав его, или выбрать статический адрес и ввести нужные параметры сети вручную (как на следующем снимке экрана).
  • Чтобы отключить DHCP в Windows 10, необходимо зайти в интерфейс вашего DHCP-сервера и ввести там соответствующие настройки.

Оцените статью
cdelat.ru
Добавить комментарий