- Установка и настройка сервера ISC DHCP в Ubuntu / Debian
- Установка сервера ISC DHCP
- Настройка DHCP
- Настройка DHCP-сервера с резервированием IP-адреса.
- Установка и базовая настройка DHCP сервера на Ubuntu
- Установка и настройка
- Возможные проблемы
- Not configured to listen on any interfaces!
- Читайте также
- Настройка DHCP сервера Ubuntu Server
- Настройка DHCP сервера
- Назначение постоянного адреса компьютеру
- Просмотр списка клиентов с назначенными адресами
Установка и настройка сервера ISC DHCP в Ubuntu / Debian
DHCP или Dynamic Host Configuration Protocol – это используемый в сетях протокол посредством которого сетевое устройство может автоматически получать сетевые настройки необходимые для связи с другими устройствами во время загрузки. Использование DHCP-сервера в вашей локальной сети значительно упрощает администрирование сетевых устройств, а также позволяет централизовать точку управления сетей.
DHCP-сервер может предоставить IP-адрес устройства, маска сети, DNS-серверы, IP-адрес шлюза, широковещательный адрес сети, к которой вы принадлежите, адреса серверов точного времени и другие более экзотические настройки.
Если у вас всего 2-3 компьютера обычно предпочтение отдается ручной настройке сети. Но в настоящее время появилось множество сетевых устройств для каждого из которых настройка сетевых параметров может оказаться очень сложной, а иногда и невозможной вовсе. Это является основным фактором, который мы должны учитывать в пользу установки и настройки DHCP-сервера в нашей сети. DHCP-сервер может существенно упростить настройку сетевых устройств.
Однако ручное назначение IP-адресов всегда необходимо, если вы развертываете в своей сети серверы . Серверы всегда должны иметь статическимй IP-адрес.
Теперь давайте посмотрим, как работает DHCP-сервер в сети.
Сетевое устройство, которому необходимо назначить статический адрес, отправляет в сеть широковещательный запрос с сообщением «DHCP Discover». Отправленное сообщение от клиентского устройства также включает в себя его MAC-адрес. Клиенты отправляют это сообщение, чтобы определить, имеется ли сервер DHCP где-то в сети.
Слушающий DHCP-сервер принимает широковещательный кадр и отвечает клиенту сообщением «DHCP Offer»: ответ содержит сетевые настройки, необходимые для регистрации клиента в сети. Обычно это IP-адрес, маска подсети, шлюз по умолчанию и другие сетевые параметры.
После получения ответа от сервера клиент, если он удовлетворен полученными настройками, отправляет сообщение «DHCP Request» обратно на сервер DHCP и сообщает, что он согласен с формальными настройками сети. Сервер, отправивший предложение, фиксирует запрошенный IP-адрес за данным клиентом. Опять же, отправляется широковещательной запрос т.к. в сети могут быть другие DHCP-серверы и они должны быть в курсе появления нового устройства.
Наконец, сервер DHCP отвечает одноадресным сообщением «DHCP ACK». На этом этапе IP-адрес и все другие параметры сети отправляются на наше сетевое устройство, поскольку теперь они одобрены для использования клиентом.
Internet Software Consortium является основным автором и разработчиком самого распостраненного DHCP-сервера в Linux, который обычно называют сервером ISC DHCP. В Ubuntu / Debian соответствующий двоичный пакет называется isc-dhcp-server . Рассмотрим как установить и настроить DHCP-сервер.
Установка сервера ISC DHCP
sudo apt install isc-dhcp-server
На всякий случай сделаем резервную копию конфигурационного файла
cp /etc/dhcp/dhcpd.conf cat /dev/null > /etc/dhcp/dhcpd.conf
Настройка DHCP
subnet 192.168.38.0 netmask 255.255.255.0
Все строки параметров в файле конфигурации dhcp заканчиваются точкой с запятой (;). Некоторые параметры могут иметь не одно значение, например, domain-name-servers, у которого два IP-адреса, разделенные запятой. Строки, начинающиеся с ‘#’, являются комментариями и не обрабатываются сервером dhcp.
Некоторые общие параметры сервера DHCP:
subnet— Параметр объявляет подсеть (в нашем случае 192.168.38.0 с маской 255.255.255.0)
range – Диапазон выдаваемых адресов ( от 192.168.38.100 до 192.168.38.254).
option subnet-mask – Маска сети. ( 255.255.255.0)
option broadcast-address – Широковещательный адрес. (192.168.38.255)
domain-name-servers – Адреса серверов DNS. (8.8.8.8, 8.8.4.4)
option domain-name – Доменное имя.(workgroup)
option routers – Определяет IP-адрес вашего шлюза или точки выхода в сеть.(192.168.38.1)
После того как вы отредактировали основной файл конфигурации и объявили диапазоны IP, откройте файл /etc/default/isc-dhcp-server и замените параметр INTERFACESv4 на имя сетевого интерфейса, который смотрит внутрь сети. Чтобы узнать его имя воспользуйтесь командами ipconfig или ip.
Наконец, после внесения всех изменений перезапустите сервер dhcp, чтобы применить новую конфигурацию и проверить статус службы, выполнив следующие команды:
systemctl restart isc-dhcp-server
systemctl status isc-dhcp-server
Настройка DHCP-сервера с резервированием IP-адреса.
Часто возникает необходимость зарезервировать за устройством (сервером, принтером и т.д.) постоянный IP-адрес. В этом случае вам нужно знать его MAC- адрес.
Пример резервирования IP-адреса 192.168.38.5 за компьютером SERVER:
subnet 192.168.38.0 netmask 255.255.255.0 < range 192.168.38.100…. . host SERVER < hardware ethernet 08:60:6e:d6:5e:ff; fixed-address 192.168.38.5;>>
После того, как вы внесли изменения в конфигурационный файл, перезапустите сервер DHCP следующей командой:
systemctl restart isc-dhcp-server
Это все! Вы успешно установили и настроили DHCP-сервер.
Установка и базовая настройка DHCP сервера на Ubuntu
Опубликовано: 12.03.2023
Установка и настройка
Сервер DHCP в Ubuntu может быть реализован с помощью пакета isc-dhcp-server. Его можно установить из стандартных репозиториев системы. Выполняем обновления кэша пакетов и установку:
subnet 192.168.0.0 netmask 255.255.255.0 <
range 192.168.0.100 192.168.0.200;
option domain-name-servers 192.168.0.10, 192.168.0.11;
option domain-name «dmosk.local»;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
>
- subnet — сеть, для которой будет работать данная группа настроек.
- range — диапазон, из которого будут браться IP-адреса.
- option domain-name-servers — через запятую перечисленные DNS-сервера.
- option domain-name — суффикс доменного имени.
- option routers — шлюз по умолчанию.
- option broadcast-address — адрес сети для широковещательных запросов.
- default-lease-time и max-lease-time — время и максимальное время в секундах, на которое клиент получит адрес, по его истечению будет выполнено продление срока.
Проверить корректность конфигурационного файла можно командой:
dhcpd -t -cf /etc/dhcp/dhcpd.conf
Разрешаем автозапуск сервиса:
systemctl enable isc-dhcp-server
systemctl restart isc-dhcp-server
Добавляем правило в firewall:
iptables -I INPUT -p udp —dport 67 -j ACCEPT
Возможные проблемы
Not configured to listen on any interfaces!
Сервис dhcp не запускается, а в логе можно увидеть ошибки, на подобие:
No subnet declaration for ens18 (192.168.1.10).
.
** Ignoring requests on ens18. If this is not what
you want, please write a subnet declaration
in your dhcpd.conf file for the network segment
to which interface ens18 is attached. **
.
Not configured to listen on any interfaces
Причина: в конфигурационном файле описана подсеть, которая не настроена ни на одном из сетевых интерфейсов сервера.
Решение: конфигурация subnet должна включать только те подсети, в которых настроен сам сервер DHCP. Посмотреть сетевые настройки можно командой:
После чего необходимо проверить настройки в конфигурационном файле сервера dhcp.
Читайте также
Другие инструкции, связанные с DHCP:
Настройка DHCP сервера Ubuntu Server
Следующий пункт настройки сервера — настройка DHCP, настраиваем автоматическую раздачу IP адресов сервером.
Настройка DHCP сервера
Внимание: для корректной работы сети, в сети должен присутствовать всего один DHCP сервер.
Вводим команду, для установки компонента DHCP сервера:
sudo apt-get install isc-dhcp-server
Соглашаемся с установкой нажатием кнопки Y.
Открываем файл конфигурации интерфейса DHCP сервера, командой:
sudo nano /etc/default/isc-dhcp-server
Добавим в поле INTERFACES=”” в кавычки, название карты, которая смотрит в локальную сеть (в моем случае это enp9s0).
Настройка конфигурационного файла DHCP сервера
Открываем файл конфигурации сервера, командой:
sudo nano /etc/dhcp/dhcpd.conf
«Закомментируем» следующие строки, т.е. установим перед строкой знак #, в этом случае это считается комментарием и данная строка операционной системой не обрабатывается.
(Кстати, вы и сами можете добавлять комментарии к изменяемым вами строкам, для понимания или выделения вносимых вами изменений в файлы конфигурации)
option domain-name «example.org»
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
Так как мой сервер DHCP будет единственным в сети, в первую очередь снимаем знак # перед параметром authoritative;
Ищем строку # A slightly different configuration for an internal subnet, снимаем комментирование со строк ниже и устанавливаем следующие параметры:
subnet 192.168.137.0 netmask 255.255.255.0 range 192.168.137.20 192.168.137.254 ;
option domain-name-servers 192.168.137.1 ;
option domain-name « school.loc «;
option subnet-mask 255.255.255.0 ;
option routers 192.168.137.1 ;
option broadcast-address 192.168.137.255 ;
default-lease-time 604800 ;
max-lease-time 604800 ;
>
Не забудьте снять комментирование (убрать символ #), перед последней, закрывающей скобкой.
Что мы сделали:
Указываем диапазон сети;
Начало и конец списка выдаваемых IP адресов, оставив первые 19 адресов для различных служебных устройств: точки WiFi, другие серверы и пр.;
Имя домена — имя вашей сети, обязательно поставьте в конце .loc означающее что это локальный, а не интернет домен;
Адрес роутера, адрес интернет шлюза (наш сервер);
Адрес широковещательной рассылки (зарезервированный системой адрес), заканчивается на 255;
Время предоставления и максимальное время выделения IP адреса.
Перезапускаем DHCP сервер, командой:
sudo /etc/init.d/isc-dhcp-server restart
Если все верно, появится вот такое сообщение.
На этом настройка службы DHCP успешно завершена, все подключенные компьютеры, после перезапуска сетевых устройств, должны получать IP адреса автоматически из заданного диапазона.
Назначение постоянного адреса компьютеру
Если же Вам потребуется назначить некоторым компьютерам в сети, постоянный IP адрес, добавьте в файл конфигурации:
sudo nano /etc/dhcp/dhcpd.conf
Запись вида:
# My static IP address
# Teacher PC, classroom 215
host teacherpc
hardware ethernet 94:DE:80:05:94:34 ;
fixed-address 192.168.137.8 ;
>
Где:
Синим цветом выделены необязательные, но полезные для вас комментарии, позволяющие впоследствии легко найти и понять, для чего нужны следующие записи;
host — сетевое имя учительского компьютера (для примера) — teacherpc;
hardware ethernet — MAC адрес сетевой карты нужного компьютера;
fixed-address постоянный, присваиваемый IP адрес этому компьютеру в локальной сети.
После чего проверяем на клиенте, успешную настройку DHCP сервера Ubuntu:
Просмотр списка клиентов с назначенными адресами
После получения клиентами IP адресов от нашего созданного DHCP сервера, просмотреть этот список можно командой:
nano /var/lib/dhcp/dhcpd.leases
Там же можно увидеть и соответствие MAC адресов с именами компьютеров вашей локальной сети.
Кстати, просматривать этот список может быть удобней в файловом менеджере Midnight Commander.
Большинство «не работает» вызвано невнимательностью! Внимательно проверяйте команды и не допускайте в файлах конфигурации лишних символов.
[nx_heading style=»coloredline» heading_tag=»h4″ size=»24″ align=»left»]От автора:[/nx_heading]
Если проблема решена, один из способов сказать «Спасибо» автору — здесь.
Если же проблему разрешить не удалось и появились дополнительные вопросы, задать их можно на нашем форуме, в специальном разделе.
[nx_box title=»Поделиться этой статьей» style=»glass» box_color=»#ED303C»]Если данная статья вам помогла и вы хотели бы в ответ помочь проекту Mhelp.kz, поделитесь этой статьей с другими: