Иллюстрированный самоучитель по Microsoft Windows 2003 › Серверы DHCP, DNS и WINS › Установка и настройка DHCP-сервера. Авторизация DHCP-сервера. [страница – 420] | Самоучители по операционным системам | Иллюстрированные самоучители

Что такое dhcp и как он работает? (объяснение основных принципов)

Навеянно очень слабой подготовкой кандидатов на должность системного администратора, может быть чем больше информации будет в сети, тем гугл будет быстрее направлять специалистов на нужную информацию?! =))

Компьютерные сети бывают разных видов и конфигураций: локальные (LAN), глобальные (WAN) и т.д. Если вы подключаетесь к локальной LAN сети или интернету, компьютеру присваивается собственный IP адрес. Он помогает идентифицировать любое устройство, подключенное к сети. В большинстве случаев, когда вы подключаетесь к LAN или интернету, вы можете заметить, что IP и другая информация, например маска подсети, присваиваются автоматически. Задумывались вы, как это происходит? В этой статье мы попробуем разобрать концепцию DHCP, на которой основываются принципы данного процесса.

Что такое DHCP?

DHCP – это протокол динамической настройки узла.

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

Данный протокол работает на основе модели “Клиент-сервер”. Являясь протоколом, DHCP имеет свой собственный метод обмена сообщениями между клиентом и сервером. Ниже представлен состав сообщения DHCP:

Знание основ DHCP помогает в устранении различных проблем с сетью. В следующей части статьи мы затронем принципы работы протокола.

Как работает DHCP?

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

DHCPDISCOVER

Это сообщение обозначает начало DHCP взаимодействия между клиентом и сервером. Данное сообщение отправляется клиентом (компьютером или устройством), подключенным к сети. В этом сообщении используется 255.255.255.255 как IP-адрес доставки, тогда как исходным адресом является 0.0.0.0

DHCPOFFER

Это сообщение отправляется в ответ на DHCPDISCOVER от сервера DHCP для подключенных клиентов. В этом сообщении содержатся необходимые сетевые настройки.

DHCPREQUEST

Данное сообщение является ответом на DHCPOFFER, и обозначает, что клиент принял отправленные настройки.

DHCPACK

Данное сообщение отправляется на сервер протокола DHCP в ответ на DHCPREQUEST от клиента. Сообщение обозначает конец процесса, начатого с сообщения DHCPDISCOVER. Т.е. DHCPACK – это не что иное, как подтверждение от сервера начала авторизации клиента и принятие параметров конфигурации, полученных в самом начале от сервера.

DHCPNAK

Данное сообщение является противоположностью DHCPACK, описанного выше. Оно отправляется на сервер в случае, если невозможно удовлетворить параметры DHCPREQUEST клиента.

DHCPDECLINE

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

DHCPINFORM

Сообщение отправляется серверу в том случае, если клиенту DHCP присвоен статический IP-адрес, а по настройкам конфигурации необходим динамический адрес.

DHCPRELEASE

Сообщение отправляется клиентов в том случае, если он завершает процесс использования сетевого адреса.

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

Шаг 1.

Когда клиент (компьютер или устройство) загружается или подключается к сети, серверу отправляется сообщение DHCPDISCOVER. Если нет никаких дополнительных данных о конфигурации, то сообщение отправляется с адреса 0.0.0.0 к 255.255.255.255. Если сервер DHCP находится в локальной подсети, то она напрямую получает сообщение, если он находится в другой подсети, то используется агент ретрансляции для передачи запроса к серверу DCHP. Используется протокол передачи UDP через порт 67. Клиент на данном этапе начинает стадию авторизации.

Шаг 2.

В тот момент как сервер получил запрос DHCPDISCOVER, то он отправляет в ответ сообщение DHCPOFFER. Как говорилось ранее, в этом сообщении содержатся все необходимые параметры конфигурации, запрашиваемые клиентом. Например, IP-адрес, необходимый клиенту, а также значение маски подсети и информация о шлюзе. Также сервер сразу заполняет значения MAC-адреса в поле CHADDR. Сообщение отправляется клиенту от адреса 255.255.255.255 напрямую, а если сервер находится в другой подсети, то используются агенты ретрансляции, который отвечает за то, чтобы сообщение было доставлено. В этом случае для передачи применяется протокол UDP через порт 68. На этом этапе клиент начинает подбирать параметры.

Шаг 3.

Клиент формирует сообщение DHCPREQUEST, которое служит ответом на DHCPOFFER от сервера, указав, что он принимает параметры конфигурации, отправленные ему. Если бы было несколько серверов DCHP, то клиент бы получил также несколько сообщений DHCPOFFER, но клиент отвечает только одному серверу, заполняя параметры конфигурации для настройки. Таким образом, он проходит авторизацию с получением IP-адреса от одного конкретного сервера DHCP. Все сообщение от других серверов блокируются. Сообщение DHCPREQUEST по-прежнему будет содержать адрес источника 0.0.0.0, если клиенту все еще нельзя использовать IP-адреса, полученные в сообщении DHCPOFFER. В течение этого этапа клиент получает ответы на свои запросы.

Шаг 4.

Как только сервер получает DHCPREQUEST от клиента, он посылает DHCPACK сообщение о том, что теперь клиент может использовать IP-адрес, назначенный к нему. Клиент окончательно подключается к сети и с настроенными параметрами.

Концепция аренды

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

Сообщество сисадминов

Zeroconf или зачем нам вообще какой-то dhcp

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

Получение IP-адреса (Automatic Private IP Addressing или APIPA). Система сама назначает себе IP из сети 169.254.0.0/16 (кроме сеток /24 в начале и конце диапазона), основываясь на MAC-адресе и генераторе псевдослучайных чисел. Такая система позволяет избежать конфликтов, а адрес из этой сети называют link-local — в том числе и потому, что эти адреса не маршрутизируются.

Поиск по имени. Система анонсирует свое сетевое имя, и каждый компьютер работает с ним как с DNS, храня записи у себя в кэше. Apple использует технологию mDNS (Multicast DNS), а Microsoft — LLMNR (Link-local Multicast Name Resolution), упомянутую в статье «Домены, адреса и Windows: смешивать, но не взбалтывать».

Авторизация dhcp-сервера

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

Только после этого клиенты смогут работать с данным сервером. Все обязанности по осуществлению контроля над авторизацией DHCP-серверов возложены непосредственно на сами DHCP-серверы. Осуществляется это следующим образом. Служба DHCP-сервера при запуске обращается к Active Directory, чтобы просмотреть список IP-адресов авторизованных серверов. Если она не обнаруживает свой адрес в этом списке, она останавливает свою работу.

Для авторизации DHCP-сервера необходимо запустить оснастку DHCP и в контекстном меню объекта, расположенного в корне пространства имен утилиты, выбрать пункт Manage authorized servers (Управление авторизованными серверами). Система покажет список уже авторизованных DHCP-серверов.

Добавим сети надежности и безопасности

Ввиду простоты протокола и присутствия широковещательных запросов есть эффективные атаки на инфраструктуру — в основном типа MITM («человек посередине»). Атаки производятся посредством поднятия своего DHCP-сервера или релея: ведь если контролировать выдачу сетевых настроек, можно запросто перенаправить трафик на скомпрометированный шлюз.

Для облегчения атаки используется DHCP starvation (представляясь клиентом или релеем, злоумышленник заставляет «родной» DHCP-сервер исчерпать свои IP-адреса). Подробнее про реализацию атаки можно почитать в статье «Атакуем DHCP», методом же защиты является DHCP Snooping.

Это функция коммутатора, которая позволяет «привязать» DHCP-сервер к определенному порту. Ответы DHCP на других портах будут заблокированы. В некоторых коммутаторах можно настроить и работу с Option 82 при ее обнаружении в пакете (что говорит о присутствии релея): отбросить, заменить, оставить без изменения.

В коммутаторах MikroTik включение DHCP Snooping производится в настройках бриджа:

#Включаем dhcp-snooping и option 82

/interface bridge

add name=bridge

set [find where name="bridge"] dhcp-snooping=yes add-dhcp-option82=yes

#ставим настраиваем доверенный порт

/interface bridge port

add bridge=bridge interface=ether1

add bridge=bridge interface=ether2 trusted=yes

Настройка в других коммутаторах происходит аналогичным образом.

Стоит отметить, что не все модели MikroTik имеют полную аппаратную поддержку DHCP Snooping — она есть только у CRS3xx.

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

Красивая коммутационная — залог здоровья.

