Включение DHCP на сетевом адаптере. Что такое DHCP и для чего он используется

  • 14.09.2019

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

Что такое DHCP

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

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

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

Как настроить DHCP

По умолчанию служба DHCP на роутерах уже настроена. Достаточно подключить клиентское устройство через Wi-Fi или кабель и ему будет автоматически присвоен IP-адрес. Однако может возникнуть потребность изменить настройки DHCP, отключить или включить его. Рассмотрим настройку DHCP на примере роутера TP-link. Для других маршрутизаторов алгоритм будет точно такой же.

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

Для службы DHCP должен быть задан диапазон используемых IP-адресов, которые вписываются в соответствующие поля. Начальный IP-адрес это соответственно первый адрес диапазона, а конечный IP-адрес - последний. По умолчанию диапазон IP указан с 192.168.0.100 по 192.168.0.199. Но можно прописать, например, с 10.1.1.1 по 10.1.1.99. Можно вообще указать диапазон в пределах двух-трёх адресов, например, по количеству клиентских устройств.

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

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

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

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

Предпочитаемый и альтернативный DNS-сервер обычно указываются провайдером. Но можно вписать сюда публичные DNS-сервера Google – 8.8.8.8 и 8.8.4.4. Это, например, помогает устранить неполадки с доступом к интернету - бывает, что DNS провайдера глючат, подключение есть, но страницы не открываются. Также это часто позволяет обойти блокировки доступа к определённым ресурсам, например, торрентам.

После внесения изменений нажмите кнопку «Сохранить», чтобы применить новые настройки.

Для того, чтобы ваша сеть начала работать с новыми параметрами, роутер необходимо перезагрузить.

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

Как включить DHCP

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

Как выключить DHCP

Если служба DHCP вам не нужна, когда, например, вы решили вручную прописать IP для всех своих устройств, отключить её можно точно так же. Переходим на вкладку «Настройка DHCP» и ставим галочку в пункте «Отключить». Сохраняем настройки. Теперь клиентские устройства при подключении к вашей сети не смогут получать IP-адреса автоматически.

Список клиентов

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

ID - означает порядковый номер.

Имя клиента - это имя устройства, если оно ему присвоено.

МАС-адрес - соответственно МАС-адрес данного устройства.

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

Срок действия - соответственно, оставшееся время, в течение которого данный адрес будет действителен.

Если у вас возникли опасения, что к вашей сети подключился кто-то посторонний, вы можете в любой момент проверить информацию о подключенных устройствах на этой вкладке. Для того чтобы обновить текущую информацию, нажмите кнопку «Обновить». Список подключённых устройств будет обновлён.

Резервирование адресов

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

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

Для этого переходим в подпункт «Резервирование адресов» пункта меню «DHCP». Если ранее вы уже резервировали адреса, здесь будет доступен список устройств, который можно редактировать по мере необходимости. Если же нет, жмём кнопку «Добавить».

В открывшемся окне нужно ввести МАС-адрес устройства и IP, который будет за ним зарезервирован.

Здесь же можно включить или выключить резервирование адреса для этого устройства, изменив соответствующий параметр в пункте «Состояние».

После сохранения параметров вы вернётесь в предыдущее окно. В списке устройств теперь будет видно то, которое вы только что добавили. Нажав «Изменить», вы можете отредактировать параметры резервирования адреса. А с помощью пункта «Удалить» удалить устройство из списка и отменить резервирование.

С помощью кнопок «Включить всё», «Отключить всё» и «Удалить всё» вы можете управлять резервированием адресов для всех устройств из списка.

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

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

DHCP – это что такое?

Разберемся в этом вопросе. Во избежание ошибок при адресации был реализован протокол динамического конфигурирования хостов (DHCP). Это функция, которая осуществляет динамическую раздачу сетевых настроек подключившимся клиентским машинам. Если на этих устройствах в настройках стоит параметр «получать IP-адрес только с DHCP сервера» и включена служба DHCP, то вся ответственность за правильную настройку сетевых параметров на клиентских компьютерах передается DHCP-серверу. Это значительно снижает стоимость поддержки и управления сетью, а также помогает избежать ошибок в раздаче адресов. Служба, включающая DHCP, по умолчанию запускается автоматически при включении любого устройства с поддержкой интерфейсов проводной или беспроводной сети. Например, на планшетах или телефонах достаточно включить Wi-Fi и среди найденных устройств, раздающих интернет, найти свое и подключиться к нему. При этом автоматическая раздача адресов исключает дублирование IP и, как следствие, помогает избежать конфликтов сети.

