Давно я DHCP-сервера не настраивал и все уже забыл, а раньше записать не удосужился. Исправим это досадное упущение и рассмотрим несколько вариантов настройки применительно к нашей «любимой RedOS 8».
Простейшая конфигурация DHCP-сервера
Выбор и установка пакета
В большинстве дистрибутивов используется ISC DHCP Server (isc-dhcp-server) или dnsmasq (проще для малых сетей).
Для ISC DHCP (Debian/Ubuntu):
# apt install isc-dhcp-server # Debian/Ubuntu
# dnf install dhcp-server.x86_64 # RHEL/CentOS
Для dnsmasq (универсально):
# apt install dnsmasq # Debian/Ubuntu
# yum install dnsmasq # RHEL/CentOS
Настройка конфигурации для ISC DHCP Server
Укажите интерфейс в /etc/sysconfig/dhcpd:
DHCPDARGS="eth0" # замените на ваш интерфейс
Настройте диапазон IP в /etc/dhcp/dhcpd.conf:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option domain-name "localnet";
default-lease-time 600;
max-lease-time 7200;
}
- subnet — подсеть сервера.
- range — пул выдаваемых IP.
- routers — шлюз по умолчанию.
- domain-name-servers — DNS‑серверы.
Запускаем и настраиваем автозапуск:
# systemctl enable dhcpd
# systemctl start dhcpd
Для dnsmasq
Отредактируйте /etc/dnsmasq.conf:
interface=eth0
dhcp-range=192.168.1.10,192.168.1.100,12h
dhcp-option=3,192.168.1.1 # шлюз
dhcp-option=6,8.8.8.8,8.8.4.4 # DNS
Запускаем и настраиваем автозапуск:
# systemctl start dnsmasq
# systemctl enable dnsmasq
Проверяем, что в нашей сети появился DHCP-сервер.
Для обнаружения DHCP-сервера в сети можно восрользоваться утилитой nmap.
# nmap --script broadcast-dhcp-discover
Результат выполнения:
# nmap --script broadcast-dhcp-discover
Starting Nmap 7.94 ( https://nmap.org ) at 2026-01-23 13:51 MSK
Pre-scan script results:
| broadcast-dhcp-discover:
| Response 1 of 1:
| Interface: enp1s0
| IP Offered: 10.101.5.20
| DHCP Message Type: DHCPOFFER
| Server Identifier: 10.101.5.2
| IP Address Lease Time: 10m00s
| Subnet Mask: 255.255.255.0
| Router: 10.101.5.1
| Domain Name Server: 8.8.8.8, 8.8.4.4
|_ Domain Name: internal.rain.shiskitech.ru
WARNING: No targets were specified, so 0 hosts scanned.
Nmap done: 0 IP addresses (0 hosts up) scanned in 10.31 seconds
Дополнительно можно указать интерфейс для сканирования.
# nmap --script broadcast-dhcp-discover -e lxd-br
Интеграция DHCP и LDAP (Неудачный эксперимент вернемся к нему позже)
Использовать будем встроенный LDAP в FreeIPA.
Создаем пользователя в LDAP. Пользователь будет _dhcp с правами администратора (для редактирования данных в LDAP).

Параметры LDAP (сервиса slapd) хранятся в каталоге /etc/dirsrv/slapd-RAIN-SHISKITECH-RU где RAIN-SHISKITECH-RU это наш FreeIPA домен. Параметры схемы соответственно находятся в каталоге /etc/dirsrv/slapd-RAIN-SHISKITECH-RU/schema.
Авторизуемся и проверяем корректность работы запросов.
# kinit admin
# kilst
# ldapsearch -x uid=admin
Файл схемы для dhcpd находится в каталоге /etc/openldap/schema и имеет устаревший формат schema и нам надо его преобразовать в формат ldif.
Есть два варианта. Первый это преобразовать его вручную.
# dnf install openldap-servers openldap-clients
# mkdir -p /tmp/ldif_convert
# cd /tmp/ldif_convert
# echo "include /etc/openldap/schema/dhcp.schema" > /tmp/convert.conf
# slaptest -f /tmp/convert.conf -F /tmp/ldif_convert
# cp /tmp/ldif_convert/cn\=config/cn\=schema/cn\=\{0\}dhcp.ldif /etc/dirsrv/slapd-RAIN-SHISKITECH-RU/schema/60dhcp.ldif
Второй использовать готовый файл схемы:
https://github.com/Turgon37/freeipa-plugin-dhcp/tree/master/schema
Этот плагин и схема уже 10 лет не обновлялись.
Перезапускаем FreeIPA.
# systemctl restart ipa