К другим методам защиты можно отнести Port Security («привязка» определенного MAC-адреса к порту маршрутизатора, при обнаружении трафика с других адресов порт будет блокироваться), Анализ трафика на количество DHCP-запросов и ответов или ограничение их количества, ну и, конечно, различные системы IPSIDS.

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

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

Разберем более практичные варианты.

В системах Windows Server начиная с 2022 система резервирования DHCP работает «из коробки», в режиме балансировки нагрузки (active-active) или в режиме отказоустойчивости (active-passive). С подробным описанием технологии и настройками можно ознакомиться в официальной документации. Отмечу, что отказоустойчивость настраивается на уровне зоны, поэтому разные зоны могут работать в разном режиме.

Настройка отказоустойчивости DHCP-сервера в Windows.

В ISC DHCP Server для настройки отказоустойчивости используется директива failover peer, синхронизацию данных предлагается делать самостоятельно — например, при помощи rsync. Подробнее можно почитать в материале «Два DHCP сервера на Centos7…»

Если же делать отказоустойчивое решение на базе MikroTik, то без хитростей не обойтись. Один из вариантов решения задачи был озвучен на MUM RU 18, а затем и опубликован в блоге автора. Если вкратце: настраиваются два сервера, но с разным параметром Delay Threshold (задержка ответа).

Лично я в свое время изрядно потрепал себе нервов, когда в сети «случайно» появился роутер, подключенный в локальную сеть и WAN, и LAN интерфейсами.

Расскажите, а вам приходилось сталкиваться с проказами DHCP?

Есть такой протокол dhcp….

И вот мы плавно подошли к основной теме статьи. DHCP — Dynamic Host Configuration Protocol— это протокол динамической настройки узла. Он клиент-серверный и предназначен для настройки каждого подключенного хоста с помощью удаленного сервера.

На сегодняшний день DCHP поддерживается «из коробки» практически каждого современной операционной системой. В крупных сетях это реально отличная альтернатива рутинной ручной настройке сетевых параметров для сервера и подключаемых устройств, позволяющая системному администратору упросить настройку и управление своим сегментом сети.

Протокол DHCP имеет свой собственный порядок обмена сообщениями между сервером и клиентами, в процессе которого они обмениваются сообщениями. Структура сообщений DHCP выглядит так:

ПолеДлина (байты)Описание
op1Тип сообщения
htype1Тип адреса аппаратной части
hlen1Длина адреса аппаратной части
hops1Используемое количество агентов ретрансляции. Клиенты устанавливают значение на 0.
xid4ID  (уникальный идентификационный номер) транзакции используемой клиентом и серверов во время сессии
secs2Прошедшее время (в секундах) с момента запроса клиентом начала процесса
flags2Значение флагов
ciaddr4IP-адрес клиента (если имелся ранее).
yiaddr4IP-адрес, предложенный сервером клиенту
siaddr4IP-адрес сервера
giaddr4IP-адрес relay-агента (агента ретрансляции)
chaddr16Адрес аппаратной части клиента (в основном MAC).
sname64Имя сервера.
file128Название загрузочного файла.
optionsПеременная. Поле опций, где указываются различные дополнительные параметры конфигурации     Дополнительные опции

Истоки dhcp

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

При загрузке каждого компьютера
сети его настройки TCP/IP доставлялись ему этим сервером. Когда стек TCP/IP
начинал действовать, BOOTP передавал исполняемый файл загрузки операционной
системы на рабочую станцию с помощью протокола TFTP (Trivial File Transfer
Protocol – UDP-версия FTP); после этого рабочая станция готова к работе.

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

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

Настройка dhcp на роутере

Первым делом Вы должны попасть в настройки своего WiFi-роутера. Сделать это можно либо с компьютера, введя в браузере его локальный IP (обычно это 192.168.1.1 или 192.168.0.1). После авторизации необходимо в главном меню веб-интерфейса найти раздел, отвечающий за локальную сеть (LAN). В некоторых случаях, как в моём примере, настройка DCHP на роутере выведена в отдельный раздел:

Включение и выключение сервера обычно выполняется с помощью галочек «Включить»/»Отключить» или «Enable»/»Disable». На некоторых моделях это может быть выполнено в виде выпадающего списка.

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

