Сетевой сервис DHCP Цели сервиса • Автоматическое конфигурирование сетевых настроек на сетевых устройствах • Позволяет настраивать: • • • • • • • IP-адрес Сетевую маску Адрес шлюза Адрес DNS сервера Адрес WINS-сервера Срок жизни записей в кеш-таблице протокола ARP и еще более 30 различных параметров стека протоколов TCP/IP • Позволяет управлять конфигурацией даже нескольких территориально разделенных сетей. История создания DHCP • Разработан IETF • (Internet Engineering Task Force) • Создан на базе протокола BOOTP • Описан в RFC- документах: • • • • • • • № 1531 ( https://tools.ietf.org/html/rfc1531 ), № 1533, № 1534, № 1541, № 1542, № 2131, № 2132 и т.д. • Поддерживается на различных операционных системах (семейство Windows, *nix и т.д.) Общий принцип работы • Клиент-серверная архитектура • Требуется первичная конфигурация DHCPсервера • Пошаговая процедура конфигурирования сетевых устройств • Желательно наличие резервного DHCPсервера Начальное конфигурирование сервера • DHCP сервер должен обладать статически выданным IP-адресом • Требуется задать области (диапазоны, банки) раздаваемых в аренду IP-адресов • В каждой области настраиваются: • Начальный и конечный IP-адрес диапазона • Поддиапазоны исключений (не выдаваемых в аренду адресов, опциональный параметр) • Сетевая маска • Время аренды • Каждая настроенная область должна быть активирована («включена» в работу) • Диапазоны IP-адресов не должны пересекаться. Параметры DHCP • DHCP-сервер выдаёт клиентам параметры • Обязательные параметры: • IP-адрес • Сетевая маска • Время аренды • Не обязательные (дополнительные) параметры: • • • • IP-адрес шлюза IP-адрес DNS-сервера IP-адрес WINS-сервера и т.д. • Различают параметры для: • Сервера • Области • Резервирования Конфигурирование клиентов Сетевое устройство может обладать: • Статически заданным IPадресом • Динамически заданным IPадресом Динамически задаваемый IP-адрес запрашивается у DHCP-сервера Запрос аренды • • • • Шаг 1: Запрос аренды Шаг 2: Предложение аренды Шаг 3: Выбор аренды Шаг 4: Подтверждение аренды 1. Запрос аренды 2. Предложение аренды 3. Выбор аренды DHCP-клиент 4. Подтверждение аренды DHCP-сервер Шаг 1: Запрос аренды • Клиент обладает: • IP-адресом = 0.0.0.0, • маской сети = 0.0.0.0 • Клиент отправляет широковещательный запрос (от адреса 0.0.0.0 к адресу 255.255.255.255) • В запросе может быть «желаемый» адрес • Если ответа нет, клиент повторяет запрос с интервалом: 9, 13, 16 секунд. • Если ответа нет, клиент повторяет запрос 1 раз в 5 минут. • Если включена «автонастройка» IP-адреса на клиентах с ОС Windows, клиент берёт себе IP-адрес из APIPA-диапазона (169.254.0.0 /16) Шаг 2: Предложение аренды • DHCP-сервер, отправляет клиенту: • свободный IP-адрес • соответствующую сетевую маску • время аренды (все это настроено в «области») • DHCP-сервер резервирует этот адрес как «предложенный» • Отправка предложения от сервера к клиенту является широковещательной, т.к. клиент еще не обладает IP-адресом Шаг 3: Выбор аренды (часть 1) • Клиент получает предложение от сервера • Клиент может получить несколько предложений от нескольких серверов • Клиент «выбирает» наиболее «удобный» адрес • «Удобный» адрес – тот IP-адрес, который был у клиента ранее • Если единственный DHCP-сервер предлагает взять в аренду «неудобный» адрес, клиент ждёт других предложений в течении некоторого времени (длительность зависит от реализации клиента) • Если других предложений нет – клиент принимает единственный предложенный адрес. Шаг 3: Выбор аренды (часть 2) • Выбрав адрес, клиент отправляет об этом уведомление серверу • Уведомление отправляется широковещательной рассылкой • Прочие DHCP-сервера получив такой широковещательный запрос отменяют свои предложения Шаг 4: Подтверждение аренды • Сервер: • закрепляет в своей базе данных «предложенный» адрес как «выданный» • отправляет клиенту разрешение использовать «выбранный» адрес и прочие параметры TCP/IP Продление аренды • Клиент заблаговременно заботится о продлении аренды IP-адреса (сперва от текущего сервера, затем от любого) • Попытки возобновление аренды от текущего сервера начинаются спустя ½ от времени аренды (T1) • Попытки возобновление аренды от любого сервера начинаются спустя 87,5% от времени аренды (3/4 + 1/8 = Т2) • Если знакомый DHCP-сервер не продлил аренду, клиент повторяет попытку продления аренды спустя ½ от T2 – T1 (= 68,75%) • Если DHCP-сервер продляет аренду, срок аренды увеличивается с текущего момента на время аренды Продление аренды • Попытки возобновление аренды от любого сервера начинаются спустя 87,5% от времени аренды (3/4 + 1/8 = Т2) • Если ни один из DHCP-серверов не продлил аренду в момент Т2, клиент повторяет попытку спустя ½ оставшегося времени (93,75%) от срока аренды. • Если последняя попытка не удалась, клиент по истечении срока аренды отменяет все полученные настройки и заново начинает получение аренды Т11 68,75% Т21 93,75% 50% Т12 87,5% Т22 Обобщённый алгоритм Резервирование адресов • Повышает безопасность и защищенность сервиса DHCP • Связывает один IP-адрес с одним MACадресом • Позволяет задавать индивидуальные параметры конфигурации TCP/IP для отдельных компьютеров (шлюзы, адреса вспомогательных серверов и т.д.) Фильтрация адресов • Повышает безопасность и защищенность DHCP • Позволяет выдавать случайные IP-адреса из банка клиентам с предопределёнными MACадресами DHCP relay agent Нужен для работы DCHP-сервера с несколькими локальными сетями. Маршрутизатор должен пропускать UDP:67,68 между локальными сетями Проблемы использования DHCP • Слабая защищенность от сторонних DHCP • Необходимость дополнительной настройки сетевого оборудования (маршрутизаторов), для поддержки работы DHCP в смежных локальных сетях • Возможность изменения IP-адресов в процессе работы Тем не менее, все проблемы разрешимы при правильной настройке сетевого оборудования и соответствующий сервисов