Зачем нужен dhcp сервер на windows linux

Обновлено: 05.07.2024

Всем привет! Начнем, пожалуй, с вопроса – а что же такое DHCP, и для чего он нужен? Давайте разберем на конкретном примере. Почти у каждого дома есть Wi-Fi роутер (маршрутизатор), к которому можно подключить компьютер, телефон, планшет, телевизор, сетевой принтер или даже камеру видеонаблюдения. Подключить можно как по Wi-Fi, так и по сетевому кабелю.

В общем любое устройство, на котором есть специальный сетевой порт или Wi-Fi адаптер. К примеру, у нас есть общага, где студенты подключили три устройства к роутеру:

  • Ноутбук ботаника, который готовится к ГОСам.
  • Компьютер бородатого студента переростка, от которого пахнет пельменями и потным свитером.
  • Телефон блондинки, которой нужно готовиться к экзаменам, но она вчера ходила в ночной клуб и после бодуна лежит без задних ног.

DHCP сервер автоматически назначает адреса всем подключенным устройствам:

  • Ноутбук (192.168.1.10)
  • Компьютер (192.168.1.11)
  • Телефон (192.168.1.12)

Если говорить простыми словами, то DHCP – это специальный протокол, который используется в сетях, позволяющий автоматически назначать IP адреса подключенным устройствам. В данном примере мы рассмотрели IPv4 DHCP адресацию. Но есть также и IPv6 адресация, которая используется немного реже. Чуть ниже я немного шире раскрою это понятие, а также расскажу, где находится DHCP клиент и сервер в домашней среде.

Ищущим знаний и мудрости советую почитать дополнительные статьи про:

Виды IP и DHCP

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

Принцип действия

  1. Изначально компьютер (если там стоят настройки, чтобы получать от DHCP сервера конфигурацию адреса) отправляет запрос на получение адреса.
  2. Комп принимает и устанавливает IP, отправляет обратно запрос на то, что адрес установлен.
  3. Сервер записывает данный адрес в таблицу маршрутизации и отправляет обратный ответ, что адрес теперь точно его.
  4. Комп принимает ответ и подтверждает настройки IP адреса.

IP адресация

В сетевой адресации есть также такое понятие как «SCOPE», когда с помощью IP адресации разделяются сегменты сети. Например, в крупной компании можно разделить сеть на подсети:

  • Бухгалтерия (192.168.1.xxx).
  • Отдел кадров (192.168.2.xxx).
  • Отдел продаж (192.168.3.xxx).
  • Юристы (192.168.4.xxx).

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

Проблемы с интернетом и сетью

Как правило DHCP клиент автоматом установлен на компьютере, а DHCP сервер уже запущен на роутере. Но бывают случаи, когда данные настройки DHCP неправильно настроены или вообще выключены. Тогда возникают трудности с интернетом. Мы также рассмотрим именно домашнюю сеть и обычный Wi-Fi маршрутизатор. Так что если у вас наблюдаются такие проблемы или вылезает ошибка «DHCP не включен на сетевом адаптере», то нужно проверить настройки.

DHCP-сервер: что это такое, для чего нужен, настройка на роутере и компьютере

Настроить на Windows

  1. Нажимаем на клавиши и английскую R и прописываем команду: «ncpa.cpl».

DHCP-сервер: что это такое, для чего нужен, настройка на роутере и компьютере

  1. У вас должно быть несколько адаптеров – нужно выбрать именно тот, через который вы подключены к роутеру (по Wi-Fi или по кабелю). Нажимаем правой кнопкой и заходим в «Свойства».

DHCP-сервер: что это такое, для чего нужен, настройка на роутере и компьютере

  1. Один раз нажимаем на строку с четвертым протоколом и заходим в «Свойства».

DHCP-сервер: что это такое, для чего нужен, настройка на роутере и компьютере

  1. Если данный способ не помог, то давайте ещё проверим, чтобы была включена служба DHCP – нажимаем на клавиши + R и прописываем: «services.msc».

DHCP-сервер: что это такое, для чего нужен, настройка на роутере и компьютере

  1. Находим в списке «DHCP-клиент», заходим в свойства и ставим тип запуска в «Автоматический» режим. Также проверьте «Состояние» (чуть ниже) – если служба выключена, нажмите на кнопку «Запустить». В самом конце применяем параметры.

DHCP-сервер: что это такое, для чего нужен, настройка на роутере и компьютере

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

На роутерах

Напомню, что тут мы настраиваем именно сервер, то есть место, откуда будут высылаться настройки на конечные устройства. В первую очередь нужно зайти в настройки роутера – для этого прописываем его IP адрес в адресную строку браузера. Чаще всего используются адреса: 192.168.1.1 или 192.168.0.1. Если у вас есть сложности с этим , то смотрим эту инструкцию.

DHCP-сервер: что это такое, для чего нужен, настройка на роутере и компьютере

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

  • После загрузки подключенный к сети клиент (на котором настроено использование DHCP) отправляет DHCP-серверу пакет DHCPDISCOVER.
  • Получив пакет запроса DHCPDISCOVER, DHCP-сервер отвечает пакетом DHCPOFFER.
  • Клиент принимает пакет DHCPOFFER и отправляет серверу пакет DHCPREQUEST, подтверждая готовность принять сетевую конфигурацию, предоставленную в пакете.
  • Получив от клиента пакет DHCPREQUEST, сервер отправляет пакет DHCPACK, который разрешает клиенту использование выделенного IP-адреса.

В данном руководстве мы рассмотрим настройку DHCP-сервера в Ubuntu/Debian Linux, но большенство настроек будет работать и в других дистрибутивах. Для получения административных привилегий все команды будут выполняться через sudo.

Шаг 1: Установка DHCP-сервера

1. Для установки пакета DCHP-сервера, ранее известного как dhcp3-server, нужно выполнить следующую команду:

2. После завершения установки отредактируйте файл /etc/default/isc-dhcp-server для определения интерфейсов, которые будет использовать DHCPD для обработки DHCP-запросов, при помощи опции INTERFACES.

Например, если вам нужно, чтобы демон DHCPD прослушивал eth0, задайте следующее значение:

Для этого сетевого интерфейса нужно настроить статический IP-адрес.

Шаг 2: Настройка DHCP-сервера

  • параметры – указывают, как выполнять задание (например, на какое время выделять адрес), выполнять ли его вообще (например, выделять ли адреса неизвестным клиентам) или какие параметры сетевой конфигурации отправлять DHCP-клиенту.
  • декларации – определяют топологию сети, описывают клиентов и предоставляемые им адреса, или применяют группу параметров к группе деклараций.

4. Для определения настроек DHCP-сервера откроем и отредактируем файл конфигурации:

5. Теперь нужно указать подсеть, в нашем примере мы будем использовать DHCP в локальной сети 192.168.10.0/24.

Здесь мы использовали следующие параметры:

Шаг 3: Настройка статических IP-адресов для машин клиентов

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

7. Запустим службу DHCP и установим ее автоматический запуск при загрузке:

8. Далее нужно создать правило для службы DHCP в брандмауэре (Демон DHCPD прослушивает UDP-порт 67):

Шаг 4: Настройка машин клиентов

9. Теперь можно настроить клиентские компьютеры в сети для автоматического получения IP-адресов от DHCP-сервера.

Отредактируйте файл конфигурации интерфейса Ethernet на клиентской машине (обратите внимание на имя/номер интерфейса):

Укажите следующие опции:

Сохраните и закройте файл, а затем перезапустите сетевые службы или перезагрузите систему:

Если все настроено правильно, клиентская машина должна автоматически получать IP-адреса от DHCP-сервера.

Настройка DHCP-сервера завершена. Более подробную информацию о dhcpd и dhcpd.conf с описанием всех возможных опций можно получить в соответствующих man-страницах:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Будучи начинающим администратором, я стремлюсь познать все новое и как губка впитывать информацию. Так же ценю порядок в IT-инфраструктуре предприятия, логичность, доступность и универсальность. Стремясь добиться последнего, (использовать для Active Directory nix-овый DNS — BIND) не так давно потерпел фиаско, но не останавливаюсь на достигнутом. Я хотел бы поделиться с вами информацией, касающейся роли Windows Deployment Services в Windows Server 2012 и настройкой ее для работы со сторонним DHCP-сервером на Ubuntu Server.

Часть 1. Настройка DHCP-сервера

Вся сеть в нашей организации построена на UNIX-системах, а для, пусть и скромного по меркам IT, парка машин в 50 шт. все же хочется использовать все современные блага и удобства администрирования. Встал вопрос: как разворачивать Windows на ПК пользователей по сети, когда TFTP-сервер будет находиться отдельно от DHCP? Задача, хоть и простая, но заставила меня бегло изучить работу и настройку DHCP-сервера на Ubuntu. Нам же важна универсальность. :) Не поднимать же ради этого «виндовый» DHCP.

Всего-то требовалось, при описании сети, указать командой next-server, что TFTP-сервер находится на другом хосте. Приведу фрагмент конфига DHCP на примере сети 192.168.1.0/24:


Вот, собственно, и все. /etc/init.d/isc-dhcp-server restart. Переходим к настройке WDS.

Часть 2. Настройка роли Windows Deployment Services

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

image

После установки роли, ее консоль будет доступна в списке Администрирование Панели управления Windows Server и носит название Службы развертывания Windows.

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

  • В конце будет предложено добавить первый образ

image

Здесь как раз и требуется снять птичек, если вы используете сторонний DHCP-сервер. А на вкладке «Клиент» можно указать, заводить ли новых пользователей в домен.

Часть 3. Интересности

Как известно, образы Windows добавляются на WDS-сервер в два этапа: добавления загрузочного образа (boot.wim) и образа установки (install.wim). Вот тут я и заметил маленькую и интересную особенность. В нашей компании используются ОС Windows, начиная с Windows 7, Server 2008R2 и заканчивая Windows 8.1 и Server 2012. Как известно, содержимое boot.wim — это то, что мы видим, запустив установку Windows с диска. И если при установке с диска важны только драйверы на контроллер HDD, то для сетевой установки важны еще драйвера на сетевой адаптер. В этой статье хорошо описан способ внедрения драйверов в дистрибутив с помощью WAIK. Но когда я добавил образ загрузки из дистрибутива Windows 8.1 и проверил его, то заметил, что база драйверов на сетевые адаптеры расширена. Но главная особенность не в этом. :) Используя один, самый последний образ загрузки Windows (пусть даже собранный вами лично с помощью WAIK), можно устанавливать любые редакции Windows, начиная с Windows Vista, заканчивая Windows Server 2012R2. Вам не нужно добавлять кучу образов для загрузки — выберет один, универсальный и современный. Можно добавлять только образы установки (install.wim), выбирая, какие редакции Windows вам нужны.

image

Вы можете создать в консоли управления WDS группы образов…

… и в результате получите при установке список всех ОС, из групп Desktop и Servers, выберете нужную и проинсталлируете. Не забывайте, для установки требуется ввести логин/пароль администратора сервера.

image

Содержимое каталога, где хранятся образы установки, будет выглядеть следующим образом:

Несмотря на банальность происходящего, это не помешает вам установить любую Windows из добавленных вами на сервер.

Вот, собственно, и все, чем я хотел с вами поделиться. Если хотите расширить возможности WDS, на хабре есть статья "Добавляем WDS универсальности", где еще больший любитель этой самой «универсальности», рассказывает, как заставить WDS использовать GRUB2, а отсюда и установка Linux и утилиты реанимации… В общем, все для того, чтобы современный админ не таскал с собой флешку.

Что такое DHCP сервер и как его настроить

5 Июля 2021

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

Что такое DHCP-сервер


На фото DHCP сервер.

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

  • IP-адрес
  • маску сети или подсети - адресацию сети или узла в пределах IP-адреса;
  • шлюз - компонент, который создает соединение между двумя системами;
  • адрес DNS-сервера, который отвечает на запросы о разрешении имен в Интернете;
  • время (NTP) - сервис синхронизации внутреннего времени компьютера.
  • ручное назначение, при котором IP, указанные в конфигурации хоста, назначаются фиксированным MAC-идентификатором При этом аппаратный адрес отдельного сетевого адаптера будет уникальным для каждого устройства. IP в данном случае назначаются на постоянной основе, но дополнительные клиенты в сеть подключены быть уже не могут;
  • динамическое назначение, при котором сервер определяет в своих записях, как надолго IP-адрес может быть предоставлен клиенту. Установленное администратором время называется «временем аренды». По истечении срока аренды сервер DHCP возвращает адрес в пул, где он может быть перераспределен по мере необходимости;
  • автоматическое назначение, при котором протокол динамической конфигурации хоста назначает определенный диапазон IP-адресов. Как только адреса «завязываются» друг на друга, они остаются связанными на бесконечное время. Недостатком этого способа является то, что новые клиенты не получат IP, если область полностью назначена.

