DHCP

Установка пакетов

Приступим к конфигурированию нашей локальной сети. Прежде всего установим и настроим DHCP на сервере.

DHCP — протокол прикладного уровня модели TCP/IP, служит для автоматического назначения IP-адреса клиенту.

DHCP - это тоже пакет. Поэтому используем наш волшебный менеджер dnf.

dnf update
dnf install dhcp

Настройка конфигурации DHCP

После успешной (?) установки перейдем к редактированию конфигурационного файла. Для этого будем использовать текстовый редактор Vim (ваш любимый).

vim /etc/dhcp/dhcpd.conf

И заполним его приблизительно так:

subnet 192.168.0.0 netmask 255.255.255.240 {
    range 192.168.0.6 192.168.0.15;
    option domain-name-servers 8.8.8.8;
    option domain-name "sgu-dev.ru";
    option routers 192.168.0.1;
    default-lease-time 600;
    max-lease-time 7200;
}

host server {
    hardware ethernet #MAC;
    fixed-address 192.168.0.2;
}

, где:

  • subnet - это наша подсеть

  • netmask - маска подсети

  • range - выдачи IP-адресов

  • option domain-name-servers - IP-адреса DNS серверов

  • option domain-name - суффик доменного имени

  • option routers - IP адрес шлюза по умолчанию

  • default-lease-time - время на которое клиент будет получать IP-адрес в аренду

  • max-lease-time - максимальное время на которое клиент будет получать IP-адрес в аренду

  • server - имя узла, для которого будет зарезервирован адрес; #MAC - MAC-адрес; 192.168.0.2 - IP-адрес, который будет зарезервирован для узла.

Как узнать MAC-адрес интерфейса?

(Далеко мы корректно набиваем нужный текст с первого раза, поэтому лучше проверить насколько правильно был заполнен конфигурационный файл. Для этого в терминал введем команду dhcpd -t -cf /etc/dhcp/dhcpd.conf. )

Теперь укажем интерфейс, с которым будет работать наш DHCP. Для этого откроем в Vim файл vim /etc/sysconfig/dhcpd и пропишем там строку:

DHCPDARGS=enp0s8

, где enp0s8 - это имя нашего интерфейса.

Настройка интерфейса

Однако на этом наши приключения отнюдь не заканчиваются. Мы настроили сам DHCP, но интерфейс на который клиенты будут обращаться мы еще не затронули. Поэтому открываем файл, который отвечает за настройки интерфейса enp0s8: vim /etc/sysconfig/network-scripts/ifcfg-enp0s8. И заполняем его следующим образом:

TYPE="Ethernet"
DEVICE="enp0s8"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR="192.168.0.1"
PREFIX="28"

Сохраняем изменения и смело перезагружаем NetworkManager: systemctl restart NetworkManager.

Запуск службы DHCP

Теперь все что нам осталось сделать - запустить демона dhcpd и добавить его в автозагрузку. Для этого выполним такие команды:

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

systemctl start dhcpd
systemctl enable dhcpd

Теперь мы можем проверить, арендовал ли у нас уже кто-то IP-адрес с помощью команды cat /var/lib/dhcpd/dhcpd.leases. Если арендаторы есть, то тогда получим примерно такой результат:

Last updated