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{,.backup}
cat /dev/null > /etc/dhcp/dhcpd.conf

Настройка DHCP

nano /etc/dhcp/dhcpd.conf
subnet 192.168.38.0 netmask 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;
 option domain-name-servers 8.8.8.8, 8.8.4.4;
 option domain-name "workgroup";
 option routers 192.168.38.1;
 default-lease-time 7200;
 max-lease-time 480000;
 }

Все строки параметров в файле конфигурации 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.

INTERFACESv4 = "enp1s8"

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

systemctl restart isc-dhcp-server
systemctl status isc-dhcp-server

Настройка DHCP-сервера с резервированием IP-адреса.

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

nano /etc/dhcp/dhcpd.conf

Пример резервирования 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-сервер.

Установка и настройка сервера ISC DHCP в Ubuntu / Debian
Метки:             

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *