Содержание
- 1 Общее понятие стандарта
- 2 Преимущества выделенного DHCP
- 3 Применение маршрутизатора сервера
- 4 Настройка в Microsoft Windows
- 5 Хост-машина под управлением Linux
- 6 Использования Solaris
- 7 Серверная настройка интерфейса VLAN
- 8 Резервирование IP-адреса
- 9 Редактор конфигурации
- 10 Устройства FastIron
- 11 Глобальный пул адресов
- 12 Настройка дополнительных параметров
- 13 Проблемы безопасности и отказ
- 14 Для чего нужен протокол DHCP
- 15 Принцип работы DHCP
- 16 Протокол DHCP, получение адреса IP — DORA
- 17 Срок аренды
- 18 Три подхода к распределению адресов
- 19 Особые DHCP сообщения
- 20 Опции DHCP
- 21 Взаимодействие DHCP и DNS
- 22 Недостатки протокола DHCP
- 23 Заключение
- 24 Получение настроек
- 25 Обновление адреса
- 26 Освобождение адреса
- 27 Особенности работы DHCP
DHCP является сетевым сервером, который автоматически обеспечивает и назначает IP-адрес, шлюзы и другие сетевые параметры для клиентских устройств. Он полагается на стандартный протокол, известный как протокол конфигурации динамического хоста или DHCP, для ответа на широковещательные запросы пользователей.
Без dhcp-сервера администратор вручную настраивает каждого клиента, который присоединяется к сети, что может быть громоздким, особенно в крупных сетях. Сервер обычно назначает индивидуально уникальный динамический IP-адрес, который изменяется, когда срок аренды истекает.
Общее понятие стандарта
DHCP — это стандарт используется, чтобы хост-системы в сети TCP/IP настраивались автоматически для сети при загрузке с применением механизма клиент/сервер. Они хранят и управляют информацией для клиентов и предоставляют эту информацию по их запросу, которая включает в себя IP-адрес и доступные сетевые услуги. Dhcp-сервер произошел из более раннего протокола BOOTP, который применялся для загрузки по сети TCP/IP , используя тот же формат для сообщений с клиентом, включая дополнительную информацию про данные конфигурации клиентской сети.
Первичным преимуществом DHCP является его способность управлять назначениями IP-адресов посредством лизинга, что позволяет восстанавливать IP-адреса, когда они не применяются и переназначать их другим клиентам. Это позволяет сайту использовать меньший пул IP-адресов, чем если бы всем клиентам был назначен постоянный адрес. Применяемая модель — клиент-сервер, когда сервер выступает в роли хоста, а устройство, подключенное к сети, является клиентом.
Авторизация dhcp-сервера начинает действовать, когда устройство, подключающееся к домашней или бизнес-сети, делает запрос на IP-адрес, который сервер назначает ему из доступных в настоящее время адресов, тем самым позволяя клиентскому устройству осуществлять связь в сети.
Преимущества выделенного DHCP
Лучшим подходом для обеспечения работы клиентов является использование централизованного dhcp-сервера. Это особенно справедливо для сетевых сред, которые требуют одновременной поддержки как DHCP для IPv4 и IPv6. Практически все поставщики серверов поддерживают оба протокола, поэтому можно использовать один и тот же интерфейс управления для IPv4 и IPv6. Наличие DHCPv6, интегрированного в систему управления IP-адресами (IPAM) для IPv6, дает видимость клиентским узлам с поддержкой IPv6, в этом случае пользователю потребуется такая же функциональность для IPv4.
Поскольку адресное пространство IPv4 становится все более ограниченным, серверу приходится постоянно отслеживать свои области и определять, соответствует ли время аренды множеству систем BYOD, присоединяющихся к сетевой среде. Они предоставляют интерфейсы ведения журнала и управления, которые помогают администраторам управлять областями IP-адресов. Организации предпочитают DHCPv6, который был опробован и протестирован. Например, сервер Infoblox DHCPv6 сертифицирован в соответствии с «сертификацией IPv6» в лаборатории сертификации USGv6.
Организации, которые начинают внедрять IPv6, должны перенести их, как сервера dhcp для области IPv4 с маршрутизаторов/коммутаторов и разместить их в надежной инфраструктуре. Это изменение также означает, что пользователи требуют, чтобы он работал одинаково для обоих протоколов.
Применение маршрутизатора сервера
Есть много компаний-производителей, которые все еще используют DHCP для IPv4 на своих маршрутизаторах/коммутаторах. Обычно это делается сетевым администратором, которому необходимо быстро получить и настроить его, не имея доступа к серверу. Большинство из них имеют возможность предоставлять следующую поддержку:
- После установки серверов dhcp клиент получит адрес IPv4 интерфейса от восходящей DHCP-службы.
- Осуществляется ретрансляция и пересылка сообщений от клиентов в локальной сети на сервер и с него.
- Обслуживание запросов маршрутизатором/коммутатором. Однако существуют ограничения на использование маршрутизатора/коммутатора в качестве сервера.
Эти пакеты обрабатываются программным обеспечением (а не аппаратной ускоренной переадресацией). Необходимые ресурсы делают эту практику непригодной для сети с большим числом (> 150) клиентов DHCP.
Настройка в Microsoft Windows
Большинство dhcp-серверов Windows имеют возможность также отправлять разнообразную дополнительную информацию, в том числе Код опций поставщика 43. Когда клиент или AP запрашивает 43, контроллер отвечает значением, настроенным администратором в пуле. Опция 60 идентифицирует и связывает клиента с конкретным поставщиком. Все dhcp-сервера настраиваются для принятия действий на основе идентификатора поставщика клиента. Поскольку опция 60 не является предопределенной, пользователь добавляет ее в список требуемых опций. Процедура настройки dhcp-сервера с параметром 060:
- Открыть инструмент администрирования, нажав Start > Administrative Tools > DHCP.
- Найти сервер и область, которую нужно настроить под именем сервера.
- Выбрать «Установить предопределенные параметры».
- В диалоговом окне нажать «Добавить».
- Нажать «OK», чтобы сохранить информацию.
В диалоговом окне «Предопределенные параметры и значения» убедиться, что в раскрывающемся списке «Имя параметра» выбрана точка доступа «060» и нажать OK.
Хост-машина под управлением Linux
Dhcp-сервер Linux полезен для сети, если пользователь не хочет сложностей назначения статических IP-адресов. Если есть домашний маршрутизатор, например, D-Link или любой беспроводной модем. Такие устройства будут иметь DHCP-сервер, встроенный для выдачи внутренних IP-адресов. Тем не менее, они редко подходят для деловых целей по множеству причин.
Одной из главных является проблема, в связи с тем, что ими обычно не предоставляются достаточно параметров конфигурации, чтобы заставить сервер работать с пользовательской инфраструктурой, имеющей нескольких десятков хостов. Выделенный сервер, работающий на хост-компьютере Linux, может быть хорошей альтернативой, бесплатной и простой в настройке.
Установка Linux DHCP:
- RHEL / CentOS: yum install dhcp -y.
- Ubuntu раньше 12.04 или Debian старше Wheezy (7.0): sudo apt-get install dhcp3-server.
- Ubuntu 12.04 и более поздние версии или Debian Wheezy, а затем: sudo apt-get install isc-dhcp-server. Чтобы запустить сервер и настроить его на автозапуск при загрузке.
- Выбрать команду на основе установленной версии DHCP.
Настройка dhcp сервера ISC-DHCP:
- Запуск службы isc-dhcp-server chkconfig isc-dhcp-server on dhcp3.
- Запуск службы dhcp3-server chkconfig dhcp3-server on DHCPD (CentOS / RHEL).
- Запуск службы dhcpd chkconfig dhcpd.
Использования Solaris
Этот DHCP освобождает системного или сетевого администратора от некоторых трудоемких задач, связанных с настройкой сети TCP/IP и ежедневным управлением ею, он работает только с IPv4. Solaris DHCP предлагает следующие преимущества:
- Управление IP-адресом. В сети без DHCP администратор вручную присваивает IP-адрес, пытаясь назначить уникальные адреса клиенту и индивидуально настраивать их.
- Если арендатор перемещается в другую сеть, администратор должен внести изменения вручную для этого клиента.
- Когда DHCP включен, DHCP-сервер управляет и назначает IP-адреса без вмешательства администратора.
- Конфигурация централизованного сетевого клиента.
- Сетевой администратор может создать индивидуальную конфигурацию для определенных пользователей или определенных типов клиентов и хранить информацию в одном месте, хранилище данных DHCP. Он может предоставить им всю необходимую ему информацию, включая IP-адрес, загрузочный сервер и информацию о конфигурации сети.
- Поскольку запросы загрузки сети могут быть ретранслированы по подсетям, можно развернуть меньше серверов.
- Загрузка RARP требует, чтобы каждая подсеть имела загрузочный сервер и сеть с dhcp сервеошиб ром.
Серверная настройка интерфейса VLAN
Она представляет собой определение DHCP-сервера на интерфейсе. Единичные брандмауэры и кластеры брандмауэра имеют встроенный сервер, который можно настроить независимо на нескольких физических интерфейсах и интерфейсах VLAN. Поддерживаются только адреса IPv4. Чтобы использовать эту функцию, интерфейс межсетевого экрана должен иметь как минимум один IPv4-адрес.
Атрибуты
Имя объекта |
Тип |
Значение |
dhcp_address_range |
строка |
Диапазон адресов вручную DHCP, который определен для физического интерфейса и не должен содержать адреса NDI или CVI брандмауэра |
dhcp_range_ref |
строка |
Аналогично предыдущему значению |
primary_dns_server |
строка |
Ввести IP-адрес первичного и вторичного DNS-сервера |
secondary_dns_server |
строка |
Аналогично предыдущему значению |
primary_wins_server |
строка |
Аналогично предыдущему значению для NetBIOS |
secondary_wins_server |
строка |
Аналогично предыдущему значению |
шлюз по умолчанию |
строка |
Ввести IP-адрес шлюза по умолчанию |
Резервирование IP-адреса
После создания сервера потребуется настойка зарезервированного адреса. Чтобы настроить его, нужно нажать на зарезервированный адрес-вкладку, ввести числа начала и конца диапазона , а затем нажать кнопку «Добавить». Чтобы удалить диапазон IP, выбрать число IP, который нужно удалить, и нажать «Удалить», далее выполнить настройку привязки IP-MAC. Если IP-адрес dhcp сервера привязан к MAC-адресу вручную, IP-адрес будет назначен только на указанный MAC-адрес.
Чтобы настроить привязку IP-MAC, нужно перейти на вкладку «Связывание IP-MAC» и ввести IP-адрес и MAC-адрес в IP-адрес и поле MAC соответственно, а затем нажмите «Добавить», а после повторите описанные выше шаги и добавьте несколько записей. Чтобы удалить привязку IP-MAC, выбирают запись из списка и нажимают «Удалить».
Редактор конфигурации
Типичная конфигурация сервера имеет следующие параметры для конкретной подсети на интерфейсе Service Router: Пул IP-адресов с одним адресом, исключенным из пула. По умолчанию и максимальное время аренды. Кроме того, сервер может назначить статический адрес как минимум одному клиенту. В таблице приведены параметры и значения для конфигурации DHCP-образца.
Пример настроек конфигурации сервера
Конфигурация подсети DHCP |
Данные |
Адрес подсети пула адресов |
192.168.2.0/24 |
Высокий адрес в пуле |
192.168.2.254 |
Низкий адрес в пуле |
192.168.2.2 |
Адрес для исключения из пула |
192.168.2.33 |
Адрес DNS-сервера |
192.168.10.2 |
Код идентификатора для адреса приглашения на маршрутизатор |
32 |
Выбор типа для адреса приглашения на роутер |
Айпи адрес |
IP-адрес для адресации адресата маршрутизатора |
192.168.2.33 |
Конфигурация MAC-адреса DHCP |
|
MAC-адрес статической привязки |
01: 03: 05: 07: 09: 0B |
Фиксированный адрес |
192.168.2.50 |
Устройства FastIron
Все устройства FastIron могут быть настроены для работы с функциями серверов. DHCP представляет концепцию аренды по адресу и выделяет IP в течение определенного диапазона или может продлить срок аренды. DHCP обеспечивает больший контроль над распределением адресов. Эта функция имеет решающее значение, если имеется больше устройств, чем доступных адресов. В отличие от BOOTP, который имеет два вида сообщений, используемых для арендованных переговоров, DHCP — имеет семь.
Он выделяет временные или постоянные адреса для пользователей. Когда они арендуют адрес, сервер гарантирует не перераспределять его другому пользователю и попытается вернуть и будет сделан новый запрос. В некоторых средах может потребоваться переназначить адрес из-за исчерпания доступности пула. В этом случае механизм распределения повторно использует адреса с истекшим сроком аренды. DHCP-сервер по умолчанию отключен на всех устройствах FastIron.
Глобальный пул адресов
В большой сети компьютеры в сети не могут напрямую подключаться к USG через интерфейс Ethernet, но должны проходить через другие устройства. В этом случае, чтобы гарантировать, что компьютеры динамически получают айпи из USG, обычно необходимо наладить DHCP на основе глобального пула адресов. DHCP динамически выделяет айпи для пользователей в одном и том же сетевом сегменте. Сетевой сегмент 10.1.1.0/24 пула IP можно разделить на два, а именно 10.1.1.0/25 и 10.1.1.128/25. Айпи двух интерфейсов GigabitEthernet на DHCP равны соответственно 10.1.1.1.25 и 10.1.1.129/25.
Срок аренды в сегменте сети 10.1.1.0/25 составляет 10 дней и 12 часов, доменное имя — dhcpserver.com, IP-адрес DNS-сервера — 10.1.1.2, без IP сервера NetBIOS существует, а IP-адрес устройства маршрутизации на выходе — 10.1.1.126. Срок аренды IP в сегменте сети 10.1.1.128/25 составляет 5 дней, доменное имя — dhcpserver.com, IP сервера — 10.1.1.2, адрес NetBIOS — 10.1. 1.4, а IP с устройства маршрутизации на выходе — 10.1.1.254.
Перед тем как включить службу DHCP, задают айпи, которые не выделяются автоматически сервером NetBIOS и исходящего шлюза и настраивают общие атрибуты пула адресов. Далее, настраивают связанные атрибуты пула, исходящий шлюз, айпи NetBIOS и срок аренды. Например, для трех пулов IP: Пул IP 0 используется для наладки общих атрибутов для всех потребителей.
Пул IP 1 и 2 применяют для настройки соответствующих атрибутов разных клиентов соответственно. В этом примере пользователи могут настраивать только два пула IP-адресов, а именно пул IP-адресов 1 и пул IP-адресов 2. Таким образом, оба пула IP-адресов не могут наследовать конфигурации из родительского режима. Поэтому атрибуты каждого пула IP-адресов должны быть настроены соответственно.
Настройка дополнительных параметров
Существует множество дополнительных параметров, которые можно получить на сервере. Описание dhcp сервера и дополнительных параметров сети:
- Маршрутизатор — шлюз для клиента.
- DNS-серверы (для разрешения имен).
- DNS-домен-доменное имя клиента.
- Тип узла WINS. WINS-сервера.
- После щелчка мышью по параметрам сервера и выбора «Настроить» используют контекст netsh для добавления опции.
- После выполнения этой команды перезапустить консоль сервера и снова проверить, если опция 60 присутствует, то можно пользоваться устройством.
- Переходят на вкладку «Дополнительно», чтобы настроить дополнительные параметры.
- Нажимают «ОК», чтобы закрыть диалоговое окно и возвращаются к списку.
- Конфигурированные DHCP-серверы будут отображаться в списке.
- Чтобы изменить — сервер, выбирают который нужно и нажимают «Изменить» в диалоговом окне «Конфигурация DHCP».
- Удаление DHCP осуществляют с помощью кнопки «Удалить».
Проблемы безопасности и отказ
Использование автоматизации DHCP может представлять серьезную угрозу безопасности, например, если в сеть вводится мошеннический сервер. Это происходит, когда он не находится под контролем персонала сети и может предлагать IP-адреса пользователям, подключающимся к сети. Если клиент подключается к такому серверу, информация, передаваемая по этому соединению, может быть перехвачена неавторизованными лицами, нарушая конфиденциальность пользователя и безопасность сети.
Ошибка сервера dhcp может возникнуть, если на сервере установлен только один DHCP, поскольку он образует единый критический узел, где единичный отказ перерастает в общесистемную проблему. Если сервер выходит из строя, любые подключенные компьютеры, у которых еще нет IP-адреса, будут пытаться их получить.
Компьютеры, у которых уже есть IP-адрес до отказа сервера, попытаются его возобновить, что приведет к потере IP-адреса и означает полную потерю доступа к сети до восстановления сервера.
Похожие статьи
DHCP — протокол автоматизации назначения IP-адреса клиенту. Он широко используется в современных сетях. В статье рассмотрим принципы работы, процесс DORA, основные опции и другие аспекты протокола.
Для чего нужен протокол DHCP
DHCP — протокол прикладного уровня модели TCP/IP, служит для назначения IP-адреса клиенту. Это следует из его названия — Dynamic Host Configuration Protocol. IP-адрес можно назначать вручную каждому клиенту, то есть компьютеру в локальной сети. Но в больших сетях это очень трудозатратно, к тому же, чем больше локальная сеть, тем выше возрастает вероятность ошибки при настройке. Поэтому для автоматизации назначения IP был создан протокол DHCP.
Впервые протокол был описан в 1993 году в документе RFC 1531, но с тех пор в описание вносились правки. На сегодняшний день основным документом, регламентирующим протокол, является RFC 2131. Помимо автоматизации процесса настройки IP, DHCP позволяет упростить диагностику подключения и переход из одной подсети в другую, оставляя уведомления для системного администратора в логах.
Принцип работы DHCP
Из вступления ясно, какие функции предоставляет DHCP, но по какому принципу он работает? Получение адреса проходит в четыре шага. Этот процесс называют DORA по первым буквам каждого шага: Discovery, Offer, Request, Acknowledgement.
Давайте подробнее рассмотрим DORA — принцип работы DHCP.
Протокол DHCP, получение адреса IP — DORA
Discovery, или поиск
Изначально клиент находится в состоянии инициализации (INIT) и не имеет своего IP-адреса. Поэтому он отправляет широковещательное (broadcast) сообщение DHCPDISCOVER на все устройства в локальной сети. В той же локальной сети находится DHCP-сервер. DHCP-сервер — это, например, маршрутизатор или коммутатор, существуют также выделенные DHCP-серверы.
Не всегда одну сеть обслуживает один DHCP-сервер, нередко организации устанавливают сразу несколько. Какие порты использует DHCP? Сервер всегда слушает 67 порт, ожидает широковещательное сообщение от клиента, а после его получения отправляет ответное предложение — DHCPOFFER. Клиент принимает сообщение на 68 порту.
Offer, или предложение
DHCP-сервер отвечает на поиск предложением, он сообщает IP, который может подойти клиенту. IP выделяются из области (SCOPE) доступных адресов, которая задается администратором.
Если имеются адреса, которые не должны быть назначены DHCP-сервером, область можно ограничить, указав только разрешенные адреса. Например, администратор может задать диапазон используемых IP-адресов от 192.0.0.10 до 192.0.0.40.
Бывает и так, что не все доступные адреса должны быть назначены клиентам. Например, администратор может исключить (exclude) диапазон 192.0.0.100 — 192.0.0.200 из используемой области. Такое ограничение называется исключением.
DHCP выделяет доступные IP-адреса из области только временно (об этом позже), поэтому нет гарантии, что при следующем подключении у данного клиента останется прежний IP. Но есть возможность назначить какому-либо клиенту определенный IP навсегда. К примеру, забронировать 192.0.0.10 за компьютером системного администратора. Такое сохранение IP для отдельных клиентов называют резервацией (reservation).
DHCPOFFER содержит IP из доступной области, который предлагается клиенту отправкой широковещательного (broadcast, «если вы тот, кто запрашивал IP-адрес, то доступен вот такой») или прямого (unicast, «вы запрашивали IP, предлагаю вот такой») сообщения. При этом, поскольку нужный клиент пока не имеет IP, для отправки прямого сообщения он идентифицируется по MAC-адресу.
Request, или запрос
Клиент получает DHCPOFFER, а затем отправляет на сервер сообщение DHCPREQUEST. Этим сообщением он принимает предлагаемый адрес и уведомляет DHCP-сервер об этом. Широковещательное сообщение почти полностью дублирует DHCPDISCOVER, но содержит в себе уникальный IP, выделенный сервером. Таким образом, клиент сообщает всем доступным DHCP-серверам «да, я беру этот адрес», а сервера помечают IP как занятый.
Acknowledgement, или подтверждение
Сервер получает от клиента DHCPREQUEST и окончательно подтверждает передачу IP-адреса клиенту сообщением DHCPACK. Это широковещательное или прямое сообщение утверждает не только владельца IP, но и срок, в течение которого клиент может использовать этот адрес.
Со схемой отправки сообщений разобрались, но, если в сети несколько DHCP-серверов, пославших предложение, какое из них выберет клиент? Хороший вопрос. В состоянии INIT, если клиент получает адрес впервые, он будет принимать только первое предложение IP. Однако, если клиент уже общался ранее с определенным DHCP-сервером, он отдаст предпочтение этому серверу и, наоборот, сервер выберет знакомого клиента.
Срок аренды
Когда DHCP-сервер выделяет IP из области, он оставляет запись о том, что этот адрес зарезервирован за клиентом с указанием срока действия IP. Этот срок действия называется срок аренды (lease time). Срок аренды может составлять от 24 часов до нескольких дней, недель или даже месяцев, он задается в настройках самого сервера.
Предоставление адреса в аренду, а не на постоянной основе необходимо по нескольким причинам. Во-первых, это разумное использование IP-адресов — отключенные или вышедшие из строя клиенты не резервируют за собой адрес. Во-вторых, это гарантия того, что новые клиенты при необходимости смогут получить уникальный адрес.
После получения адреса из области, клиент берет его в аренду на время, называемое T. Клиент переходит в связанное (BOUND) состояние и продолжает нормальную работу, пока не наступит время половины срока аренды — T1.
По наступлении T1 клиент инициализирует процедуру получения нового IP или обновления адреса — состояние RENEWING. Процесс повторного получения происходит по упрощенной схеме: клиент прямым сообщением запрашивает (DHCPREQUEST), а сервер подтверждает (DHCPACK) запрос. Время аренды начинает отсчитываться заново.
Если подтверждение (DHCPACK) от сервера не поступает, клиент снова запрашивает адрес, но только когда истекает половина T1. Если запрос адреса остается без ответа второй раз, клиент отправляет еще одно сообщение, когда истекает половина от T1/2 (25% от полного срока аренды). Следующий запрос будет отправлен после истечения еще половины оставшегося времени, потом еще половины. И так далее, пока не наступит T2, которое равняется 87,5%, или 7/8 от всего времени аренды. После T2 все попытки продлить аренду IP будут широковещательными. Это значит, что, если первый сервер по какой-то причине недоступен, на запрос адреса сможет ответить любой другой, и работа не будет прервана.
Три подхода к распределению адресов
Сервер назначает IP одним из трех основных способов.
Статическое распределение (static allocation). Почти как ввод адреса на каждом компьютере вручную. Отличие в том, что системный администратор задает нужные соответствия IP для MAC-адресов клиентов на самом DHCP-сервере. IP останется за клиентом, даже если тот выйдет из сети, отключится, перейдет в новую сеть и т.п.
Автоматическое распределение (automatic allocation). Сервер закрепляет IP из области за каждым клиентом навсегда. Срок аренды не ограничен.
Динамическое распределение (dynamic allocation). DHCP-сервер назначает адрес из области на определенное время, называемое сроком аренды. Такой подход полезен, если число доступных IP ограничено. IP назначается каждому клиенту при подключении к сети и возвращается в область, как только клиент его освобождает. В таком случае IP может отличаться при каждом подключении, но обычно назначается прежний.
Особые DHCP сообщения
Кроме DORA — четырех сообщений для получения адреса — DHCP использует и другие. Давайте рассмотрим каждое.
DHCPNAK. Нередко в источниках можно встретить написание DHCPNACK, что является неправильным, так как RFC 2131 регламентирует именно NAK. DHCPNAK отправляется сервером вместо окончательного подтверждения. Такой отказ может быть отправлен клиенту, если аренда запрашиваемого IP истекла или клиент перешел в новую подсеть.
DHCPRELEASE. Клиент отправляет это сообщение, чтобы уведомить сервер об освобождении занимаемого IP. Иными словами, это досрочное окончание аренды.
DHCPINFORM. Этим сообщением клиент запрашивает у сервера локальные настройки. Отправляется, когда клиент уже получил IP, но для правильной работы ему требуется конфигурация сети. Сервер информирует клиента ответным сообщением с указанием всех запрошенных опций.
Опции DHCP
Для работы в сети клиенту требуется не только IP, но и другие параметры DHCP — например, маска подсети, шлюз по умолчанию и адрес сервера. Опции представляют собой пронумерованные пункты, строки данных, которые содержат необходимые клиенту сервера параметры конфигурации. Дадим описания некоторым опциям:
- Option 1 — маска подсети IP;
- Option 3 — основной шлюз;
- Option 6 — адрес сервера DNS (основной и резервный);
- Option 51 определяет, на какой срок IP-адрес предоставляется в аренду клиенту;
- Option 55 — список запрашиваемых опций. Клиент всегда запрашивает опции для правильной конфигурации. Отправляя сообщение с Option 55, клиент выставляет список запрашиваемых числовых кодов опций в порядке предпочтения. DHCP-сервер старается отправить ответ с опциями в том же порядке.
Option 82 — ретрансляция DHCP-сервера
Option 82 — информация об агенте ретрансляции (relay agent information). Благодаря ретранслятору клиент и сервер могут общаться, находясь в разных подсетях. По умолчанию широковещательные сообщения не могут выходить за пределы текущего широковещательного домена (подсети). Внимательный читатель скажет, что выше мы писали, как клиент отправляет широковещательное сообщение DHCPDISCOVER всем доступным DHCP-серверам. А что если в сети нет DHCP?
Предположим, широковещательные сообщения не выходят за пределы подсети компании, которая не установила DHCP-сервер. В таком случае сообщение DHCPDISCOVER должно будет пропасть, и ни один компьютер компании не сможет выйти в интернет. Однако в реальности отсутствие DHCP-сервера не мешает выходу в сеть.
Значит ли это, что широковещательные сообщения каким-то образом выходят за пределы подсети? Не совсем. За пределы подсети выходят только широковещательные DHCP-сообщения. Это становится возможным благодаря агенту ретрансляции. Обычно в его роли выступает маршрутизатор или сервер. Ретранслятор получает сообщения от клиента в своей подсети, направляют его на DHCP-сервер, который тем же образом — через ретранслятор — отправляет ответ. Так ретранслятор выступает в качестве посредника между подсетями.
Опции DHCP для загрузки PXE
Протокол DHCP позволяет загрузку компьютера без использования носителя данных. Такая загрузка происходит с сетевой карты и называется PXE (Preboot eXecution Environment). Для конфигурации сетевой загрузки LEGACY BIOS PXE используются DHCP-опции 43, 60, 66 и 67.
- Option 43 зарезервирована для обмена информацией производителей;
- Option 60 — классовый идентификатор; здесь указывается, например, PXE клиент;
- Option 66 и 67 необходимы для указания имени сервера PXE и имени файла загрузки соответственно.
Взаимодействие DHCP и DNS
Как мы упоминали выше, Option 6 — это сервер DNS. Давайте рассмотрим подробнее взаимодействие двух протоколов.
DNS (система доменных имен) отвечает за соответствие доменных имен и IP-адресов. Доменное имя — это не только адрес в интернете, например, selectel.ru, но также имя компьютера в локальной сети, например, Director PC. DNS проводит соединительную линию между IP и буквенно-числовым доменным именем компьютера или веб-сайта. DHCP занимается выделением и назначением IP из области. Очевидно, что два протокола должны тесно взаимодействовать между собой.
В статье мы уже говорили, что DHCP-сервер имеет область IP-адресов, которые допускается распределять между клиентами в сети. DNS-сервер занимается тем, что сопоставляет IP-адреса и доменные имена. Это не только имена сайтов, но и имена компьютеров в сети, (например, NetworkServer PC).
Если вы хотите создать свою локальную сеть на базе Linux, потому что это бесплатно и вы не хотите связываться Windows, то вы можете столкнуться с проблемой взаимодействия DNS и DHCP. Linux не имеет Active Directory, как в Windows, позволяющей тесно связать DHCP и DNS, избегая необходимости обращаться к клиенту каждый раз по IP. Однако способы организовать такую связь существуют и для свободной системы.
Первый вариант — настроить DHCP-сервер так, чтобы фиксировал адрес за клиентом. Второй вариант — настроить взаимодействие DHCP- и DNS- серверов. Первый вариант подходит, если область IP-адресов широкая и вы можете позволить себе фиксировать IP за каждым клиентом. Если же для вас такой метод будет расточительным, то необходимо дать двум серверам работать вместе.
Взаимодействие DHCP и DNS необходимо для того, чтобы DNS-сервер вовремя получал информацию о новом IP клиента и мог сопоставить его с именем клиента в сети. Если сервера не будет взаимодействовать, это чревато ошибками и недоступностью клиентов.
Настроить данное взаимодействие можно в четыре шага при помощи пакета dnsmasq, доступного в стандартных репозиториях Ubuntu и Debian. Мы не будем давать детальную инструкцию по осуществлению, а лишь кратко опишем каждый шаг.
Шаг 1 — конфигурация сети
В первую очередь необходимо определиться с компьютером, который будет выполнять роль сервера. Важно выбрать тот компьютер (Ubuntu Server или Ubuntu Desktop), который вы не планируете выключать слишком часто. Если после полной настройки вы решите выключить компьютер, то вся сеть тоже выключится.
Выбранному компьютеру необходимо назначить статический IP. Делается это редактированием конфигурационного файла в директории /etc/network/interfaces.
Шаг 2 — установка dnsmasq
Установите пакет dnsmasq командой из терминала:
sudo apt-get install dnsmasq -y
А затем откройте файл конфигурации /etc/dnsmasq.conf. Файл конфигурации dnsmasq очень большой, но он содержит комментарии с объяснениями того, за что отвечает каждая настройка. Чтобы добавить требуемые настройки, откройте файл и удалите решетку (#), означающую комментарий, в начале нужных строк.
Шаг 3 — настройка фаервола
Для изменения настроек фаервола можно использовать Ubuntu Uncomplicated Firewall. Используйте следующие команды:
sudo ufw allow bootps
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
Шаг 4 — изменение настроек роутера
Зайдите в настройки вашего роутера из браузера, отключите DHCP для локальной сети, измените все настройки DNS так, чтобы они указывали на ваш только что настроенный сервер. Последнее действие — перезапуск сети на сервере. Для этого вы можете просто перезагрузить компьютер или использовать команды:
sudo service dnsmasq restart
sudo service network-manager restart
Недостатки протокола DHCP
DHCP имеет свои уязвимости. Основная заключается в четырех шагах, необходимых для получения IP. Процесс DORA подразумевает рассылку сообщений широковещательного типа, когда первый откликнувшийся DHCP-сервер получает возможность предложить IP из своей области. Если злоумышленник сможет использовать свой сервер, который даст самый быстрый ответ клиенту, то у него откроется возможность получить контроль над действиями пользователя в сети и нанести существенный ущерб.
Еще одна брешь в безопасности — в том, что DHCP использует UDP-протокол. UDP — протокол обмена датаграммами без установления соединения, а значит, и без шифрования. Передаваемая по UDP информация не защищена и может быть «подслушана», что также может быть использовано злоумышленниками.
Третий недостаток — вновь ненадежность UDP, но другого рода. UDP не обеспечивает гарантию доставки информации. Этот протокол допускает потери и ошибки, которые могут сказаться и на работе DHCP, в частности при PXE-загрузке.
Заключение
Мы рассмотрели основные принципы работы DHCP-серверов. Несмотря на недостатки и частые доработки, протокол DHCP широко используется в современных сетях. Также изучили процесс DORA, основные опции и другие аспекты протокола. Надеемся, эта статья оказалась вам полезна.
Блог Traffic Inspector Next Generation Team03.08.20205385
Протокол DHCP (Dynamic Host Configuration Protocol) относится к числу основных служб, формирующих инфраструктуру сетей. Он применяется для автоматического выполнения конфигурации сетевых параметров. Любой специалист, занимающийся построением и обслуживанием компьютерных сетей, а также работой в них, должен иметь по крайней мере общее представление об этом протоколе и понимать, на каком уровне работает DHCP.
При наличии хотя бы средних навыков настройка протокола DHCP на компьютере не представляет сложности и занимает около минуты. Однако, если требуется настроить большое число устройств, которые к тому же могут быть территориально удалены друг от друга, вручную с этой задачей не справиться. Поэтому управление настойками в корпоративных сетях обеспечивают DHCP-сервера. С их помощью достигается автоматизация настроек. Зная, как обратиться к протоколу DHCP, можно один раз настроить такой сервер, после чего последующая настройка и установка параметров на устройствах осуществляется автоматически. Кроме того, сервер обеспечивает централизованное управление предоставляемыми IP-адресами, исключает их дублирование и оперативно освобождает адреса, которые не используются.
Разберем общий принцип работы протокола DHCP по ключевым моментам.
Получение настроек
Работа протокола DHCP осуществляется по принципу клиент-сервер. Для получения настроек используется схема DORA (Discover-Offer-Request-Acknowledge). Сам процесс состоит из следующих этапов:
- Обнаружение (Discover). После подключения клиента начинается процесс его инициализации в сети. Он находит подходящий DHCP-сервер путем отправки специального запроса DHCPDISCOVER на адрес 255.255.255.255. Учитывая отсутствие собственного IP, в таком запросе указывается 0.0.0.0 и MAC. Запрос поступает на все ПК в соответствующем сегменте сети. При этом ответ на него автоматически отправляется только DHCP-серверами.
- Предложение (Offer). Получив от клиента запрос, DHCP-сервер осуществляет его обработку и выполняет подбор сетевую конфигурацию. Эта конфигурация направляется клиенту в обратном сообщении DHCPOFFER, которое, как правило, передается на указанный MAC. Однако в некоторых случаях применяется широковещание. При нахождении нескольких серверов в пределах сети клиенту приходит соответствующее количество DHCPOFFER, из которых он выбирает один (обычно первый по времени получения).
- Запрос (Request). После получения DHCPOFFER клиент передает серверу специальное сообщение DHCPREQUEST, которое содержит запрос настроек. В этом запросе дублируется информация из DHCPDISCOVER, а также указывает IP-адрес избранного на предыдущем этапе DHCP-сервера.
- Подтверждение (Acknowledge). После получения DHCPREQUEST избранный DHCP-сервер выполняет фиксацию соответствующей привязки для клиента и направляет ему в ответ сообщение DHCPACK. В нем подтверждаются предоставленные автоматически настройки. Это сообщение передается на адрес MAC клиента, который был указан на предыдущем этапе. Получив DHCPACK, клиент проводит автоматическую проверку предоставленных настроек и применяет конфигурацию сети, полученную от сервера.
Полученный адрес может быть проверен клиентом путем отправки широковещательного запроса ARP. При обнаружении использования предоставленного IP другим устройством, серверу передается сообщение DHCPDECLINE. После этого начинается повторная инициализация.
Обновление адреса
Одной из важных функций, для чего предназначен протокол DHCP, можно назвать функцию обновления сетевых адресов. IP предоставляется клиенту на установленный период, называемый временем аренды. Его продолжительность в зависимости от установленных настроек сервера варьируется в пределах от минут до месяцев. После завершения половины этого периода клиент предпринимает попытку обновить аренду. При неудаче предпринимаются повторные попытки обновления, которые будут следовать до завершения срока. Если не одна попытка не завершится успешным обновлением, клиент приступит к поиску нового сервера.
В процессе обновления аренды клиент проходит два состояния:
- RENEWING — обновление адреса.
- REBINDING — обновление конфигурации.
Наступление состояния RENEWING предусмотрено на половине времени аренды (T1), а состояние REBINDING — после прохождения 87,5 этого периода (T2). Чтобы исключить синхронизацию различных клиентов, используется случайная величина отклонения при определении T1 и T2.
Рассмотрим, как работает протокол DHCP при обоих состояниях.
Работа при RENEWING
В этом состоянии клиентом запускается процесс обновления аренды. Для этого он направляет запрос DHCPREQUEST на собственный DHCP-сервер. При согласии сервера на продление клиенту возвращается ответ DHCPACK, в котором прописано новое время аренды и обновленные параметры. Клиент отмечает полученные значения, сбрасывает отсчет времени T1 и T2, после чего переходит в нормальное рабочее состояние.
В случае отказа сервер возвращает сообщение DHCPNACK. В результате клиент снова начинает инициализацию и повторно запускает процедуру обновления времени аренды.
Работа при REBINDING
При неполучении от ответа на запрос, направленный для обновления аренды, клиент ожидает его в течение определенного времени. После этого серверу направляется повторный запрос. Клиент продолжает поддерживать состояние RENEWING и периодически отправляет запросы DHCPREQUEST до получения ответа со стороны сервера. Весь этот период он нормально работает на своем текущем IP-адресе.
Если до наступления T2 не поступает серверный ответ, сетевой протокол DHCP предусматривает перевод клиента в состояние REBINDING, после чего при помощи широковещания направляется запрос DHCPREQUEST с указанием текущего адреса. Такие запросы посылаются через определенное время.
Если серверный ответ не поступает до окончания времени аренды, клиент прекращает отправку запроса и переходит в состояние инициализации. При получении ответа после окончания времени аренды клиент сможет снова работать со своим прежним IP-адресом.
Освобождение адреса
Для отказа от аренды IP клиент передает серверу специальный запрос DHCPRELEASE. В ответ сервер помечает соответствующий IP-адрес свободным. При этом резервируется запись с клиентскими сетевыми параметрами. Это необходимо для того, чтобы возобновить действие адреса при поступлении такого запроса. При простом выключении клиент не прекращает аренду, а сохраняет локально все установленные настройки. Запрос DHCPRELEASE направляется клиентом только при возникновении потребности в отказе от аренды. Например, такая необходимость может возникнуть при переходе в новую подсеть. Кроме того, существует возможность отказа от аренды вручную. Для этого можно использовать команду ipconfig/release.
Особенности работы DHCP
Сетевой протокол DHCP работает посредством UDP. Обмен данными между клиентом и сервером осуществляется через порты 67 UDP и UDP 68. Для передачи информации от клиента к серверу DHCP протокол задействует порт 67 UDP, а в обратном направлении — 68 UDP.
По умолчанию запросы протокола DHCP передаются в пределах текущей подсети. Это объясняется использованием широковещания, не пропускаемого маршрутизаторами за границы широковещательного домена. Такой домен обычно ограничен пределами логической или физической подсети.
При расположении в разных широковещательных доменах общение клиентов и серверов производится через специальный ретранслятор DHCP relay agent. Он выполняет функцию посредника, который обеспечивает обмен сообщениями между клиентом и сервером в формате адресных пакетов. Таким ретранслятором может служить маршрутизатор или специальный сервер, например, Windows Server.
Для нормальной работы и исполнения назначения протокола DHCP необходимо удостовериться, что необходимые порты не блокируются брандмауэром. В случае, расположения клиентов и сервера в разных подсетях, важно проверить наличие ретранслятора DHCP relay agent.
Предоставлено SendPulseНазадДалееИспользуемые источники:
- https://www.syl.ru/article/399501/dhcp-server-opisanie-ustanovka-vklyuchenie-avtorizatsiya-i-nastroyka
- https://selectel.ru/blog/dhcp-protocol/
- https://www.smart-soft.ru/blog/printsipy_raboty_protokola_dhcp/