Ещё один важный параметр — это время аренды IP-адреса (тот самый Lease Time) о котором я рассказывал выше. По умолчанию на моём роутере он выставлен на 120 минут. Максимальное значение — 2000 минут. После того, как Вы внесёте какие-то изменения в настройки устройства — обязательно не забудьте сохранить настройки. В противном случае, после перезагрузки в силу вступят старые параметры.

Настройка статического отображения

Запись, отображающая имя в IP-адрес, может быть добавлена в базу данных WINS двумя способами.

  • Динамически. Этот тип записей создается в базе данных сервера WINS-клиентами в процессе регистрации локальных NetBIOS-имен.
  • Статически. Администратор создает записи вручную, определяя статическое отображение (static mapping) NetBIOS-имени на IP-адрес.

Статические отображения используются в ситуации, когда необходимо жестко прописать соответствие “имя-адрес” в базе данных WINS-сервера для хоста, который непосредственно не использует WINS. Например, в некоторых сетях серверы под управлением других операционных систем не могут регистрировать свои NetBIOS-имена непосредственно на WINS-сервере.

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

Ознакомление с dhcp

Используя серверDHCP (DynamicHostConfigurationProtocol – Протокол динамического
конфигурирования хостов) для автоматического назначения настроек конфигурации,
пользователи и администраторы TCP/IP могут избежать ручного конфигурирования
IP-адресов, маски подсети, адресов сервера DNS, адресов сервера
WINS и других задач адресации.

Для разрешения проблемы назначения и администрирования IP-адресов в крупных
масштабах Microsoft совместно с другими сетевыми специалистами разработала
протокол DHCP. DHCP – это открытый стандарт, определенный в документе RFC
(requests for comments) 2132.

Другие производители предлагают на рынке свои серверы
DHCP, но Microsoft включает свой серверDHCP в пакет WindowsServer 2003.

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

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

Отключение автоматического конфигурирования клиента

Автоматическое конфигурирование клиента – это, несомненно, улучшение в службе
DHCP; но здесь есть и свои недостатки. Например, сможет ли клиент устанавливать
контакт с другими машинами, используя IP-адрес класса B? В большинстве
случаев – не сможет из-за различий в подсетях.

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

Если вы считаете, что данная возможность не дает преимуществ в вашей среде,
то можете отключить ее. Для отключения автоматического конфигурирования клиента
на компьютере Windows 2000/XP выполните следующие шаги.

  1. Выберите StartRun (ПускВыполнить), введите regedit, чтобы запустить редактор реестра (Registry editor), см.
    рис.
    2.1
    . Откройте раздел HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
  2. Добавьте параметр IPAutoconfigurationEnabled и задайте для него значение 0.

Переход от wins к dns

В Windows Server 2003 система доменных имен (DNS) рассматривается как основной способ именования ресурсов. Служба WINS используется исключительно по соображениям сохранения совместимости. Со временем администратор может реализовать полный переход от WINS к DNS, оставив в сети только одну службу имен. Процесс удаления из сети функционирующего WINS-сервера называется отзывом (decommissioning).

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

  1. В пространстве имен оснастки WINS выберите WINS-сервер для отзыва. После этого перейдите к контейнеру Active Registrations (Активные регистрации).
  2. В меню Action (Действие) выполните команду Show records for the selected owner (Найти по владельцу).
  3. В открывшемся окне в списке only for selected owner (только для выбранного владельца) укажите WINS-сервер для отзыва и нажмите кнопку ОК.
  4. В окне подробного просмотра выделите все элементы.
  5. В меню Action (Действие) выберите команду Delete (Удалить).
  6. В диалоговом окне Confirm WINS Record Delete (Подтверждение удаления записей) установите переключатель Tombstone WINS records on all WINS servers (Реплицировать удаление записи на другие серверы) и нажмите кнопку ОК.
  7. Подтвердите удаление, нажав кнопку Yes (Да) в окне запроса.
  8. В дереве выберите элемент Replication Partners (Партнеры репликации).
  9. В меню Action (Действие) выполните команду Replicate Now (Запустить репликацию).
  10. После проверки репликации выбранных записей на другие серверы остановите и удалите службу WINS на отозванном сервере.

В процессе перехода может потребоваться настроить разрешение доменных имен DNS через службу WINS.

Похожее:  «Личный кабинет налогоплательщика для физических лиц» - платите налоги своевременно | ФНС России | 35 Вологодская область

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *