Поиск по сайту:
В английском языке любое слово может быть глаголом. Разве могло бы такое быть в языках программирования? (Алан.Дж.Перлис)

Что такое DHCP-сервер. Настройка DHCP на Debian

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

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

Существует две версии DHCP: v1 и v2. Версия 1 предоставляла IP-адреса только хостам, а версия 2, которая используется в операционной системе Microsoft Windows 2000 и 2003 Server, предлагает больше возможностей. Хотя оба работают по одной и той же концепции, они имеют разные реализации конкретных опций поставщика (VSOP), классов пользователей, периодов аренды и т. д.

Самым большим преимуществом использования DHCP по сравнению со статической адресацией является простота обслуживания, когда ваша сеть растет или сокращается. У вас также есть возможность централизованно управлять своими IP-адресами, что является дополнительным преимуществом по сравнению со статической адресацией. База данных DHCP может быть расположена на DCE NetServer под управлением Windows 2000/2003 Server или размещена на отдельном компьютере с помощью службы динамического DNS, такой как ddclient (решение на основе Perl).

 

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

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

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

DHCP-сервер, который получает широковещательный пакет «DHCP Discover» от нового или существующего ПК в своей подсети/сегменте LAN, должен предоставить предложение IP-адресов для этой подсети. Предложение содержится в пакете “DHCP Offer” и содержит такие сведения, как диапазон, продолжительность аренды и поля опций, а также другие опции конфигурации. Этот ответ также будет содержать параметры конфигурации TCP/IP для каждого хоста, включая: IP-адрес, маску подсети, шлюз по умолчанию (если есть), продолжительность аренды, DNS-серверы (если есть), имя домена и т. Д.

Затем клиент отправляет пакет DHCPREQUEST обратно на сервер в качестве положительного подтверждения предложения IP-адреса. Этот пакет также будет содержать свой аппаратный адрес (MAC) вместе с другими параметрами конфигурации, такими как DNS-серверы, имя домена и т. д.

Читать  Как объединить строки в Bash

Когда DHCP-сервер получает этот запрос, он отмечает пул адресов этого клиента в своей базе данных как «назначенный» и отвечает пакетом подтверждения (DHCPACK), который включает всю вышеуказанную информацию, а также любые определенные параметры, настроенные на этом сервере. Затем клиент настраивает свой сетевой интерфейс, используя эту информацию. Он сохранит продолжительность аренды и параметры, указанные администратором, в энергонезависимой ОЗУ, чтобы они были доступны в следующий раз при перезапуске системы, а существующие клиенты не должны запрашивать DHCP-сервер при каждом перезапуске.

К одному или нескольким хостам с уникальным локальным аппаратным адресом все время. Не на один или несколько хостов с разными глобальными IP-адресами при каждой загрузке. Это означает, что управление статическими адресами отдельных систем нелегко автоматизировать с помощью каких-либо клиентских программ DHCP: для этого вам нужно написать собственное программное обеспечение (в оболочке или Perl-скрипте). Большинство из них используют инструменты Berkeley NetUtils, которые можно найти здесь: https://netutils.com или продукты Microsoft, такие как команда netsh и утилита netshell для управления статической адресацией.

Эта статья покажет вам, как настроить DHCP-сервер с помощью пакета служебных программ DHCP-сервера ISC: DHCPD. Эта статья предназначена для серверов на базе Debian, работающих под управлением следующих ОС: Debian 6, 7, 8, 9,10.

 

Предпосылки

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

В этом руководстве предполагается, что вы, по крайней мере, знакомы с интерфейсом командной строки (CLI) ОС Linux. Если вы не знакомы с Linux CLI, ознакомьтесь с ним или попросите друга помочь настроить ваш DHCP-сервер вручную.

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

 

Установка DHCP-сервера

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

sudo apt-get update -y

Обновление вашей системы

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

Читать  Облегченные дистрибутивы Linux

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

Теперь ваша система обновлена. Давайте установим утилиту DHCP-сервера в вашу систему, используя следующую команду:

sudo apt-get install isc-dhcp-server -y

 

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

 

Установка DHCP-сервера

Настройка DHCP-сервера

После успешного завершения установки мы настроим DHCP-сервер.

Главный файл конфигурации DHCP dhcpd.conf находится в каталоге/etc/dhcp/. Перед внесением изменений рекомендуется создать резервную копию исходного файла. Мы скопируем его с новым именем, отредактируем файл, а затем переименуем его обратно в исходное имя после того, как мы закончим редактирование.

sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf_backup

 

Теперь откройте файл для редактирования с помощью любого редактора:

sudo nano /etc/dhcp/dhcpd.conf

 

Чтобы настроить параметры DHCP, вам необходимо понять, что это такое:

Все строки параметров заканчиваются точкой с запятой (;), чтобы DHCPD знал, что эта строка завершена. В образце файла конфигурации есть много строк параметров DHCP.

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

Некоторые параметры могут иметь более одного значения. В этом случае между значениями должна быть точка с запятой. Некоторые параметры имеют только одно значение без точки с запятой, например: interface «eth0».

Вот некоторые общие параметры конфигурации, которые вы можете настроить для своего DHCP-сервера

  • вариант доменного имени «example.com»; – Это присваивает вашей сети доменное имя Example.com.
  • option domain-name-servers ns1.example.com; – Это сообщает клиентским компьютерам DHCP, какие DNS-серверы использовать при выполнении DNS-запросов.
  • время аренды по умолчанию 600; – Это указывает клиентским компьютерам освободить IP-адрес, присвоенный им при перезапуске или выключении системы.
  • max-lease-time 7200; – Это укажет файлу dhcpd.conf и его файлу базы данных, который указан с помощью опции dbfilename, циклически перебирать все доступные IP-адреса в вашем пуле DHCP каждые 2 часа (или 7200 секунд).
  • ping -timeout 0; – Каждые 60 секунд для проверки адреса будет отправляться ping. Если это время ожидания, оно не будет использоваться.
  • дополнительные маршрутизаторы (IP-адрес маршрутизатора); – Это IP-адрес шлюза для вашей внутренней сети с маской подсети 255.255.255.0; – Определяет размер вашей подсети/24 значений (подсеть в нотации CIDR), которые будут использоваться в сети. Ваша маска должна совпадать с тем, что было определено в значениях/начальном и конечном значениях диапазона DHCP-пула.
Читать  Экспорт переменных в Bash

 

Настройка интерфейсов для прослушивания

Во-первых, давайте определим интерфейсы в нашей системе, которые мы хотим, чтобы DHCPD слушал. В этом примере eth0 подключен к Интернету, а eth1 подключен к нашей локальной сети. Мы изменим конфигурацию так, чтобы DHCPD прослушивал оба интерфейса.

sudo nano /etc/default/isc-dhcp-server

Приведенная выше команда открывает и редактирует файл/etc/default/isc-dhcp-server.

Найдите на странице “INTERFACES =” и раскомментируйте его, удалив знак «#» перед ним. Должно получиться так: INTERFACES=”eth0 eth1″

Затем просто замените eth0 на свое устройство с интернет-интерфейсом (это может быть что угодно), чтобы оно выглядело так: INTERFACES=”eth1″

Сохраните файл, нажав Ctrl + X, затем нажмите Y, чтобы подтвердить сохранение, а затем нажмите Enter.

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

sudo systemctl перезапуск isc-dhcp-server
sudo systemctl status isc-dhcp-server

Глобальная конфигурация

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

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

sudo nano  /etc/dhcp/dhcpd.conf

Объявление IP-подсети

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

sudo nano  /etc/dhcp/dhcpd.conf

Настройка хоста с фиксированным IP

В некоторых случаях вы можете захотеть ограничить назначение IP-адресов от определенных клиентов, используя фильтрацию MAC-адресов или даже собственный идентификатор клиента. Например, система с MAC-адресом «00: 11: 1A: 2B: 3C: 4D» получит IP 192.166.88.99.

 

Заключение

Эта статья показывает вам базовую конфигурацию, которая поможет вам начать работу. Для получения подробной информации посетите вики-страницы isc-dhcp-server ( https://wiki.debian.org/DHCP_Server ).

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Alex

Здравствуйте, у меня вопросы относительно настроек:

1) Что мне необходимо доустановить (прописать в /etc/dhcp/dhcpd.conf )

если у меня такой вывод?
  == На сервере ==

isc-dhcp-server.service – LSB: DHCP server
   Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
   Active: failed (Result: exit-code) since Mon 2022-07-11 07:27:15 MSK; 40s ago
    Docs: man:systemd-sysv-generator(8)
  Process: 17857 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)
    CPU: 29ms

Jul 11 07:27:15 31-31-203-167 dhcpd[17870]: before submitting a bug. These pages explain the proper
Jul 11 07:27:15 31-31-203-167 isc-dhcp-server[17870]: before submitting a bug. These pages explain the proper
Jul 11 07:27:15 31-31-203-167 dhcpd[17870]: process and the information we find helpful for debugging.
Jul 11 07:27:15 31-31-203-167 isc-dhcp-server[17870]: process and the information we find helpful for debugging.
Jul 11 07:27:15 31-31-203-167 dhcpd[17870]: 
Jul 11 07:27:15 31-31-203-167 isc-dhcp-server[17870]: exiting.
Jul 11 07:27:15 31-31-203-167 dhcpd[17870]: exiting.
Jul 11 07:27:15 31-31-203-167 systemd[1]: isc-dhcp-server.service: Control process exited, code=exited, status=1/FAILURE
Jul 11 07:27:15 31-31-203-167 systemd[1]: isc-dhcp-server.service: Failed with result ‘exit-code’.
Jul 11 07:27:15 31-31-203-167 systemd[1]: Failed to start LSB: DHCP server.
~
——————————————————————————-
 
        На ком-ре

Job for isc-dhcp-server.service failed because the control process exited with error code.
See “systemctl status isc-dhcp-server.service” and “journalctl -xe” for details.
invoke-rc.d: initscript isc-dhcp-server, action “start” failed.
● isc-dhcp-server.service – LSB: DHCP server
   Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
   Active: failed (Result: exit-code) since Mon 2022-07-11 07:30:43 MSK; 13ms ago
    Docs: man:systemd-sysv-generator(8)
  Process: 28507 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)
    CPU: 40ms

июл 11 07:30:41 debian dhcpd[28523]: before submitting a bug. These pages explain the proper
июл 11 07:30:41 debian dhcpd[28523]: process and the information we find helpful for debugging.
июл 11 07:30:41 debian dhcpd[28523]: 
июл 11 07:30:41 debian dhcpd[28523]: exiting.
июл 11 07:30:43 debian isc-dhcp-server[28507]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. …
июл 11 07:30:43 debian isc-dhcp-server[28533]: failed!
июл 11 07:30:43 debian isc-dhcp-server[28534]: failed!
июл 11 07:30:43 debian systemd[1]: isc-dhcp-server.service: Control process exited, code=exited, status=1/FAILURE
июл 11 07:30:43 debian systemd[1]: isc-dhcp-server.service: Failed with result ‘exit-code’.
июл 11 07:30:43 debian systemd[1]: Failed to start LSB: DHCP server.

Это может быть вам интересно


Рекомендуемое
Git - это популярная система контроля версий, широко используемая программистами…

Спасибо!

Теперь редакторы в курсе.