DHCP доступен как для IPv4 (DHCPv4), так и для IPv6 (DHCPv6).

Механизм работы DHCP - сервера

Присвоение IP-адреса проводится через DHCP-сервер в несколько этапов:

Что необходимо знать, чтобы произвести установку требуемого сервера

Для инсталляции службы DHCP Servers на компьютеры с ОС Windows необходимо выполнить:

  • вход в «Установку и удаление программ», которая располагается в «Панели управления»;
  • выбор вкладки «Добавление и удаление компонентов», которая находится на панели слева. После этого начнется запуск «Мастер компонентов» (потребуется нажать на кнопку «Далее»);
  • выбор раздела «Сетевые службы» и нажатие на кнопку «Состав»;
  • выделение записи «Dynamic Host Configuration» и щелчок по кнопке «Ок».

После этого потребуется нажать на клавишу «Готово», а потом на пункт «Закрыть».

Как настроить DHCP-сервер

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

Создание новой области проходит поэтапно и включает:

  • нажатие кнопки «Начните», указание программ и административных средств, а затем нажатие кнопки DHCP;
  • в дереве консоли - щелчок правой кнопкой мыши на сервер DHCP, на котором необходимо создать новую область DHCP, а затем нажатие кнопки «New Scope»;
  • в Мастере новых областей - нажатие кнопки «Далее», а затем ввод имени и описания области. Имя может быть любым, но достаточно описательным, для максимально полного определения цели области в сети. Нажатие кнопки «Далее»;
  • ввод диапазона адресов, которые можно арендовать в рамках этой области. Например, можно использовать ряд IP-адресов от начального IP-адреса 192.168.100.1 до конечного адреса 192.168.100.100. Поскольку эти адреса даются клиентам, все они должны быть допустимы для вашей сети и не использоваться в настоящее время. При необходимости можно ввести новую подсетевую маску. Нажатие кнопки «Далее»;
  • ввод любых IP-адресов, которые необходимо исключить из введенного диапазона. Эти адреса входят в диапазон указанных в предыдущем шаге адресов, и, возможно, уже были статически назначены различным компьютерам в организации. Как правило, контроллеры домена, веб-серверы, серверы DHCP, серверы системы доменных имен (DNS) и другие серверы имеют статически заданные IP-адреса. Нажатие кнопки «Далее»;
  • введите количества дней, часов и минут до истечения срока аренды IP-адресов из этой области. Этот временной диапазон определяет, как долго клиент может держать арендованный адрес без его продления. Нажатие кнопки «Далее», а затем нажатие кнопки «Да, я хочу настроить эти параметры сейчас». Это необходимо, чтобы расширить мастер включения параметров для наиболее распространенных параметров DHCP. Нажатие кнопки «Далее»;
  • ввод IP-адреса шлюза по умолчанию. Этот шлюз должен использоваться клиентами, которые получают IP-адрес из создаваемой области. Нажатие «Добавить», чтобы добавить адрес шлюза по умолчанию в списке, а затем нажатие кнопки «Далее»;
  • при использовании в сети DNS-сервера необходимо ввести доменное имя организации в поле «Родительский домен». После ввода имени DNS-сервера нажимается кнопка «Разрешить», чтобы сервер DHCP смог связаться с DNS-сервером и определить его адрес. Нажатие «Добавить», чтобы включить этот сервер в список DNS-серверов, которые назначены клиентам DHCP. Нажатие кнопки «Далее» и выполнение тех же действий. При использовании сервера службы Windows (WINS) необходимо добавить его имя и IP-адрес, после чего нажать кнопку «Далее»;
  • нажатие кнопки «Да, я хочу активировать эту область сейчас», для активации области и разрешения клиентам получать аренду из нее, затем - нажатие кнопок «Далее» и «Готово».

После проведения настроек в дереве консоли необходимо выбрать имя сервера и нажать кнопку «Авторизуя» в меню «Действия».

Что выбрать - Linux или Windows

Настройка DHCP-сервера в Linux включает следующие этапы:

  • установка пакета dhcp3-server с помощью команды $ sudo apt install isc-dhcp-server;
  • после завершения установки-редактирование файла /etc/default/isc-dhcp-server для определения интерфейсов, которые будет использовать DHCPD для обработки DHCP-запросов, при помощи опции INTERFACES;
  • настройка статического IP-адреса для созданного интерфейса;
  • внесение информации, отправляемой клиентам, в основной файл конфигурации DHCP - /etc/dhcp/dhcpd.conf. В данном файле выделяются два типа данных: параметры, которые указывают, как выполнять задание (например, на какое время выделять адрес), выполнять ли его вообще (например, выделять ли адреса неизвестным клиентам) или какие параметры сетевой конфигурации отправлять DHCP-клиенту, и декларации, которые определяют топологию сети, описывают клиентов и предоставляемые им адреса, или применяют группу параметров к группе деклараций;
  • определение настроек DHCP-сервера через открытие и редактирование файла конфигурации: $ sudo vi /etc/dhcp/dhcpd.conf. Для этого необходимо установить в начале файла глобальные параметры, которые будут действовать для всех деклараций (и которые можно менять в соответствии с конкретными задачами). Это: имя домена domain-name, имена DNS-серверов domain-name-servers, время аренды по умолчанию в секундах default-lease-time (если клиент не запросил его сам), максимальное время аренды в секундах max-lease-time и параметр authoritative, означающий «авторитетность» сервера в сегменте сети. Данный параметр нужен в том случае если клиент запросит неправильный IP-адрес - тогда случае сервер ответит ему отказом и предложит получить новый адрес;
  • указание подсети локальной сети, в которой будет использоваться DHCP-сервер. Здесь будут использоваться следующие параметры: routers - IP-адрес маршрутизатора по умолчанию; subnet-mask - маска подсети; domain-search - имя домена; domain-name-servers - имена DNS-серверов; range - диапазон IP-адресов, выделяемый клиентам.

При этом стоит отметить, что использование Linux как альтернативы или полноценной замены ОС Windows может стать невыгодным, поскольку Linux не имеет серьезных преимуществ в выборе программ (в том числе бесплатных), в подключении устройств, в безопасности, надежности и скорости работы.

Виды ошибок при установке DHCP-сервера

К типичным ошибкам, возникающим при установке сервера DHCP и приводящим к сбою его настроек, относятся:

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

Плюсы и минусы использования DHCP

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

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

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

Дополнительная информация о DHCP

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

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

Какое оборудование подходит для DHCP-сервера

Присвоедие IP-адресов не является трудоемкой задачей, по-этому для данного вида серверов можно использовать самое простое, надежное оборудование. На данную роль подходят такие модели как HPE Proliant DL20 gen10 и Dell R430. В компениях с численностью более 100 сотрудников, рекомендуем развернуть несколько 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, получение адреса IP — DORA

Discovery, или поиск

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).

Request, или запрос

Acknowledgement, или подтверждение

Срок аренды

Когда DHCP-сервер выделяет IP из области, он оставляет запись о том, что этот адрес зарезервирован за клиентом с указанием срока действия IP. Этот срок действия называется срок аренды (lease time). Срок аренды может составлять от 24 часов до нескольких дней, недель или даже месяцев, он задается в настройках самого сервера.

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

После получения адреса из области, клиент берет его в аренду на время, называемое T. Клиент переходит в связанное (BOUND) состояние и продолжает нормальную работу, пока не наступит время половины срока аренды — T1.

Три подхода к распределению адресов

Сервер назначает IP одним из трех основных способов.

Статическое распределение (static allocation). Почти как ввод адреса на каждом компьютере вручную. Отличие в том, что системный администратор задает нужные соответствия IP для MAC-адресов клиентов на самом DHCP-сервере. IP останется за клиентом, даже если тот выйдет из сети, отключится, перейдет в новую сеть и т.п.

Автоматическое распределение (automatic allocation). Сервер закрепляет IP из области за каждым клиентом навсегда. Срок аренды не ограничен.

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

DHCPNAK. Нередко в источниках можно встретить написание DHCPNACK, что является неправильным, так как RFC 2131 регламентирует именно NAK. DHCPNAK отправляется сервером вместо окончательного подтверждения. Такой отказ может быть отправлен клиенту, если аренда запрашиваемого IP истекла или клиент перешел в новую подсеть.

Опции DHCP

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


Option 82 — ретрансляция 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. Давайте рассмотрим подробнее взаимодействие двух протоколов.

В статье мы уже говорили, что 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 командой из терминала:

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

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

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

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

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

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

Заключение

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

Читайте также: