Что такое dhcp сервер

Протокол DHCP

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016

Этот раздел можно использовать для краткого обзора DHCP в Windows Server 2016.

Помимо этого раздела, доступна следующая документация по DHCP.

Протокол DHCP — это протокол клиента или сервера, который автоматически предоставляет узел протокола IP с его IP-адресом и другие связанные сведения о конфигурации, такие как маска подсети и шлюз по умолчанию. RFC 2131 и 2132 определяют протокол DHCP в качестве стандарта Internet Engineering Task Force (IETF), основанного на протоколе начальной загрузки (BOOTP), протокола, с помощью которого DHCP предоставляет много сведений о реализации. DHCP позволяет узлам получать необходимые сведения о конфигурации TCP/IP от DHCP-сервера.

Windows Server 2016 включает DHCP-сервер, который является необязательной ролью сервера сети, которую можно развернуть в сети для аренды IP-адресов и других сведений клиентам DHCP. все клиентские операционные системы на основе Windows включают dhcp-клиент как часть TCP/IP, а dhcp-клиент включен по умолчанию.

Зачем использовать DHCP?

Каждое устройство в сети на основе TCP/IP должно иметь уникальный IP-адрес одноадресной рассылки для доступа к сети и ее ресурсам. Без DHCP IP-адреса новых компьютеров или компьютеров, перемещаемых из одной подсети в другую, необходимо настроить вручную. IP-адреса для компьютеров, удаленных из сети, необходимо вручную освободить.

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

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

Допустимые параметры конфигурации TCP/IP для всех клиентов в сети.

Допустимые IP-адреса, поддерживаемые в пуле для назначения клиентам, а также исключенные адреса.

Зарезервированный IP-адрес адреса, связанные с конкретными клиентами DHCP. Это обеспечивает единообразное назначение одного IP-адреса одному клиенту DHCP.

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

Клиент с поддержкой DHCP при принятии предложения аренды получает:

Допустимый IP-адрес для подсети, к которой подключается.

Запрошенные параметры DHCP, которые являются дополнительными параметрами, настроенными DHCP-сервером для назначения клиентам. Некоторые примеры параметров DHCP: маршрутизатор (шлюз по умолчанию), DNS-серверы и доменное имя DNS.

Преимущества DHCP

DHCP предоставляет следующие преимущества.

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

Сокращенное администрирование сети. Служба DHCP включает следующие функции для сокращения сетевого администрирования:

Централизованная и автоматизированная конфигурация TCP/IP.

Возможность определять конфигурации TCP/IP из центрального расположения.

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

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

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

Источник

DHCP-сервер

Протокол динамической конфигурации хоста DHCP (Dynamic Host Configuration Protocol) – один из основополагающих протоколов, как в локальных сетях, так и в Интернет.

Под словом «хост» в ИТ чаще всего подразумевается компьютер, иногда сервер (тоже компьютер). Почему компьютер или сервер называется «хост» (host – англ. «хозяин»), никто не знает. Вероятно, возникновение этого термина восходит ко временам больших ЭВМ (мейнфреймов), к которым тогдашние пользователи могли подключаться удалённо, например, по телефонной линии. Только вместо собственного компьютера у них был лишь алфавитно-цифровой дисплей с клавиатурой.

Что такое dhcp сервер. Смотреть фото Что такое dhcp сервер. Смотреть картинку Что такое dhcp сервер. Картинка про Что такое dhcp сервер. Фото Что такое dhcp сервер

Рис. 1. «Менйфрейм» со множеством дисплеев.

Таких дисплеев к главному и единственному компьютеру (хосту) можно было подключить много (в режиме разделения времени), и пользователи, работающие на них, считали, что весь «мейнфрейм» находится полностью в их распоряжении. А чтобы каждый пользователь получал только предназначенную ему информацию и не мог вторгнуться в анналы другого пользователя на хосте, были придуманы различные методы разделения доступа, результатом эволюции которых явился протокол DHCP. Он был разработан в 1993 году, когда уже существовали персональные компьютеры, а «мейнфреймы» стали отходить на второй план. Поэтому термин «host» продолжал использоваться, но уже в отношении персонального компьютера.

Таким образом, DHCP – это стандартный протокол в сети с архитектурой «клиент-сервер», который динамически назначает IP-адреса и другую необходимую информацию конфигурации для новых устройств в сети. Каждое сетевое устройство должно иметь собственный, уникальный IP-адрес, чтобы в сети не возникали конфликты. IP-адрес, конечно, можно прописать для компьютера вручную, т.е. статически, и не менять его в дальнейшем. В небольших сетях, на 2-5 компьютеров, так иногда и делается. Но если компьютеров в сети десятки и сотни, то уследить за уникальностью сетевых адресов будет весьма проблематично. Хотя и в таких сетях тоже могут использоваться статические IP-адреса, например, для принтеров.

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

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

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

DHCP-сервер автоматически распределяет и обновляет IP-адреса и другую информацию конфигурации компьютеров (DHCP-клиентов) в сети. Для DHCP-клиентов эта информация предоставляется при помощи обмена сообщениями, порядок которых определяется протоколом DHCP, и такой обмен называется DHCP-транзакцией. Если DHCP-сервер и DHCP-клиент расположены в разных подсетях (subnets), то используется агент-ретранслятор DHCP (DHCP relay agent), чтобы DHCP-транзакцию можно было провести между разными подсетями.

DHCP, как определено в документе RFC 2131, был разработан на базе протокола BOOTP (Bootstrap Protocol), с помощью которого клиент может автоматически получить IP-адрес, обычно, во время загрузки компьютера.

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

Архитектура DHCP включает DHCP-клиенты, DHCP-серверы и агенты-ретрансляторы DHCP. Клиент общается с DHCP-сервером используя стандартные сообщения DHCP для получения и обновления выделяемых ему IP-адресов.

DHCP-клиент

DHCP-клиент – это любое IP-устройство, подключаемое к сети, запрашивающее IP-адрес и параметры конфигурации от DHCP-сервера. Они передаются в поле Options сообщения DHCP. Это поле используется для назначения дополнительных параметров, таких как адрес IP-шлюза, адрес DNS-сервера и доменное имя DNS.

DHCP-сервер

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

Агент-ретранслятор DHCP

Агент-ретранслятор DHCP (DHCP relay agent) передаёт сообщения DHCP между сервером и клиентами, когда они не находятся в одной подсети. Таким образом, в больших сетях, состоящих из многих подсетей, один DHCP-сервер может обслуживать всю сеть при помощи агентов-ретрансляторов, которые располагаются на граничных маршрутизаторах подсетей. В сети можно сконфигурировать до 400 агентов-ретрансляторов. Их можно использовать для защиты от спуфинг-атак, когда недоверенные компьютеры пытаются получить доступ к IP-адресам сети.

DHCP-транзакция

При DHCP-транзакции выполняются обмен следующими сообщениями между портами DHCP-сервера и DHCP-клиента:

Что такое dhcp сервер. Смотреть фото Что такое dhcp сервер. Смотреть картинку Что такое dhcp сервер. Картинка про Что такое dhcp сервер. Фото Что такое dhcp сервер

Рис. 2. Процесс DHCP-транзакции.

Возобновление назначения IP-адреса

Если клиенту нужно продлить время назначения (lease time), по истечении примерно 50% времени назначения IP-адреса, он должен выполнить процедуру возобновления назначения (lease renewal). При этом выполняется более простая процедура, чем начальное назначение IP-адреса.

Клиент посылает на DHCP-сервер запрос DHCP REQUEST, в котором указан назначенный ему ранее IP-адрес. Это сообщение отправляется только на сервер, выдавший этот адрес при назначении, а не по общей рассылке. Если сервер имеет возможность вновь назначить тот же IP-адрес, то он сразу же посылает сообщение DHCP ACK.

Освобождение IP-адреса

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

Конфигурация DHCP

При DHCP-транзакции могут конфигурироваться DHCP-серверы, DHCP-клиенты, агенты-ретрансляторы (Relay agent), а также пороги ограничения времени назначения (Short lease threshold).

Конфигурация DHCP-клиента

Интерфейс на сетевом устройстве может быть сконфигурирован либо со статическим (постоянным), либо динамическим IP-адресом, а также другими параметрами в поле Option сообщения DHCP:

Код параметра в поле Option

Описание

Маска подсети для устройства (subnet mask)

Список маршрутизаторов по умолчанию

Список серверов DNS

Имя домена, используемой для определения имён хостов в нём, либо список доменов.

Истечение заданного времени назначения (lease time)

Конфигурация DHCP-сервера

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

Конфигурация пула адресов предусматривает следующее:

Конфигурация агента-ретранслятора

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

Конфигурация порога короткого времени назначения (short lease threshold)

Время короткого назначения (short lease time) конфигурируется для различных ситуаций, например, для бесплатного доступа wifi в кафе. Можно назначить, например, один час бесплатного доступа, после чего пользователю будет необходимо вновь регистрироваться в сети. В условиях предприятия время назначения можно задавать в пределах дней или недель.

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

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

Можно сделать и так, что устройство будет просто запрашивать новый адрес при необходимости. В этом случае, можно установить порог кроткого времени назначения (short lease threshold), которое может составлять от 1 минуты до 24 часов. В этом случае, любое время назначения не превышающее порог short lease threshold, не будет сохраняться в резервной постоянной памяти.

Решение DDI

Основными элементами управления в IP-сетях являются DNS, DHCP и управление IP-адресами IPAM (IP address management). Эти элементы тесно связаны друг с другом. Однако, раздельное управление этими элементами создает много проблем в плане эффективности и операционными рисками, например:

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

Источник

Что такое DHCP-протокол

Что такое dhcp сервер. Смотреть фото Что такое dhcp сервер. Смотреть картинку Что такое dhcp сервер. Картинка про Что такое dhcp сервер. Фото Что такое dhcp сервер

Рассказываю о том, как компьютеры получают IP-адреса для работы в сети.

Способы выдачи IP-адресов

Чтобы компьютер мог работать в сети, ему нужен IP-адрес. Он выглядит как 4 числа через точку. Например, IP-адрес timeweb.com – 185.114.246.105. Это как страна, город, улица и дом в почтовом адресе, только в интернете – это узлы связи и магистральные роутеры. Если устройству не выдали IP-адрес, оно не может общаться с другими устройствами в сети.

«IP» расшифровывается как Internet Protocol. Данный протокол имеет две версии: IPv4 и IPv6.

Устройство может получить IP-адрес двумя способами: статическим (ручным) и динамическим.

Динамический способ подойдет как для предприятий, где количество устройств фиксировано, так и для кафе, через Wi-Fi которых каждый день проходит много разных гаджетов.

Протокол DHCP и динамический IP

Для динамической выдачи IP-адресов используется сетевой протокол DHCP («Dynamic Host Configuration Protocol»), что переводится как протокол динамической настройки узла.

DHCP работает по модели «клиент-сервер». Он автоматически раздает IP-адреса и другие параметры конфигурации устройствам, чтобы те могли работать в сети.

Взаимодействие DHCP-сервера и клиента

Сервер и клиент обмениваются сообщениями по принципу «запрос-ответ». Взаимодействие состоит из 4 этапов и сокращенно называется «DORA». По одной букве на каждый этап:

Подтверждение – Acknowledgement (ACK).

Что такое dhcp сервер. Смотреть фото Что такое dhcp сервер. Смотреть картинку Что такое dhcp сервер. Картинка про Что такое dhcp сервер. Фото Что такое dhcp сервер

Поиск (Discover): Клиент → Сервер

На этом этапе клиенту главное найти и узнать, где находится сервер.

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

Такое сообщение называется широковещательным (broadcast) – это значит, что поток данных от клиента получат все устройства внутри его сети. Ответить на такое сообщение смогут только DHCP-серверы.

Что такое dhcp сервер. Смотреть фото Что такое dhcp сервер. Смотреть картинку Что такое dhcp сервер. Картинка про Что такое dhcp сервер. Фото Что такое dhcp сервер

Запрос клиента получат все участники сети, но ответит только сервер

Предложение (Offer): Сервер → Клиент

DHCP-сервер получает сообщение от клиента, после чего выбирает свободный IP-адрес из числа доступных и отправляет его в ответном сообщении «DHCPOFFER».

Как правило, IP-адрес закрепляется за клиентом на определенное время, поэтому может меняться между сеансами работы в сети.

Если клиенту ответили несколько серверов, он выберет какой-то один и получит от него IP-адрес с настройками.

Запрос (Request): Клиент → Сервер

Клиент получил IP-адрес и отправляет серверу ответное сообщение: «DHCPREQUEST». В нем он еще раз прописывает полученный адрес и тем самым подтверждает, что будет использовать его.

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

Только один сервер продолжает взаимодействие с клиентом. Это тот, который предложил выбранный клиентом IP-адрес.

Подтверждение (ACK): Сервер → Клиент

Сервер отправляет сообщение «DHCPACK» и тем самым закрепляет IP-адрес за клиентом. В сообщении содержится сам адрес, срок его использования и дополнительные настройки сети. Клиент проверяет эти настройки, применяет полученную конфигурацию и получает доступ к сети.

В общем виде весь процесс взаимодействия выглядит так:

– (Клиент) Кто тут сервер? Мне надо получить IP-адрес: «DHCPDISCOVER».

– (Сервер) Я сервер, предлагаю тебе использовать вот этот IP: «DHCPOFFER».

– (Клиент) Хорошо, я буду использовать этот IP, что ты мне отправил: «DHCPREQUEST».

– (Сервер) Вот и договорились. Приятной работы в сети: «DHCPACK».

Другие варианты сообщений

«DHCPINFORM» – так клиент запрашивает локальные настройки сети. В ответ на это сообщение сервер посылает запрашиваемую конфигурацию.

«DHCPNAK» – так сервер отказывает клиенту пользоваться IP-адресом.

Длительность использования IP-адреса

Время, на которое клиент получает IP-адрес от сервера, называется «срок аренды» (lease time). Он может составлять несколько минут, часов и даже суток. Когда срок аренды заканчивается, адрес освобождается, и сервер может отдать его другому клиенту.

Клиент может продлить аренду и использовать IP-адрес дальше. Для этого он ждет, пока пройдет половина срока, который изначально назначил сервер. После этого клиент посылает серверу сообщение «DHCPREQUEST», в котором указывает свой текущий IP-адрес. В ответном сообщении «DHCPACK» сервер запускает срок аренды заново. Получилась укороченная схема взаимодействия «клиент-сервер» из двух последних этапов (запрос → подтверждение).

Если сервер молчит и не отправляет подтверждение «DHCPACK», то клиент пробует отправить повторный запрос «DHCPREQUEST», когда пройдет половина от того времени, что осталось сейчас. И так до тех пор, пока не пройдет ⅞ времени всей аренды. После этого клиент начнет отправлять широковещательные запросы на свою сеть и ждать ответа от другого сервера.

Перед тем как завершить работу и отключиться от сети, клиент автоматически отправит серверу сообщение «DHCPRELEASE». Это значит, что IP-адрес свободен и сервер может передать его другому компьютеру.

Способы раздачи IP-адресов в DHCP

DHCP-сервер может назначать IP-адреса тремя способами:

Фиксированный – в этом случае происходит настройка DHCP сервера, в ходе которой администратор вручную прописывает соответствие между каждым MAC-адресом и IP-адресом. Таким образом, за каждым устройством закрепляется свой адрес, который будет выдавать сервер.

Это удобно в рамках небольшой сети, когда известны MAC-адреса всех компьютеров.

Автоматический – при таком способе каждое устройство автоматически получает IP-адрес, который не будет меняться. DHCP-сервер выдает адрес в бессрочную аренду, пока клиент от него не откажется.

Динамический – DHCP-сервер выдает клиенту любой адрес из диапазона свободных. Эти адреса не закрепляются за конкретными устройствами.

Динамическим способом раздают IP-адреса, когда состав пользователей и их количество в сети постоянно меняется, например при использовании Wi-Fi в кафе. В этом случае кафе покупает определенное количество IP-адресов и выдает посетителям, которые подключаются к сети.

Связь DHCP и клиента в разных подсетях

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

DHCP-сервер и клиент могут оказаться в разных подсетях, разделенных одним или несколькими маршрутизаторами. Как правило, маршрутизаторы не пропускают широковещательный трафик.

Вспомним, что первое сообщение, которое отправляет клиент, чтобы найти сервер («DHCPDISCOVER»), – широковещательное. Следовательно, клиент и сервер из разных подсетей не смогут просто так взаимодействовать.

Эту проблему решают с помощью ретрансляции или DHCP relay. С помощью этой настройки маршрутизаторы смогут передавать только широковещательный трафик, который относится к протоколу DHCP.

Таким образом, если маршрутизатор может работать в режиме DHCP relay, то у него получится передать первый запрос клиента «DHCPDISCOVER» серверу в другой подсети. В этом случае взаимодействию «клиент-сервер» ничего не помешает.

Краткие выводы

Для связи с другими устройствами и работы в сети компьютеру требуется IP-адрес.

Устройство может получить статический или динамический IP-адрес.

Динамические IP-адреса назначаются с помощью протокола DHCP.

Чтобы получить IP-адрес, устройство-клиент взаимодействует с DHCP-сервером по модели «DORA».

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

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

Источник

Принципы работы протокола DHCP

Что такое dhcp сервер. Смотреть фото Что такое dhcp сервер. Смотреть картинку Что такое dhcp сервер. Картинка про Что такое dhcp сервер. Фото Что такое dhcp сервер

Что такое dhcp сервер. Смотреть фото Что такое dhcp сервер. Смотреть картинку Что такое dhcp сервер. Картинка про Что такое dhcp сервер. Фото Что такое dhcp сервер

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 сервер. Смотреть фото Что такое dhcp сервер. Смотреть картинку Что такое dhcp сервер. Картинка про Что такое dhcp сервер. Фото Что такое 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.255.

Бывает и так, что не все доступные адреса должны быть назначены клиентам. Например, администратор может исключить (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 — например, маска подсети, шлюз по умолчанию и адрес сервера. Опции представляют собой пронумерованные пункты, строки данных, которые содержат необходимые клиенту сервера параметры конфигурации. Дадим описания некоторым опциям:

Что такое dhcp сервер. Смотреть фото Что такое dhcp сервер. Смотреть картинку Что такое dhcp сервер. Картинка про Что такое dhcp сервер. Фото Что такое dhcp сервер

Option 82 — ретрансляция DHCP-сервера

Option 82 — информация об агенте ретрансляции (relay agent information). Благодаря ретранслятору клиент и сервер могут общаться, находясь в разных подсетях. По умолчанию широковещательные сообщения не могут выходить за пределы текущего широковещательного домена (подсети). Внимательный читатель скажет, что выше мы писали, как клиент отправляет широковещательное сообщение DHCPDISCOVER всем доступным DHCP-серверам. А что если в сети нет DHCP?

Предположим, широковещательные сообщения не выходят за пределы подсети компании, которая не установила DHCP-сервер. В таком случае сообщение DHCPDISCOVER должно будет пропасть, и ни один компьютер компании не сможет выйти в интернет. Однако в реальности отсутствие DHCP-сервера не мешает выходу в сеть.

Значит ли это, что широковещательные сообщения каким-то образом выходят за пределы подсети? Не совсем. За пределы подсети выходят только широковещательные DHCP-сообщения. Это становится возможным благодаря агенту ретрансляции. Обычно в его роли выступает маршрутизатор или сервер. Ретранслятор получает сообщения от клиента в своей подсети, направляют его на DHCP-сервер, который тем же образом — через ретранслятор — отправляет ответ. Так ретранслятор выступает в качестве посредника между подсетями.

Что такое dhcp сервер. Смотреть фото Что такое dhcp сервер. Смотреть картинку Что такое dhcp сервер. Картинка про Что такое dhcp сервер. Фото Что такое dhcp сервер

Опции DHCP для загрузки PXE

Протокол DHCP позволяет загрузку компьютера без использования носителя данных. Такая загрузка происходит с сетевой карты и называется PXE (Preboot eXecution Environment). Для конфигурации сетевой загрузки LEGACY BIOS PXE используются DHCP-опции 43, 60, 66 и 67.

Взаимодействие 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 командой из терминала:

А затем откройте файл конфигурации /etc/dnsmasq.conf. Файл конфигурации dnsmasq очень большой, но он содержит комментарии с объяснениями того, за что отвечает каждая настройка. Чтобы добавить требуемые настройки, откройте файл и удалите решетку (#), означающую комментарий, в начале нужных строк.

Шаг 3 — настройка фаервола

Для изменения настроек фаервола можно использовать Ubuntu Uncomplicated Firewall. Используйте следующие команды:

Шаг 4 — изменение настроек роутера

Зайдите в настройки вашего роутера из браузера, отключите DHCP для локальной сети, измените все настройки DNS так, чтобы они указывали на ваш только что настроенный сервер. Последнее действие — перезапуск сети на сервере. Для этого вы можете просто перезагрузить компьютер или использовать команды:

Недостатки протокола DHCP

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

Еще одна брешь в безопасности — в том, что DHCP использует UDP-протокол. UDP — протокол обмена датаграммами без установления соединения, а значит, и без шифрования. Передаваемая по UDP информация не защищена и может быть «подслушана», что также может быть использовано злоумышленниками.

Третий недостаток — вновь ненадежность UDP, но другого рода. UDP не обеспечивает гарантию доставки информации. Этот протокол допускает потери и ошибки, которые могут сказаться и на работе DHCP, в частности при PXE-загрузке.

Заключение

Мы рассмотрели основные принципы работы DHCP-серверов. Несмотря на недостатки и частые доработки, протокол DHCP широко используется в современных сетях. Также изучили процесс DORA, основные опции и другие аспекты протокола. Надеемся, эта статья оказалась вам полезна.

Источник

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

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