====== Пошаговое руководство: Настройка ISC DHCP Server (4.4.3-P1 и выше) ======
В этой статье мы разберем процесс установки и правильной конфигурации классического DHCP-сервера, а также решим частую проблему с порядком запуска служб.
===== Установка пакетов =====
Для начала необходимо установить сам сервер из официальных репозиториев. Мы будем использовать пакет ''%%dhcp-server%%'':
bash
apt-get update && apt-get install -y dnsmasq
===== Расчет маски подсети =====
Прежде чем писать конфигурацию, нужно правильно указать маску подсети. Длина префикса (например, ''%%/28%%'') определяет количество единичных битов в маске. В последнем октете каждый из 8 битов представляет степень двойки: 128, 64, 32, 16, 8, 4, 2, 1.
* Префикс **/24** (все биты нули): маска ''%%255.255.255.0%%''
* Префикс **/25** (1 бит): ''%%128%%'' = маска ''%%255.255.255.128%%''
* Префикс **/26** (2 бита): 128 + 64 = маска ''%%255.255.255.192%%''
* Префикс **/27** (3 бита): 192 + 32 = маска ''%%255.255.255.224%%''
* Префикс **/28** (4 бита): 224 + 16 = маска ''%%255.255.255.240%%''
В нашей конфигурации ниже мы будем использовать в качестве примера сеть с маской ''%%255.255.255.240%%''.
===== Настройка файла dhcpd.conf =====
Создать зону адресов DHCP:
bash
vim /etc/dnsmasq.conf.d/99-dhcp
Интерфейс и апстрим: Укажите сетевой интерфейс, на котором сервер будет слушать DHCP-запросы, и (при необходимости) вышестоящий DNS-сервер для самого dnsmasq:
server=IP_вышестоящего_DNS
interface=имя_вашего_интерфейса(которому будет раздаваться адресс)
Диапазон выдачи (пул): Какие именно адреса сервер будет отдавать клиентам (от начального до конечного), маска подсети и время аренды (например, 10h или 24h):
dhcp-range=начальный_ip,конечный_ip,ваша_маска_подсети,время_аренды
Шлюз по умолчанию: Адрес роутера (шлюза) для клиентов. Код 3 — это стандартная DHCP-опция для маршрутизатора:
dhcp-option=3,IP_вашего_шлюза
DNS-серверы для клиентов: Адрес DNS, который сервер будет передавать клиентским машинам. Код 6 — это железно опция DNS-сервера:
dhcp-option=6,IP_адрес_DNS_сервера
Локальный домен: Имя домена, которое будет передано клиентам для локального разрешения имён:ами:
domain=ваш_локальный_домен
===== Применение настроек и проверка =====
Включите автоматический запуск DHCP-сервера вместе с ОС и запустите его прямо сейчас:
bash
systemctl enable --now dnsmasq
(Если сервис уже работал и ты просто обновил конфиг — пропиши systemctl restart dnsmasq)
Чтобы убедиться, что сервер корректно раздает адреса, перейдите на клиентскую машину (находящуюся в том же сегменте сети), перезагрузите её или переподнимите сетевой интерфейс, а затем проверьте выданные параметры:
bash (на клиенте)
reboot
# после загрузки:
ip -c a
В выводе команды вы должны увидеть IP-адрес из настроенного пула (от начального до конечного IP).