Как происходит раздача адресов

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

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

Настройки клиента для получения автоматических параметров сети в ОС Windows

Для того чтобы клиент получил ответные сетевые параметры от DHCP, необходимо проверить несколько настроек в Панели управления компьютером (рассматривается на примере операционной системы Windows). Для этого заходим в меню Пуск, далее - в Панель управления (которую необходимо переключить к классическом виду) и выбрать пункт «Сетевые подключения». Выбираем сетевое подключение, которое планируется для работы с DHCP, щелкаем на нем правой кнопкой мышки и заходим в пункт «Свойства». В открывшемся окне заходим в Свойства протокола интернета TCP/IP. DHCP - это что? Это получение автоматических параметров сети. Поэтому мы отмечаем точками опции для автоматического получения IP-адреса и DNS. Сделав выбор, нажимаем «Ок». Настройка DHCP на клиенте завершена. Теперь устройство будет получать адрес с DHCP-сервера автоматически при запуске Windows.

Настройка DHCP в Windows 7 устанавливается аналогично, но местонахождение свойств адаптеров немного отличается от Windows XP. Так же заходим в Пуск - Панель управления – Центр управления сетями и общим доступом. Выбираем в левом меню пункт «Изменение параметров адаптера». Далее - аналогично вышесказанному по настройкам в Windows XP.

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

На Linux- или Android-устройствах подключение при развернутом в сети DHCP-сервере проблем не составляет никаких. Достаточно только включить сетевой интерфейс (проводной или беспроводной), подождать, пока пройдет обмен данными между устройством и сервером DHCP и убедиться, что сетевые настройки получены и применены успешно. Службы DHCP практически на всех устройствах включены по умолчанию.

Если соединения не произошло, то необходимо проверить статус автоматического приема адресов. Например, на ОС Android для этого необходимо зайти в Настройки - Беспроводныве сети - Настройки Wi-Fi - Дополнительно и убедиться в том, что опция "использовать статический IP-адрес" отключена.

Данные, передаваемые DHCP

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

Основные параметры DHCP в пакете, кроме IP-адреса и маски, это 3 (Gateways), 6 (Domain Name Servers), 44 (NBT Name Servers), 46 (NBT Node Type). Эти параметры групповые, то есть могут иметь несколько значений. Например, может быть несколько адресов шлюзов или DNS-серверов. Значения опций конфигурируются в настройках DHCP-сервера.

Настройки DHCP на сервере

Перед конфигурированием настроек необходимо произвести несколько расчетов основных опций DHCP. Это что еще за опции такие? - спросите вы. Опции - это все те параметры сети, которые передаются от сервера клиенту. Две основные опции – диапазон раздаваемых адресов и маска подсети. Весь диапазон адресов организации обычно разделяется на несколько сегментов, предназначенных для различных задач, таких как телекоммуникации, статические адреса серверов и пр. Чтобы статические адреса не участвовали в раздаче, создавая дополнительную нагрузку на сервере, диапазоны раздаваемых адресов можно ограничить. Например, при рабочем диапазоне 192.168.1.1-192.168.1.254 можно адреса от 1 до 10 определить на коммуникации, с 11 по 30 – под сервера, а для DHCP выделить диапазон от 31 по 254. То есть любой адрес от сервера, выданный клиенту, будет лежать только в этом диапазоне. Также можно настроить в раздаваемом диапазоне адреса-исключения, и они тоже не будут раздаваться клиентским устройствам.

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

Домашний DHCP-сервер

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

Настройка автоматической адресации на роутере

Для настройки автоматической раздачи адресов домашним устройствам необходимо подсоединить роутер к компьютеру (ноутбуку) сетевым кабелем. В любом браузере прописываем адрес роутера (обычно это 192.168.0.1). В предложенные поля запроса логина и пароля по умолчанию вводим «admin» (часто эти данные указаны в руководстве по эксплуатации роутера). В результате увидим меню настроек роутера. Заходим в разделы Lan или Network (названия могу отличаться) и находим подменю с настройками DHCP. Как включить на роутере раздачу адресов? Просто поставив галочку напротив строчки enable DHCP и перезагрузим роутер.

Конфигурирование DHCP роутера

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

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

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

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

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

  1. Прежде чем включить DHCP на сетевом адаптере убедитесь, что на роутере или ADSL-модеме включена служба «DHCP-сервер». Для этого зайдите в панель управления роутером через веб-интерфейс, используя логин и пароль администратора и в настройках сети проверьте, чтобы была установлена галочка напротив пункта «Автоматически назначать IP адреса». В том случае, если интерфейс устройства не русифицирован, ищите в настройках сети пункт Dynamic IP Address Mode, или что-то подобное. В крайнем случае обратитесь к руководству пользователя, чтобы найти соответствующую настройку.

    Если данная служба не активирована, то установите галочку на данном пункте, сохраните произведенные настройки и перезагрузите роутер или ADSL-модем.

  2. Проверьте, чтобы служба «DHCP-клиент» была запущена на каждом компьютере, который планируется подключить к сети. Для этого в операционных системах Windows Vista и Windows 7 введите команду services.msc в строку поиска, которая появляется над кнопкой «Поиск» после ее нажатия и нажмите клавишу Ввод (Enter) на клавиатуре.


    В открывшемся окне найдите службу «DHCP-клиент» и убедитесь, что ее состояние соотвествует «Работает» и значение типа запуска настроено как «Автоматически». Если это не так, то кликните правой кнопкой мыши по строке службы, выберите в появившемся меню пункт «Свойства» и в открывшемся окне для значения «Тип запуска» выберите из списка значение «Автоматически». Нажмите кнопку «Ок» для сохранения изменений и перезагрузите компьютер.


  3. Для того, чтобы включить DHCP на сетевом адаптере войдите в настройки сетевых подключений. Для этого в операционных системах Windows Vista и Windows 7 введите команду Ncpa.cpl в строку поиска, которая появляется над кнопкой «Поиск» после ее нажатия и нажмите клавишу Ввод (Enter) на клавиатуре.


    В операционной системе Windwows XP данную команду нужно ввести в поле ввода окна, которое появляется после нажатия сочетания клавиш Ctrl + R.

    Без командной строки в настройки сетевых подключений также возможно зайти через Панель управления.

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


    Выберите «Протокол Интернета версии 4 (TCP/IPv4) и нажмите кнопку «Свойства».

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

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

    Прохождение DHCP запросов через iptables . Правила для Правила iptables : $IPT -A INPUT -i $LAN195 -p udp -m multiport --port 67:68 -j ACCEPT $IPT -A INPUT -p udp -m multiport --port 67:68 -j DROP

Возможности сервера DHCP

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

    Шлюзы по умолчанию. Если в вашей сети имеется несколько Интернет-каналов (для обеспечения бесперебойной работы), вы можете назначить хостам несколько шлюзов и порядок их предпочтения. В случае выхода одного из каналов из строя, переключение на резервный канал произойдет автоматически, без вашего вмешательства. Это же дает возможность организовать простейшую балансировку нагрузки между каналами, назначив по DHCP одной группе хостов один маршрутизатор в качестве шлюза, а другой группе – второй.

    Статические маршруты. Если в вашей сети есть несколько подсетей, соединенных маршрутизаторами, то при помощи DHCP можно автоматически оповещать хосты о наличии маршрутов в другие подсети. Причем это, по желанию, можно сделать только для избранных – например, используя привязку к MAC. Эта же опция полезна при организации Что это такое VPN -доступа к корпоративной сети – VPN-клиентам можно сообщить маршруты лишь к нужным им подсетям, оставив другие подсети недоступными для подключающихся по VPN пользователей.

    Смещение времени. Если ваши пользователи часто бывают в различных временных поясах (например, мотаются из Питера во Владивосток и обратно), то можно заставить системные часы их ноутбука адаптироваться к вашему местному времени при помощи DHCP.

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

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

    > man dhcp-options # описаны выражения допустимые в конфигурационном файле > man dhcp-eval > uname -a FreeBSD ns.com.ua 7.2-RELEASE-p2 FreeBSD 7.2-RELEASE-p2 #0: Wed Jun 24 00:57:44 UTC 2009 [email protected]:/usr/obj/usr/src/sys/GENERIC i386 > cd /usr/ports/net/isc-dhcp31-server > make install clean > cp /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf > ee dhcpd.conf # dhcpd.conf # # Sample configuration file for ISC dhcpd # # Общие опции для всех поддерживаемых сетей... option domain-name "example.org"; # домен по умолчанию option domain-name-servers 4.2.2.2, 208.67.222.222; #сервера DNS default-lease-time 1200; # время аренды (по умолчанию 600) max-lease-time 7200; # максимальное время аренды # Use this to enble / disable dynamic dns updates globally. #ddns-update-style none; # Является ли сервер авторитативным - ответственным DHCP сервером. authoritative; # ad-hoc DNS update scheme - set to "none" to disable dynamic DNS updates. # Способ динамического обновления DNS. Выключаем если используется статический DNS - в большинстве # сетей так и есть. Иначе нужно конфигурировать сервер DNS (например bind) ddns-update-style none;

    Для работы параметра log-facility нужно настроить syslog.conf и ротацию лога в newsyslog.conf .

    # Источник сообщений для записи логов через syslogd log-facility local7; # No service will be given on this subnet, but declaring it helps the # DHCP server to understand the network topology. subnet 10.152.187.0 netmask 255.255.255.0 { } # This is a very basic subnet declaration. subnet 10.26.95.0 netmask 255.255.255.0 { # подсеть из которой будут выдаваться адреса range 10.26.95.1 10.26.95.240; # интервалы ip адресов на выдачу клиентам option domain-name-servers 10.26.95.253; option routers 10.26.95.253; # gateway (шлюз по умолчанию) для клиента #option netbios-name-servers 192.168.1.51; # адрес сервера WINS (если есть) #option domain-name-servers 192.168.1.51; # адрес DNS сервера AD #option domain-name "office.mydomen.ru"; # полное имя домена AD } # Fixed IP addresses can also be specified for hosts. These addresses # should not also be listed as being available for dynamic assignment. # Hosts for which fixed IP addresses have been specified can boot using # BOOTP or DHCP. Hosts for which no fixed address is specified can only # be booted with DHCP, unless there is an address range on the subnet # to which a BOOTP client is connected which has the dynamic-bootp flag # set. #привязка постоянных IP к MAC адресу сетевой карты хоста host darkfire { hardware ethernet 00:15:f2:4b:ad:5c; # MAC адрес сетевой карты хоста fixed-address 10.26.95.251;# ip адрес, который нужно присвоить этому хосту } host user1 { hardware ethernet 00:00:1c:d3:9e:40; fixed-address 10.26.95.10; } host user2 { hardware ethernet 00:14:2a:1c:16:31; fixed-address 10.26.95.11; }

    Прописываем в rc.conf строки

    Dhcpd_enable="YES" dhcpd_flags="-q" # отключаем вывод копирайта и прочего при старте dhcpd dhcpd_ifaces="rl0 vr0" # сетевой интерфейс на котором будет работать dhcpd. Несколько интерфейсов указываются через пробел.

    Запускаем и пользуемся

    > /usr/local/etc/rc.d/isc-dhcpd start

    Файлы

    • /usr/local/sbin/dhcpd

    dhcpd скомпонован статически и расположен в каталоге /usr/local/sbin. Страницы справочной системы dhcpd(8), устанавливаемые портом, содержат более полную информацию о dhcpd.

      /usr/local/etc/dhcpd.conf

    dhcpd требует наличия конфигурационного файла, /usr/local/etc/dhcpd.conf, до того, как он будет запущен и начнёт предоставлять сервис клиентам. Необходимо, чтобы этот файл содержал все данные, которая будет выдаваться обслуживаемым клиентам, а также информацию о работе сервера. Этот конфигурационный файл описывается на страницах справочной системы dhcpd.conf(5), которые устанавливаются портом.

      /var/db/dhcpd.leases или /var/db/dhcpd/dhcpd.leases

    Сервер DHCP ведёт базу данных выданной информации в этом файле, который записывается в виде протокола. Страницы справочной системы dhcpd.leases(5), устанавливаемые портом, дают гораздо более подробное описание. В dhcpd.leases заносится информация только динамически выданных IP адресах, если IP статистический (привязан к МАС) - такая информация в dhcpd.leases заноситься не будет. Полный сбор статистики можно осуществлять через dhcpd-snmp:

      /usr/local/sbin/dhcrelay

    dhcrelay используется в сложных ситуациях, когда сервер DHCP пересылает запросы от клиента другому серверу DHCP в отдельной сети. Если вам нужна такая функциональность, то установите порт net/isc-dhcp3-server. На страницах справочной системы dhcrelay(8), которые устанавливаются портом, даётся более полное описание.

    ALLOW and DENY

    Параметры allow и deny используются для контроля над поведением демона dhcp в отношении различных видов запросов.

      Ключевое слово unknown-clients allow unknown-clients; deny unknown-clients;

    Параметр unknown-clients используется что бы сообщить серверу как поступать с неизвестными клиентами. По умолчанию выдача адресов неизвестным клиентам разрешена.

      Ключевое слово bootp allow bootp; deny bootp;

    Параметр bootp сообщает серверу dhcp обрабатывать или нет bootp-запросы. По умолчанию bootp-запросы разрешены.

      Ключевое слово booting allow booting; deny booting;

    Параметр booting сообщает серверу обрабатывать ли запрос конкретного клиента. Имеет смысл только если присутствует в описании host и действует только на соответствующий хост. По умолчанию разрешено, в противном случае хост не сможет получать свой адрес и другие параметры.

    Настройка DHCP -клиента встроенного в OС FreeBSD

    Ручной запуск (в примере ниже - вывод команды говорит о неудачном запуске DHCP -клиента):

    # dhclient rl0 DHCPDISCOVER on rl0 to 255.255.255.255 port 67 interval 7 DHCPDISCOVER on rl0 to 255.255.255.255 port 67 interval 11 DHCPDISCOVER on rl0 to 255.255.255.255 port 67 interval 12 DHCPDISCOVER on rl0 to 255.255.255.255 port 67 interval 9 DHCPDISCOVER on rl0 to 255.255.255.255 port 67 interval 10 DHCPDISCOVER on rl0 to 255.255.255.255 port 67 interval 12 No DHCPOFFERS received. No working leases in persistent database - sleeping.

    Настраиваем dhclient.conf

    По умолчанию dhclient.conf в FreeBSD пустой (в нем ссылка только на man 5 dhclient.conf ). В обычном случае и при таком конфиге все работает. Но если возникают стоит изменить настройки по умолчанию.

    Читаем man, копируем приведенный пример в наш dhclient.conf

    # cp /etc/dhclient.conf /etc/dhclient.conf.orig # man 5 dhclient.conf ... DHCLIENT.CONF(5) FreeBSD File Formats Manual DHCLIENT.CONF(5) NAME dhclient.conf -- DHCP client configuration file DESCRIPTION The dhclient.conf file contains configuration information for dhclient(8), the Internet Software Consortium DHCP Client. ... EXAMPLES The following configuration file is used on a laptop which has an IP alias of 192.5.5.213, and has one interface, ep0 (a 3Com 3C589C). Boot- ing intervals have been shortened somewhat from the default, because the client is known to spend most of its time on networks with little DHCP activity. The laptop does roam to multiple networks. timeout 60; retry 60; reboot 10; select-timeout 5; initial-interval 2; reject 192.33.137.209; interface "ep0" { send host-name "andare.fugue.com"; send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; send dhcp-lease-time 3600; supersede domain-name "fugue.com rc.vix.com home.vix.com"; prepend domain-name-servers 127.0.0.1; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name; require subnet-mask, domain-name-servers; script "/etc/dhclient-script"; media "media 10baseT/UTP", "media 10base2/BNC"; } alias { interface "ep0"; fixed-address 192.5.5.213; option subnet-mask 255.255.255.255; } This is a very complicated dhclient.conf file - in general, yours should be much simpler. In many cases, it is sufficient to just create an empty dhclient.conf file - the defaults are usually fine. SEE ALSO dhclient.leases(5), dhcpd.conf(5), dhcp-options(5), dhclient(8), dhcpd(8) ...

    Окружение: Debian GNU/Linux wheezy/sid. isc-dhcp-server Версия: 4.1.1-P1-17

    # aptitude install isc-dhcp-server

    Этот сервер может работать с несколькими сетевыми интерфейсами одновременно. Укажем явно сетевой интерфейс на котором будет слушать DHCP сервер, в этом случае для eth0:0, который является алиасом на eth0.

    # nano /etc/default/isc-dhcp-server ... # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="eth0:0"

    Syslog в Debian для логов dhcpd

    По умолчанию демон Настройка DHCP сервера Linux, FreeBSD пишет логи в /var/log/messages и на /dev/console. Нужно вынести логи в отдельный файл и заблокировать вывод логов в messages.

    # nano /etc/dhcp/dhcpd.conf log-facility local7; # touch /var/log/dhcpd.log

    В конец файла rsyslog.conf добавим строку

    # nano /etc/rsyslog.conf ... !dhcpd *.* -/var/log/dhcpd.log

    Для блокировки в messages и на console добавим local7.none

    ... *.=info;*.=notice;*.=warn;\ auth,authpriv.none;\ cron,daemon.none;\ mail,news.none;local7.none -/var/log/messages ... daemon.*;mail.*;\ news.err;\ *.=debug;*.=info;\ *.=notice;*.=warn;local7.none |/dev/xconsole

    Параметр authoritative DHCP

    Параметр authoritative DHCP-сервера позволяет объявить сервер авторитативным (ответственным) в обслуживаемой сети. Отличие авторитативного сервера от «обычного» заключается в том, что последний игнорирует любые запросы адресов, которые не описаны в его конфигурации, в то время как авторитативный сервер в ответ на такие запросы отсылает DHCPNAK. Благодаря такому поведению клиент, перемещённый из другой подсети, сможет бы стрее получить новый адрес (в ответ на DHCPREQUEST с адресом из прежней подсети он сразу получит DHCPNAK и приступит к получению нового адреса; в противном случае DHCPDISCOVER будет отправлен лишь по истечении тайм-аута на ожидание ответа). В то же время «случайные» DHCP-серверы (например, их тыкают сейчас везде где угодно) с меньшей вероятностью смогут помешать работе сети, поскольку, будучи неавторитативными, будут просто игнорировать «чужие» запросы DHCPREQUEST.

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

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

История

Стандарт протокола DHCP был принят в октябре 1993 года . Действующая версия протокола (март 1997 года) описана в RFC 2131 . Новая версия DHCP, предназначенная для использования в среде IPv6 , носит название DHCPv6 и определена в RFC 3315 (июль 2003 года).

Распределение IP-адресов

Протокол DHCP предоставляет три способа распределения IP-адресов :

  • Ручное распределение. При этом способе сетевой администратор сопоставляет аппаратному адресу (для Ethernet сетей это MAC-адрес) каждого клиентского компьютера определённый IP-адрес. Фактически, данный способ распределения адресов отличается от ручной настройки каждого компьютера лишь тем, что сведения об адресах хранятся централизованно (на сервере DHCP), и потому их проще изменять при необходимости.
  • Автоматическое распределение. При данном способе каждому компьютеру на постоянное использование выделяется произвольный свободный IP-адрес из определённого администратором диапазона.
  • Динамическое распределение. Этот способ аналогичен автоматическому распределению, за исключением того, что адрес выдаётся компьютеру не на постоянное пользование, а на определённый срок. Это называется арендой адреса . По истечении срока аренды IP-адрес вновь считается свободным, и клиент обязан запросить новый (он, впрочем, может оказаться тем же самым). Кроме того, клиент сам может отказаться от полученного адреса.

Некоторые реализации службы DHCP способны автоматически обновлять записи DNS , соответствующие клиентским компьютерам, при выделении им новых адресов. Это производится при помощи протокола обновления DNS, описанного в RFC 2136 .

Опции DHCP

Помимо IP-адреса, DHCP также может сообщать клиенту дополнительные параметры, необходимые для нормальной работы в сети. Эти параметры называются опциями DHCP . Список стандартных опций можно найти в RFC 2132 .

Некоторыми из наиболее часто используемых опций являются:

  • IP-адрес маршрутизатора по умолчанию;
  • адреса серверов DNS ;
  • имя домена DNS .

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

Устройство протокола

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

Структура сообщений DHCP

Все сообщения протокола DHCP разбиваются на поля, каждое из которых содержит определённую информацию. Все поля, кроме последнего (поля опций DHCP), имеют фиксированную длину.

Поле Описание Длина (в байтах)
op Тип сообщения. Например может принимать значения: BOOTREQUEST (1, запрос от клиента к серверу) и BOOTREPLY (2, ответ от сервера к клиенту). 1
htype Тип аппаратного адреса. Допустимые значения этого поля определены в RFC 1700 «Assigned Numbers». Например, для MAC-адреса Ethernet 10 Мбит/с это поле принимает значение 1. 1
hlen Длина аппаратного адреса в байтах. Для MAC-адреса Ethernet - 6. 1
hops Количество промежуточных маршрутизаторов (так называемых агентов ретрансляции DHCP ), через которые прошло сообщение. Клиент устанавливает это поле в 0. 1
xid Уникальный идентификатор транзакции, генерируемый клиентом в начале процесса получения адреса. 4
secs Время в секундах с момента начала процесса получения адреса. Может не использоваться (в этом случае оно устанавливается в 0). 2
flags Поле для флагов - специальных параметров протокола DHCP. 2
ciaddr IP-адрес клиента. Заполняется только в том случае, если клиент уже имеет собственный IP-адрес и способен отвечать на запросы ARP (это возможно, если клиент выполняет процедуру обновления адреса по истечении срока аренды). 4
yiaddr Новый IP-адрес клиента, предложенный сервером. 4
siaddr IP-адрес сервера. Возвращается в предложении DHCP (см. ниже). 4
giaddr IP-адрес агента ретрансляции, если таковой участвовал в процессе доставки сообщения DHCP до сервера. 4
chaddr Аппаратный адрес (обычно MAC-адрес) клиента. 16
sname Необязательное имя сервера в виде нуль-терминированной строки . 64
file Необязательное имя файла на сервере, используемое бездисковыми рабочими станциями при удалённой загрузке. Как и sname , представлено в виде нуль-терминированной строки. 128
options Поле опций DHCP . Здесь указываются различные дополнительные параметры конфигурации. В начале этого поля указываются четыре особых байта со значениями 99, 130, 83, 99 («волшебные числа»), позволяющие серверу определить наличие этого поля. Поле имеет переменную длину, однако DHCP-клиент должен быть готов принять DHCP-сообщение длиной в 576 байт (в этом сообщении поле options имеет длину 340 байт). переменная

Пример процесса получения адреса

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

Обнаружение DHCP

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

Клиент заполняет несколько полей сообщения начальными значениями:

  • В поле xid помещается уникальный идентификатор транзакции , который позволяет отличать данный процесс получения IP-адреса от других, протекающих в то же время.
  • В поле chaddr помещается аппаратный адрес (MAC-адрес) клиента.
  • В поле опций указывается последний известный клиенту IP-адрес. В данном примере это 192.168.1.100. Это необязательно и может быть проигнорировано сервером.

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

Предложение DHCP

Получив сообщение от клиента, сервер определяет требуемую конфигурацию клиента в соответствии с указанными сетевым администратором настройками. В данном случае DHCP-сервер согласен с запрошенным клиентом адресом 192.168.1.100. Сервер отправляет ему ответ (DHCPOFFER ), в котором предлагает конфигурацию. Предлагаемый клиенту IP-адрес указывается в поле yiaddr . Прочие параметры (такие, как адреса маршрутизаторов и DNS -серверов) указываются в виде опций в соответствующем поле.

Это сообщение DHCP-сервер отправляет хосту, пославшему DHCPDISCOVER, на его MAC, при определенных обстоятельствах сообщение может распространяться как широковещательная рассылка. Клиент может получить несколько различных предложений DHCP от разных серверов; из них он должен выбрать то, которое его «устраивает».

Запрос DHCP

Выбрав одну из конфигураций, предложенных DHCP-серверами, клиент отправляет запрос DHCP (DHCPREQUEST ). Он рассылается широковещательно; при этом к опциям, указанным клиентом в сообщении DHCPDISCOVER, добавляется специальная опция - идентификатор сервера - указывающая адрес DHCP-сервера, выбранного клиентом (в данном случае - 192.168.1.1).

Подтверждение DHCP

Наконец, сервер подтверждает запрос и направляет это подтверждение (DHCPACK ) клиенту. После этого клиент должен настроить свой сетевой интерфейс, используя предоставленные опции.

Вид сообщений

Ниже приведены значения каждого поля для каждого из отправляемых в процессе сообщений DHCP.

Обнаружение DHCP
DHCPDISCOVER
UDP Src=0.0.0.0 Dest=255.255.255.255
OP HTYPE HLEN HOPS
0x01 0x01 0x06 0x00
XID
0x3903F326
SECS FLAGS
0x0000 0x0000
CIADDR
0x00000000
YIADDR
0x00000000
SIADDR
0x00000000
GIADDR
0x00000000
CHADDR
0x0000001d6057ed80
SNAME
(пустое поле)
FILE
(пустое поле)
OPTIONS
Опция DHCP 53: обнаружение DHCP
Предложение DHCP
DHCPOFFER
OP HTYPE HLEN HOPS
0x02 0x01 0x06 0x00
XID
0x3903F326
SECS FLAGS
0x0000 0x0000
CIADDR
0x00000000
YIADDR
0xC0A80164
SIADDR
0xC0A80101
GIADDR
0x00000000
CHADDR
0x0000001d6057ed80
SNAME
(пустое поле)
FILE
(пустое поле)
OPTIONS
Опция DHCP 53: предложение DHCP
Опция DHCP 1: маска подсети 255.255.255.0
Опция DHCP 3: маршрутизатор 192.168.1.1
Запрос DHCP
DHCPREQUEST
UDP Src=0.0.0.0 Dest=255.255.255.255
OP HTYPE HLEN HOPS
0x01 0x01 0x06 0x00
XID
0x3903F326
SECS FLAGS
0x0000 0x0000
CIADDR
0x00000000
YIADDR
0x00000000
SIADDR
0x00000000
GIADDR
0x00000000
CHADDR
0x0000001d6057ed80
SNAME
(пустое поле)
FILE
(пустое поле)
OPTIONS
Опция DHCP 53: запрос DHCP
Опция DHCP 50: запрос адреса 192.168.1.100
Опция DHCP 54: DHCP-сервер 192.168.1.1
Подтверждение DHCP
DHCPACK
UDP Src=192.168.1.1 Dest=255.255.255.255
OP HTYPE HLEN HOPS
0x02 0x01 0x06 0x00
XID
0x3903F326
SECS FLAGS
0x0000 0x0000
CIADDR
0x00000000
YIADDR
0xC0A80164
SIADDR
0x00000000
GIADDR
0x00000000
CHADDR
0x0000001d6057ed80
SNAME
(пустое поле)
FILE
(пустое поле)
OPTIONS
Опция DHCP 53: подтверждение DHCP
Опция DHCP 1: маска подсети 255.255.255.0
Опция DHCP 3: маршрутизатор 192.168.1.1
Опция DHCP 51: срок аренды IP-адреса - 1 день
Опция DHCP 54: DHCP-сервер 192.168.1.1

Прочие сообщения DHCP

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

Отказ DHCP

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

Отмена DHCP

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

Освобождение DHCP

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

Информация DHCP

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

Реализации

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

Примечания

См. также

Ссылки

  • RFC 2131 - стандарт DHCP.
  • RFC 2132 - список стандартных опций DHCP.
  • RFC 2136 - DNS UPDATE.
  • RFC 3315 - стандарт DHCPv6.