Базовая настройка DHCP-сервера в Linux

Оцените статью

Давно я 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).

Сервисный пользователь FreeIPA

Параметры 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

Related Posts

Настройка SoftEther VPN Bridge

Для объединения нескольких географически распределенных подсетей при помощи SoftEther используется компонент SoftEther VPN Bridge и сегодня мы в краце рассмотрим как настроить объединение несколько виртуальных сетей (LXD хост). Подготовка сети…

Установка и настройка Zabbix-Proxy

Зачем вообще связывться с zabbix-proxy и тут может быть огромное количчество причин и основная, это отсутствие полноценной сетевой связанности между филиалами или неустойчивая работа канала связи. Следовательно мониторить состояние инфраструктуры…

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

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

You Missed

Настройка SoftEther VPN Bridge

Установка и настройка Zabbix-Proxy

Установка и настройка Zabbix-Proxy
NetPlan работа с сетевыми мостами
Проект Rain (Часть первая)

Базовая настройка DHCP-сервера в Linux

Базовая настройка DHCP-сервера в Linux

Настройка лицензирования терминального сервера Windows (Windows Server 2025)

Настройка лицензирования терминального сервера Windows (Windows Server 2025)