мета-данные страницы
  •  

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dhcp_guide [2026/06/16 10:29] – [Настройка ISC DHCP Server] kim1rdhcp_guide [2026/06/16 21:55] (текущий) – [Настройка файла dhcpd.conf] kim1r
Строка 3: Строка 3:
  
 В этой статье мы разберем процесс установки и правильной конфигурации классического DHCP-сервера, а также решим частую проблему с порядком запуска служб. В этой статье мы разберем процесс установки и правильной конфигурации классического DHCP-сервера, а также решим частую проблему с порядком запуска служб.
- 
- 
-01 
  
 ===== Установка пакетов ===== ===== Установка пакетов =====
Строка 15: Строка 12:
  
 <code> <code>
-apt-get update && apt-get install -y dhcp-server +apt-get update && apt-get install -y dnsmasq
-</code>+
  
-Copy 
- 
- 
- 
-02 
- 
-===== Синхронизация служб (Ожидание сети) ===== 
- 
- 
-**Важный нюанс:** По умолчанию DHCP-сервер может попытаться привязаться к сетевым интерфейсам до того, как системная утилита (например, ''%%NetworkManager%%'') успеет их инициализировать. Из-за этого DHCP-сервер выдаст ошибку и упадет при запуске системы. 
- 
-Чтобы заставить службу DHCP дожидаться полного поднятия сети, включим системное событие ожидания ''%%network-online%%'': 
- 
-   bash 
- 
-<code> 
-systemctl enable --now NetworkManager-wait-online 
 </code> </code>
  
-Copy 
  
-Далее создадим "переопределение" (override) для системного юнита ''%%dhcpd%%''. Команда ниже откроет редактор: 
- 
-   bash 
- 
-<code> 
-EDITOR=vim systemctl edit dhcpd 
-</code> 
- 
-Copy 
- 
-Вставьте следующие строки в файл (обязательно между комментариями //"Anything between here and the comment below"// и //"Lines below this comment will be discarded"//): 
- 
-   override.conf 
- 
-<code> 
-[Unit] 
-Wants=network-online.target 
-After=network-online.target 
-</code> 
- 
-Copy 
- 
-Сохраните изменения (в vim: ''%%ESC%%'', затем ''%%:wq%%'' и ''%%Enter%%''). 
- 
- 
- 
-03 
  
 ===== Расчет маски подсети ===== ===== Расчет маски подсети =====
Строка 79: Строка 30:
  
 В нашей конфигурации ниже мы будем использовать в качестве примера сеть с маской ''%%255.255.255.240%%''. В нашей конфигурации ниже мы будем использовать в качестве примера сеть с маской ''%%255.255.255.240%%''.
- 
- 
- 
-04 
  
 ===== Настройка файла dhcpd.conf ===== ===== Настройка файла dhcpd.conf =====
  
  
-Откроем главный файл конфигурации DHCP-сервера:+Создать зону адресов DHCP:
  
    bash    bash
  
 <code> <code>
-vim /etc/dhcp/dhcpd.conf+vim /etc/dnsmasq.conf.d/99-dhcp
 </code> </code>
  
-Copy 
  
-Разберем детально, из чего состоит блок настройки зоны (subnet). Подставьте ваши данные вместо шаблонных переменных: +Интерфейс и апстрим: Укажите сетевой интерфейс, на котором сервер будет слушать DHCP-запросы, и (при необходимости) вышестоящий DNS-сервер для самого dnsmasq:
- +
-**Объявление зоны адресов:** Укажите базовый адрес вашей сети и рассчитанную на предыдущем шаге маску: +
- +
-dhcpd.conf+
  
 <code> <code>
-subnet ваш_адрес_сети netmask ваша_маска_подсети {+server=IP_вышестоящего_DNS 
 +interface=имя_вашего_интерфейсаоторому будет раздаваться адресс)
 </code> </code>
  
-Copy 
  
-**Диапазон выдачи (пул):** Какие именно адреса сервер будет отдавать клиентам (от начального до конечного): +Диапазон выдачи (пул): Какие именно адреса сервер будет отдавать клиентам (от начального до конечного), маска подсети и время аренды (например, 10h или 24h):
- +
-dhcpd.conf+
  
 <code> <code>
-    range начальный_ip конечный_ip;+    dhcp-range=начальный_ip,конечный_ip,ваша_маска_подсети,время_аренды
 </code> </code>
  
-Copy 
  
-**Шлюз по умолчанию:** Адрес роутера (шлюза), через который клиенты будут выходить в интернет или другие сети: +Шлюз по умолчанию: Адрес роутера (шлюза) для клиентов. Код 3 — это стандартная DHCP-опция для маршрутизатора:
- +
-dhcpd.conf+
  
 <code> <code>
-    option routers IP_вашего_шлюза;+    dhcp-option=3,IP_вашего_шлюза
 </code> </code>
  
-Copy +DNS-серверы для клиентовАдрес DNS, который сервер будет передавать клиентским машинам. Код 6 — это железно опция DNS-сервера:
- +
-**Локальный домен:** Имя домена, которое будет передано клиентам для локальной маршрутизации имен: +
- +
-dhcpd.conf+
  
 <code> <code>
-    option domain-name "ваш_локальный_домен";+    dhcp-option=6,IP_адрес_DNS_сервера
 </code> </code>
  
-Copy +Локальный доменИмя домена, которое будет передано клиентам для локального разрешения имён:ами:
- +
-**DNS-серверы:** Адрес DNS-сервера (или нескольких через запятую) для разрешения доменных имен клиентами: +
- +
-dhcpd.conf+
  
 <code> <code>
-    option domain-name-servers IP_адрес_DNS_сервера;+    domainаш_локальный_домен
 </code> </code>
  
-Copy 
- 
-**Время аренды:** Базовое и максимальное время (в секундах), на которое выдается IP-адрес устройству: 
- 
-dhcpd.conf 
- 
-<code> 
-    default-lease-time 600; 
-    max-lease-time 3600; 
-} 
-</code> 
- 
-Copy 
- 
- 
- 
-05 
  
 ===== Применение настроек и проверка ===== ===== Применение настроек и проверка =====
Строка 173: Строка 85:
  
 <code> <code>
-systemctl enable --now dhcpd+systemctl enable --now dnsmasq
 </code> </code>
  
-Copy+(Если сервис уже работал и ты просто обновил конфиг — пропиши systemctl restart dnsmasq)
  
 Чтобы убедиться, что сервер корректно раздает адреса, перейдите на клиентскую машину (находящуюся в том же сегменте сети), перезагрузите её или переподнимите сетевой интерфейс, а затем проверьте выданные параметры: Чтобы убедиться, что сервер корректно раздает адреса, перейдите на клиентскую машину (находящуюся в том же сегменте сети), перезагрузите её или переподнимите сетевой интерфейс, а затем проверьте выданные параметры:
Строка 188: Строка 100:
 </code> </code>
  
-Copy 
  
 В выводе команды вы должны увидеть IP-адрес из настроенного пула (от начального до конечного IP). В выводе команды вы должны увидеть IP-адрес из настроенного пула (от начального до конечного IP).
- 
- 
- 
- 
-Nord Admin System Guides © 2026. Powered by Open Source.