Что такое DHCP и как он работает? (Объяснение основных принципов). DHCP что это такое

Что такое DHCP и как он работает? (Объяснение основных принципов). DHCP что это такое

24.08.2019

Эта статья поможет вам узнать все, что должен знать об этом протоколе.

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

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

Для того, чтобы решить эти проблемы, вы можете задействовать в вашей сети протокол Dynamic Host Configuration Protocol (DHCP).

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

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

Примечание: DHCP, по моему, можно назвать следующим поколением протокола BOOTP, потому что BOOTP начал применятся ранее, чем DHCP, и сегодня мы используем BOOTP для загрузки по сети при развертывания операционных систем. Кроме этого, DHCP был разработан для работы в крупных сетях — то, чем BOOTP явно не может похвастаться.

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

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

Разберем этот процесс более подробно. Служба DHCP работает с использованием процесса DORA (Discover, Offer, Request and Acknowledgment — его можно отследить с помощью утилиты Network Monitor):

1) DHCPDISCOVER — клиент шлет широковещательный пакет DHCPDISCOVER, пытаясь найти сервер DHCP в сети, в случаях, когда сервер DHCP не нашелся в той же подсети, что и клиент, нужно настраивать на сетевых устройствах (маршрутизаторах) DHCP Relay Agent, в целях передачи пакета DHCPDISCOVER на сервер DHCP.

2) DHCPOFFER — сервер DHCP шлет широковещательный пакет DHCPOFFER для клиента, который включает предложение использовать уникальный IP адрес.

3) DHCPREQUEST — клиент шлет широковещательный пакет DHCPREQUEST на сервер DHCP с ответом, и «просит» у сервера выдать в аренду предложенный уникальный адрес.

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

Примечание: Служба DHCP использует порт 67/UDP на сервере DHCP, и 68/UDP на клиентах DHCP.

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

В некоторых случаях можно обнаружить еще некоторые типы DHCP-сообщений:

1) DHCPDECLINE — Если клиент определяет, что IP-адрес, который предлагает ему сервер DHCP, уже используется, клиент сгенерирует новый запрос на другой адрес (в шаге DHCPREQUEST).

2) DHCPRELEASE — Это сообщение обычно используется, когда клиент освобождает IP- адрес.

3) DHCPRENEW — Это пакет с просьба обновить и продолжить аренду выданного адреса.

4) DHCPINFORM — DHCPINFORM это пакет, который клиент посылает на сервер DHCP для того, чтобы получить более подробную информацию с сервера, например DHCPINFORM можно отправить в целях установления местонахождения другого DHCP сервера в сети.

DHCPNACK

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

В случае получения DHCPNACK, клиенту необходимо перезапустить процесс получения в аренду адреса.

Области DHCP, исключения и резервации

Область (scope) DHCP – это целый диапазон IP адресов, которые вы настроили на сервере DHCP, в качестве диапазона адресов, предназначены для выдачи среди клиентов.

Например, если вы создадите область с диапазоном выдаваемых адресов 10.0.0.100-10.0.0.200, Вы можете легко обеспечить выдачу только этих адресов на Ваши рабочие станции.

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

В некоторых случаях, Вам будет необходимо предотвратить получение клиентами некоторых адресов, например, если ваша область DHCP имеет диапазон от 10.0.0.1 до 10.0.0.100, а IP-адреса Ваших серверов находятся в диапазоне 10.0.0.1-10.0.0.10, Вам понадобится возможность исключить эти IP адреса из области, которая выдается DHC-сервером. Такая возможность называется исключением (exclude).

Резервация(reservation) – используется в случаях, когда Вы планируете представить конкретный динамический IP-адрес определенному клиенту DHCP. Например, в своей области DHCP, вы хотите выделить для конкретного клиента уникальный адрес, который будет закреплен за ним, для этого Вы можете легко создать для него резервацию, используя уникальный идентификатор — MAC-адрес (Media Access Control — представляет собой уникальный шестнадцатеричный физический адрес сетевого адаптера).

Active Directory и сервер DHCP

Для корректной работы вашего Microsoft Windows DHCP – сервера в среде Active Directory, Вам необходимо сначала авторизовать свой DHCP – сервер в AD.

DHCP Relay Agent

DHCP Relay Agent – это тип хоста (обычно маршрутизатор или сервер), которые принимает широковещательные трансляции DHCP / BOOTP от клиентов в подсетях, не имеющих локальных серверов DHCP.

DHCP Relay Agent пересылает пакеты от клиентов и серверов DHCP, которые находятся в различных физических подсетях, позволяя им работать по протоколу DHCP, т.е. выполняет функции посредника

В заключение

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

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

Windows Server включает в себя службы DHCP – сервера, которые являются дополнительными сетевыми компонентами. Вся линейка Microsoft Windows, начиная с Winodws 98 и заканчивая Windows 8, может выступать в роли клиента DHCP – Сервера.

На данный момент DHCP – Сервер также используется в сетевых коммуникаторах, роутерах и Wi-Fi точках, что позволяет настроить данное оборудование для автоматической выдачи IP – адреса внутри - сетевых клиентов.

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

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

Статический IP – адрес привязывается к определенному компьютере в сети по средствам MAC – адреса сетевой карты.

Динамический IP – адрес арендуется на определенный срок компьютером. По истечению срока аренды IP – адрес возвращается на пул DHCP – Сервера для последующего перераспределения.

Установка DHCP на Windows Server.

  • Для установки службы DHCP выполните следующие:
  • Нажмите ПУСК и выберете Панель управления ;
  • Откройте Установка и удаление программ в панели управления;
  • Нажмите кнопку Установка компонентов Windows в панели установка и удаление программ ;
  • В списке Компоненты Windows выберите Сетевые службы и нажмите кнопку Состав ;
  • В открывшемся окне Сетевые службы установите флажок напротив элемента DHCP и нажмите кнопку OK ;
  • После копирования файлов и установки службы DHCP система попросит вас перезагрузится.

Настройка DHCP на Windows Server

  • Нажмите ПУСК и выберете Панель управления ;
  • В Панели управления выберите Администрирование;
  • В Администрирование выберите DHCP;
  • В дереве консоли щелкните правой кнопкой мыши сервер DHCP, для которого необходимо создать новую область DHCP, и выберите пункт Создать область ;
  • В Мастере создания новой области нажмите кнопку Далее , а затем введите имя и описание области. Имя может выбираться произвольным образом. Нажмите кнопку Далее ;
  • Введите диапазон адресов, входящих в область. Поскольку эти адреса будут присваиваться клиентам, они должны быть действительными внутри данной сети и не использоваться в данный момент. При необходимости можно ввести и использовать новую маску подсети. Нажмите кнопку Далее ;
  • Введите IP –адреса которые были статически присвоены некоторым компьютерам в сети, и которые следует исключить из указанного диапазона заданного ранее. Нажмите кнопку Далее ;
  • Введите срок действия аренды IP-адреса из данной области (дней, часов и минут). Нажмите кнопку Далее и выберите пункт Да, настроить эти параметры сейчас , если вам нужно продолжить работу мастера и настроить основные параметры DHCP. Нажмите кнопку Далее ;
  • Введите IP-адрес основного шлюза, который должен использоваться клиентами при получении адреса из данной области. Нажмите Добавить для включения адреса шлюза по умолчанию в список и щелкните кнопку Далее ;
  • Если в сети уже имеется сервер DNS, введите доменное имя вашей организации в поле Родительский домен . Введите имя сервера DNS и нажмите кнопку Сопоставить , чтобы проверить способность сервера DHCP установить связь с сервером DNS и определить его адрес. Нажмите кнопку Добавить , чтобы включить этот сервер в список серверов DNS, назначенных клиентам DHCP. Нажмите кнопку Далее и выполните те же действия еще раз, если в сети имеется сервер WINS (Windows Internet Naming Service), указав его имя и IP-адрес. Нажмите кнопку Далее ;
  • Щелкните Да, я хочу активировать эту область сейчас , чтобы активировать область и разрешить выделение адресов из нее клиентам, и нажмите кнопку Далее ;
  • Нажмите кнопку Готово ;
  • В дереве консоли выделите имя сервера и выберите из меню Действия команду Авторизовать ;

На данном этапе ваш DHCP сервер полностью функционирует.

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?

DHCP — это сетевой протокол, который выполняет функцию автоматической настройки параметров сети TCP/IP, получая их по запросу от DHCP сервера.

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

    IP адрес для устройства;

    маску подсети;

    IP адрес шлюза по умолчанию.

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

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

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

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

Для использования протокола DHCP вам понадобится:

    настроить DHCP на маршрутизаторе, который будет играть роль DHCP сервера.

    запустить службу DHCP на ПК (она выполняет функцию клиента);

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

Рассмотрим каждый шаг детально.

Как включить DHCP на роутере?

Запустить на маршрутизаторе работу DHCP сервера нужно через веб-интерфейс. Вам потребуется выполнить следующие действия:


Если сразу не получается открыть настройки роутера, попробуйте войти из другого браузера или из другого устройства. Самое радикальное и действенное решение проблемы — сброс настроек маршрутизатора. Чтобы его сделать, найдите маленькую кнопку с подписью «Reset» нажмите её чем-то тонким и удерживайте в течение 5-15 секунд. Важно иметь в виду: минус этого решения в том, что вам придется настраивать роутер полностью заново.

Запуск и настройка на компьютере с Windows

Чтобы включить DHCP на ПК под управлением Windows 7 или Windows 10, нужно выполнить похожий набор действий.

Проверка службы

Чтобы включить службу DHCP клиент на ПК, или убедиться, что она работает, откройте «Выполнить» (Win+R), напишите «services.msc».

В открывшемся окне «Службы» найдите dhcp клиент, нажмите правой кнопкой и выберете «Свойства».

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

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

Настраиваем сетевой адаптер

Войдите в «Сетевые подключения» нажатием Win+R и вводом «ncpa.cpl».

Откройте свойства вашей сети, TCP/IPv4.

Выберете автоматическое получение IP адреса и адреса DNS-сервера, сохраните изменения.

Аналогичные манипуляции можно провести из командной строки. Открываем «Выполнить» (Win+R), пишем «cmd».

Команда для установки IP адреса автоматически:

netsh interface ip set address «имя вашего подключения» dhcp

Команда для установки адреса DNS сервера автоматически:

netsh interface ip set dnsserver «имя вашего подключения» dhcp

Имя подключения посмотрите в его свойствах.

Привет, посетитель сайта сайт! Продолжаем изучать . В девятой части мы с вами будем разбираться с тем, как работает протокол DHCP (Dynamic Host Configuration Protocol) и зачем он вообще нужен? Эта запись как раз будет про назначение и возможности протокола DHCP, а также мы с вами рассмотрим DHCP опции и их назначение в протоколе . Как всегда, торопиться никуда не будем, сперва рассмотрим DHCP в общих чертах, а затем будем разбираться с частностями.

9.1.1 Введение

В курсах ICND1 и ICND2 протокол DHCP рассматривается очень поверхностно, да и в целом Cisco размазала информацию об этом протоколе на треки разных направлений и по разным уровням. Мы же рассмотрим DHCP довольно подробно и, пожалуй, рассмотренной информации хватит не только для того, чтобы ответить на вопросы по DHCP, которые могут встретиться на экзамене но и на вопросы, которые могут быть на экзамене CCNP R&S.

9.1.2 Зачем нужен протокол DHCP и как он связан с протоколом IP?

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

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

  1. Избавляет инженера от однотипной и монотонной работы по настройке , шлюзов, адресов DNS-серверов и других необходимых параметров для . При выполнении такой работы еще и легко ошибиться, ведь устройств может быть сотни, а то и тысячи.
  2. Протокол DHCP в какой-то мере, но не на 100%, защищает вашу сеть от такого неприятного явления как дублирование IP-адресов. При ручной настройке узлов компьютерной сети у вас может быть два подхода: либо вы ведете учет выданных IP-адресов и куда-нибудь записываете конфигурации ваших узлов, либо вы пускаете это дело на самотек и выдаете IP-адреса своим узлам, руководствуясь желанием своей левой пятки. В маленьких и очень маленьких сетях второй подход применим, а вот в больших сетях возникнут проблемы даже в том случае, когда вы будете вести строгий учет, проблемы возникнут именно с учетом, каждый новый IP-адрес в вашей учетной системе будет делать учет всё более сложным. Протокол DHCP позволяет избавиться от этого ручного учета , ведь DHCP-сервер будет запоминать те IP-адреса, которые он выдал, возможно, он будет запоминать даже кому он выдал тот или иной IP-адрес, чтобы затем выдать его вновь.

В этой теме мы будем разбираться с протоколом DHCP в связке с , хотя стоит заметить, что рассматривать DHCP без протокола IP вообще нет никакого смысла, просто дело всё в том, что DHCPv6 имеет несколько другие задачи, но это совсем другая история. Вообще, протокол DHCP, как и многие другие протоколы (например, NAT), возник из-за недостатков IPv4, дело в том, что в IPv4 нет механизма по автоматическому назначению IP-адресов на интерфейсы, а вот в IPv6 такой механизм уже имеется. То есть DHCP расширяет возможности IPv4 и делает жизнь сетевого инженера более простой и приятной , правда этому инженеру придется изучать как этот DHCP работает.

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

Протокол DHCP был стандартизован в 1993 году и является наследником протокола BOOTP, это мы увидим, когда познакомимся со структурой сообщений в DHCP, кстати говоря, по схожему принципу с DHCP работает протокол RARP, но он нам совсем неинтересен. DHCP описан в спецификации RFC 2131.

9.1.3 Режимы работы DHCP сервера

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

  1. Ручное назначение статических IP-адресов.
  2. Автоматическое назначение статических адресов.
  3. Автоматическое распределение динамических адресов.

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

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

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

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

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

9.1.4 Опции DHCP протокола и зачем они нужны? Список стандартных DHCP опций

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

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

Очевидная проблема, которая у вас может возникнуть: для подключения клиентского устройства к компьютерной сети нужна опция, с которой это устройство работать не умеет, ну вот не добавили поддержку этой опции производители и всё тут. Список стандартных DHCP опций описан в RFC 2132 . Более того, для каждой стандартной опции есть свой RFC, который описывает – зачем эта опция нужна и как она должна работать.

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

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

Для передачи опций между клиентом и сервером в DHCP пакете есть специальное поле переменной длинны , которое так и называется – options. Это поле имеет переменную длину, но при этом все остальные поля DHCP сообщения фиксированные. Если учесть, что и DHCP-клиент, и DHCP-сервер должны уметь обработать пакет размером 576 байт (576 байт взято не с потолка, а из ограничений некоторых старых протоколов), а также знать размер других полей в пакете, то нетрудно будет посчитать, что поле options имеет минимальную длину 340 байт. При этом самое поле options начинается с фиксированной последовательности Magic Cookie, которая выглядит так: 0×63825363. Можно сказать и по-другому, Magic Cookie – это четыре байта со значениями 99, 130, 83, 99. Как это не назови, но по этой последовательности устройство понимает, что фиксированная часть пакета закончилась и начались DHCP опции .

Кстати говоря, в DHCP пакете есть еще два необязательных поля, то есть в пакете есть пространство, вместо которого можно передавать опции – это поля file (64 байта) и snmae (128 байт). Что еще можно добавить про опции DHCP? Каждая стандартная опция имеет уникальный номер от 0 до 255, вернее правильнее будет говорить код, а не номер. У каждой опции есть размер, при этом у некоторых опций определен не строго фиксированный размер, а какие-то границы, в которых опция может плавать. Более подробную информацию о DHCP опциях вам придется смотреть в специальных RFC, дело всё в том, что некоторые опции должны начинаться, например, с нуля, некоторые опции нельзя использовать вместе, есть еще ряд других особенностей, в которые углубляться нам смысла сейчас нет.

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

9.1.6 Список самых часто используемых DHCP опции

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

Код Название Длина Описание опции
1 Subnet Mask 4 Маска подсети
3 Router x4 Перечисление доступных маршрутизаторов. Или проще говоря, IP-адреса доступных шлюзов по умолчанию, в сети их может быть несколько.
6 Name Server x4 Перечисление доступных DNS серверов
12 Host Name 1+ Символьное имя узла
23 Default IP TTL 1 Позволяет задать TTL, которое обязан будет использовать клиент при отправке пакетов в сеть. При помощи этой опции можно ограничить доступ пользователям в сеть Интернет.
26 Interface MTU 2 Если вам нужно чтобы все узлы использовали одинаковый MTU, то вот опция.
33 Static IP Route x8 Вы же помните, что когда-то сети были классовыми, изначально это поле было для выдачи маршрутов узлам в классовых сетях, поэтому для маски здесь место не нашлось. Сейчас, в эпоху VLSM и CIDR, при помощи этой опции можно выдавать узлам статические маршруты к удаленным сетям с маской /32.
35 ARP Cache Timeout 4 У протокола ARP есть кэш, каждая операционная система хранит ARP кэш разное время, чтобы упорядочить этот хаос есть 35 опция DHCP, которая заставляет все узлы хранит ARP-записи одинаковое количество времени.
50 Requested IP Address 4 Эту опцию использует клиент для того, чтобы сообщить серверу о том, какой IP-адрес он хочет получить.
55 Parameter Request List 1+ При помощи этой опции DHCP-клиент сообщает серверу список опций, которые ему хочется получить.
61 Client Identifier 2+ DHCP-сервер ведет сопоставление IP и MAC-адресов, он запоминает какому мак-адресу какой IP был назначен. Но вместо мак-адресов можно использовать идентификатор клиента.
66 TFTP Server Name 1+ Название опции говорит само за себя.
82 Я не знаю, как эта опция называется, а в RFC смотреть лень. Все инженеры вокруг меня просто говорят восемьдесят вторая опция. С этой опцией мы будем знакомиться отдельно, кратким описанием тут не отделаешься.
121 Classless Route 5+ Этой опцией можно выдавать маршруты по умолчанию в бесклассовых сетях.
150 TFTP Server IP Address 4 Тут тоже всё ясно из названия.
255 End 0 Если опции в пакете есть, то эта опция является обязательной, она означает, что других опций уже не будет и это конец DHCP пакета.

9.1.7 Выводы

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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows