Сервер DHCP
Сервер DHCP (Dynamic Host Configuration Protocol) используется для автоматического назначения IP-адресов и других сетевых параметров (например, шлюз по умолчанию, DNS-серверы) устройствам в сети. Это позволяет упростить процесс подключения устройств к сети, так как нет необходимости вручную настраивать параметры сетевого интерфейса для каждого устройства.
Когда устройство (клиент) подключается к сети, оно отправляет запрос на сервер DHCP. Сервер DHCP, в свою очередь, выделяет свободный IP-адрес из заранее настроенного диапазона и отправляет его клиенту, а также другие параметры конфигурации сети.
Установка
Установка DHCP выполняется командой:
dnf -y install dhcp
Следует обратить внимание, что обычно к Системе подключено более одного сетевого интерфейса. Если нужно, чтобы DHCP-сервер был запущен лишь на одном из интерфейсов, то необходимо выполнить следующие действия:
- открыть файл
/etc/sysconfig/dhcpd; - добавить имя конкретного интерфейса в список
DHCPDARGS, например, если интерфейсeth0, то добавить:
DHCPDARGS=eth0
- сохранить этот файл и выйти.
Настройка
Первым шагом установки DHCP-сервера является создание файла конфигурации dhcpd.conf. Основной файл конфигурации DHCP обычно располагается по пути /etc/dhcp/dhcpd.conf (изначально пуст) и хранит всю сетевую информацию, отправляемую клиентам.
Тем не менее существует другой пример файла конфигурации /usr/share/doc/dhcp*/dhcpd.conf.sample, который является хорошей отправной точкой для настройки DHCP-сервера.
В файле конфигурации DHCP существует два типа операторов:
parameters(параметры) – определяет, как выполнять задачу, выполнять ли задачу вообще и какие параметры конфигурации сети отправлять DHCP-клиенту;declarations(объявление) – определяет топологию сети, клиентов, предлагает адреса для клиентов и применяет группу параметров к группе объявлений.
Для настройки сервера DHCP выполняют следующие действия:
- cкопировать пример файла конфигурации в качестве основного:
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
- открыть для редактирования основной файл конфигурации:
nano /etc/dhcp/dhcpd.conf
- задать глобальные параметры DHCP-сервера, которые будут применяться ко всем подсетям:
option domain-name "rosa.lan";
option domain-name-servers ns1.rosa.lan, ns2.rosa.lan;
default-lease-time 3600;
max-lease-time 7200;
authoritative;
- определить подсеть; в этом примере сделана настройка DHCP для
192.168.56.0/24LAN-сети:
subnet 192.168.56.0 netmask 255.255.255.0 {
option routers 192.168.56.1;
option subnet-mask 255.255.255.0;
option domain-search "rosa.lan";
option domain-name-servers 192.168.56.1;
range 192.168.56.10 192.168.56.100;
}
Все строки параметров в файле конфигурации заканчиваются точкой с запятой (;). Некоторые параметры могут иметь не одно значение, например domain-name-servers, у которого два IP-адреса, разделенные запятой. Строки, начинающиеся с "#", являются комментариями и не обрабатываются сервером DHCP.
Некоторые общие параметры сервера DHCP:
subnet– объявляет подсеть (в вышеприведенном случае192.168.38.0с маской255.255.255.0);range– диапазон выдаваемых адресов (от192.168.56.10до192.168.56.100);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.56.1)
- после внесения изменений в основной файл конфигурации открыть файл
/etc/default/isc-dhcp-serverи заменить параметрINTERFACESv4на имя сетевого интерфейса, который смотрит внутрь сети. Чтобы узнать его имя, следует воспользоваться командамиipconfigилиip.
Присвоение адреса
Для того чтобы присвоить статический IP-адрес конкретному клиентскому компьютеру в сети, нужно определить раздел в файле /etc/dhcp/dhcpd.conf, в котором необходимо указать MAC-адреса и фиксированный IP-адрес для назначения, например:
host rosa {
hardware ethernet 00:f0:m4:6y:89:0g;
fixed-address 192.168.56.105;
}
host rv-node {
hardware ethernet 00:4g:8h:13:8h:3a;
fixed-address 192.168.56.110;
}
Примечание – Узнать MAC-адрес в ОС РОСА "ХРОМ" можно, используя следующую команду:
ifconfig -a eth0 | grep HWaddr
После этого следует запустить службу DHCP и включить параметр для её автоматического запуска со следующей загрузки Системы, используя команды:
systemctl start dhcpd
systemctl enable dhcpd
Затем необходимо разрешить службу DHCP (DHCPD-служба прослушивает порт 67/UDP) командами:
nft add rule inet filter input udp dport 67 accept
или
nft add rule inet filter input tcp dport 67 ct state new accept
nft list ruleset > /etc/nftables.conf
И затем можно загрузить эти правила при старте:
nft -f /etc/nftables.conf
Настройка клиента
Далее необходимо настроить клиентов в сети на автоматическое получение IP-адресов от DHCP-сервера. Для этого нужно войти на клиентский компьютер и перейти к редактированию файла конфигурации интерфейса Ethernet командой (имя/номер интерфейса приведены в качестве примера):
nano /etc/sysconfig/network-scripts/ifcfg-eth0
В файл необходимо добавить следующие строки:
DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes
Затем следует сохранить файл и выйти из редактора.