Администрирование

Настройка DHCP Relay на Linux Ubuntu

Введение

В корпоративных сетях выделение IP-адресов часто централизовано. Когда DHCP-сервер находится в отдельном сегменте, а клиенты разнесены по VLAN, широковещательные запросы блокируются маршрутизаторами. Решение — настройка DHCP-ретранслятора на промежуточном узле. Статья охватывает практическую реализацию на базе Ubuntu Linux с учетом особенностей маршрутизации сети.

Принцип работы агента

Клиент отправляет DHCPDISCOVER на 255.255.255.255. Агент перехватывает кадр, добавляет опцию 82 и пересылает сообщение на UDP-порт 67 сервера. Ответ возвращается на порт 68 агента, который транслирует его клиенту. Это исключает необходимость разворачивания серверной службы в каждом сегменте.

Установка и конфигурация

Для Ubuntu используется пакет isc-dhcp-relay. Инсталляция выполняется через apt. Основной файл настроек: /etc/default/isc-dhcp-relay. Здесь задаются интерфейсы прослушивания и адрес сервера.

Параметр Описание Значение
INTERFACES Интерфейсы для прослушивания «eth0 eth1»
SERVERS IP-адреса серверов «192.168.10.1»
PAYLOAD_LENGTH Лимит размера UDP-пакета 575
# /etc/default/isc-dhcp-relay
INTERFACES="eth0 eth1"
SERVERS="192.168.10.1"
OPTIONS=""
PAYLOAD_LENGTH=575

После редактирования файла активируйте службу. Для отказоустойчивости укажите несколько серверов через пробел. При использовании VLAN-интерфейсов пропишите их теги напрямую.

sudo systemctl enable isc-dhcp-relay
sudo systemctl restart isc-dhcp-relay
sudo systemctl status isc-dhcp-relay

Отладка и анализ

Статус работы DHCP-ретранслятора проверяйте через journalctl. Для анализа обмена используйте Wireshark с фильтром udp port 67 or udp port 68. Если пакеты не проходят, проверьте ACL, правила FORWARD в iptables и параметр net.ipv4.ip_forward=1 на маршрутизаторе. Корректная маршрутизация сети критична для доставки ответов.

Вопрос-ответ (FAQ)

Как включить опцию 82?

Добавьте RELAY_OPTIONS=»-o» в /etc/default/isc-dhcp-relay и перезапустите службу. Агент начнет вставлять информацию о ретрансляции в заголовок пакета.

Почему клиенты не получают адреса?

Проверьте доступность UDP-портов 67/68 на фаерволе и маршрутизацию между сегментами. Убедитесь, что сервер имеет свободные адреса в пуле для целевой подсети и принимает запросы от ретранслятора.

Подходит ли Kea для ретрансляции?

Kea DHCP поддерживает модуль relay, однако на Ubuntu Linux классический isc-dhcp-relay остается предпочтительным решением благодаря стабильности и низкому потреблению ресурсов.

Читать далее

Настройка DHCP сервера на Linux Ubuntu Server

Введение

Протокол DHCP автоматизирует распределение IP-адресов и сетевых параметров, что критически важно при масштабировании инфраструктуры. На базе Linux Ubuntu разворачивается надежный и легкий DHCP-сервер, полностью соответствующий стандартам RFC. Грамотная настройка сети на этом этапе исключает конфликты адресов, минимизирует ручной труд и обеспечивает стабильную работу клиентских станций в корпоративной среде.

Установка и базовая конфигурация

Процесс установки DHCP-сервера Ubuntu сводится к работе с пакетным менеджером APT. Рекомендуется использовать пакет isc-dhcp-server, который является отраслевым стандартом для UNIX-систем. После инсталляции необходимо явно указать сетевой интерфейс, на котором служба будет перехватывать трафик.

sudo apt update
sudo apt install isc-dhcp-server -y
sudo nano /etc/default/isc-dhcp-server
# Интерфейс:
INTERFACESv4="eth0"

Настройка пула и резервирование

Основной конфигурационный файл находится в /etc/dhcp/dhcpd.conf. Здесь определяется подсеть, диапазон выдачи и параметры маршрутизации. Для закрепления IP за конкретным оборудованием используется директива host с привязкой по MAC-адресу. Важно вынести статические адреса за пределы динамического пула, чтобы избежать коллизий.

subnet 192.168.10.0 netmask 255.255.255.0 {
  range 192.168.10.100 192.168.10.200;
  option routers 192.168.10.1;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  default-lease-time 600;
  max-lease-time 7200;

  host printer-server {
    hardware ethernet 00:11:22:33:44:55;
    fixed-address 192.168.10.50;
  }
}

Запуск и диагностика

После сохранения конфигурации проверяем синтаксис и перезапускаем службу. Лог-файл находится в /var/log/syslog. Для контроля состояния используйте стандартные утилиты Linux. Брандмауэр должен разрешать входящий UDP-трафик на портах 67 (сервер) и 68 (клиент).

sudo systemctl enable isc-dhcp-server
sudo systemctl restart isc-dhcp-server
sudo journalctl -u isc-dhcp-server -f

Ключевые директивы конфигурации

Директива Описание Рекомендуемое значение
range Диапазон динамических адресов Не перекрывать статические пулы
fixed-address Статическая привязка для хоста Вне диапазона range
option routers Шлюз по умолчанию IP-адрес интерфейса сервера
default-lease-time Время аренды (сек) 600-3600

Вопрос-ответ (FAQ)

Как проверить конфигурацию перед запуском?

Используйте утилиту dhcpd -t для проверки синтаксиса или запустите службу в режиме отладки с флагом -d, чтобы увидеть ошибки в реальном времени.

Что делать, если клиенты не получают адреса?

Проверьте, что брандмауэр ufw пропускает UDP-порты 67 и 68. Убедитесь, что в /etc/default/isc-dhcp-server указан правильный сетевой интерфейс, а служба имеет статус active (running).

Можно ли использовать этот сервер в продакшене?

Да, ISC DHCP полностью стабилен для рабочих сред. Для повышения отказоустойчивости рекомендуется настроить кластер из двух узлов с разделением пулов или рассмотреть переход на kea-dhcp для крупных инфраструктур.

Читать далее

Настройка NAT и DHCP в домашней сети на Linux

Введение

Профессиональная настройка NAT, DHCP в Linux позволяет создать надежную и гибкую домашнюю сеть без покупки коммерческого оборудования. В основе решения лежат два ключевых сервиса: DHCP-сервер для автоматической выдачи IP-адресов и NAT-сервер для маршрутизации трафика между локальной сетью и интернетом. Рассмотрим практический подход на базе Debian/Ubuntu с упором на стабильность и безопасность.

Подготовка системы и сетевых интерфейсов

Для работы потребуется два сетевых интерфейса: eth0 (WAN) для подключения к провайдеру и eth1 (LAN) для внутренней сети. Назначьте статические адреса, например, 192.168.1.1/24 для LAN. Сначала активируем переадресацию пакетов на уровне ядра, чтобы система могла пересылать пакеты между сетями.

sudo sysctl -w net.ipv4.ip_forward=1
# Сохраняем настройку в /etc/sysctl.d/99-ipforward.conf
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-ipforward.conf

Раздача адресов: настройка DHCP

В отличие от проприетарных решений, Linux предлагает несколько вариантов. Для десктопных дистрибутивов оптимально использовать isc-dhcp-server, а для embedded-систем часто применяют udhcpd из BusyBox. Ниже приведен базовый конфиг для isc-dhcp-server.

sudo apt install isc-dhcp-server
# /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  option domain-name-servers 8.8.8.8, 1.1.1.1;
  default-lease-time 600;
  max-lease-time 7200;
}

Запускаем службу и привязываем её к LAN-интерфейсу в /etc/default/isc-dhcp-server (INTERFACESv4=»eth1″). Не забудьте перезапустить сервис после правок конфигурации.

Маршрутизация и NAT

Теперь настроим NAT-сервер через iptables. Правило masquerade автоматически подставит IP WAN-интерфейса в исходящие пакеты, скрывая внутреннюю топологию от внешнего мира.

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Для сохранения правил после перезагрузки используйте iptables-persistent или мигрируйте на nftables. Включите защиту от IP-spoofing, добавив net.ipv4.conf.all.rp_filter=1 в sysctl.

Сравнение подходов

Компонент isc-dhcp-server udhcpd dnsmasq
Назначение Стандартный сервер Встроенный в BusyBox Легковесный шлюз
Потребление RAM ~15-20 МБ ~2 МБ ~5 МБ
Сложность настройки Средняя Низкая Низкая
Поддержка DHCPv6 Да Нет Да

Итоги

Самостоятельная настройка NAT, DHCP в Linux дает полный контроль над сетью, безопасность и отсутствие вендор-локов. Правильно подобранный DHCP-сервер и NAT-сервер обеспечивают стабильную работу домашней сети даже на старом железе. Регулярно обновляйте правила брандмауэра и мониторьте логи /var/log/syslog для оперативного выявления сбоев.

Вопрос-ответ (FAQ)

Как проверить, работает ли переадресация пакетов?

Выполните cat /proc/sys/net/ipv4/ip_forward. Значение 1 означает активацию. Также проверьте доступность шлюза из LAN-хоста командой ping 8.8.8.8.

Что делать, если клиенты не получают IP-адреса?

Убедитесь, что служба DHCP запущена и привязана к правильному интерфейсу. Проверьте брандмауэр: порт UDP 67 должен быть открыт для входящих запросов на LAN-адаптере.

Можно ли использовать Netplan вместо interfaces?

Да, в современных Ubuntu Netplan управляет конфигурацией через YAML. Однако для настройки DHCP и NAT на уровне ядра и iptables это не влияет, так как сервисы работают поверх сетевого стека.

Читать далее

Настройка резервного контроллера домена в AD

Введение

Отказ основного контроллера домена способен парализовать аутентификацию и блокировать работу корпоративных сервисов. Настройка резервного контроллера в Active Directory является критическим этапом проектирования отказоустойчивой инфраструктуры. Правильно организованный узел обеспечивает непрерывность доступа, корректное применение групповых политик и стабильную репликацию объектов каталога между сайтами.

Требования и подготовка окружения

Установка роли на Windows Server 2025 или 2022 не имеет принципиальных отличий от предыдущих версий ОС. Сервер должен иметь статический IPv4-адрес, корректно настроенные DNS-записи и синхронизацию времени по NTP. Критически важно проверить сетевую связность: фаерволы не должны блокировать порты TCP/UDP 53, 88, 135, 389, 445, 464, 636, 3268, 3269.

Компонент Основной DC Резервный контроллер
FSMO-роли Все 5 ролей Отсутствуют (по умолчанию)
Служба DNS Авторитетная Зеркальная зона AD
Синхронизация Исток изменений Пассивный репликатор
Резервное копирование Системное состояние Системное состояние

Развертывание и проверка топологии

Запустите мастер Server Manager или используйте PowerShell для автоматизации. Команда ниже инициирует промотацию и настраивает репликацию с существующим источником.

Install-ADDSDomainController -NoGlobalCatalog:$false -Credential (Get-Credential) -DomainName "corp.local" -InstallDns:$true -SafeModeAdministratorPassword (ConvertTo-SecureString "Str0ng!Pass#2025" -AsPlainText -Force) -Force:$true

После перезагрузки проверьте статус синхронизации через repadmin /showrepl. Задержки репликации более 15 минут требуют внимания. Для мониторинга используйте Event Viewer (лог Microsoft-Windows-DirectoryService) или скрипты проверки кодов 1311, 1988. В случае аварии резервный контроллер автоматически примет недостающие FSMO-роли, обеспечивая непрерывность работы Active Directory. Рекомендуется настроить мониторинг задержек и периодическое тестовое переключение ролей.

Вопрос-ответ (FAQ)

Вопрос 1: Можно ли назначить FSMO-роли резервному контроллеру?

Ответ 1: Да, это стандартная практика для балансировки нагрузки. Роли можно перенести вручную через PowerShell или оснастку Перенос ролей.

Вопрос 2: Как восстановить данные после удаления основного DC?

Ответ 2: Используйте инструмент NTDSUTIL для проведения авторитетного восстановления (Authoritative Restore) или восстановите из бэкапа с помощью Windows Server Backup.

Вопрос 3: Требуется ли отдельная лицензия на резервный сервер?

Ответ 3: Нет, если сервер работает в рамках существующей лицензии на виртуализацию или физическое оборудование, но требует CAL для каждого пользователя/устройства.

Читать далее

Как защитить DHCP сервер от несанкционированного доступа

Введение

Протокол DHCP критичен для автоматической выдачи IP-адресов, но его уязвимость к несанкционированному доступу делает его приоритетной мишенью. Злоумышленники истощают пулы, разворачивают поддельные серверы или перехватывают трафик. Грамотная настройка безопасности DHCP требует комплексного подхода на уровне сети, ОС и политик доступа.

Основные векторы атак

Атака истощения (DHCP Starvation) генерирует тысячи Discover-пакетов, исчерпывая доступные адреса и вызывая DoS. Rogue-серверы выдают вредоносные DNS и шлюзы для MITM-атак. Управление scope-ами и пулами должно строго следовать принципу наименьших привилегий, чтобы исключить расширение адресного пространства несанкционированными пользователями.

Сетевые механизмы защиты

Базовая защита сервера обеспечивается на уровне L2-коммутации. DHCP Snooping фильтрует неавторизованные DHCP-сообщения, разделяя порты на доверенные и недоверенные. В связке с IP Source Guard и Dynamic ARP Inspection функции блокируют подмену MAC/IP и ARP-спуфинг, гарантируя легитимность маршрутизации и целостность таблиц ARP.

Угроза Метод противодействия Уровень реализации
DHCP Starvation Rate Limiting, Snooping Коммутатор
Rogue DHCP Доверенные порты, Source Guard Коммутатор
Несанкционированный доступ к пулам Least Privilege, сегментация ОС / AD
ARP Spoofing Dynamic ARP Inspection Коммутатор

Примеры конфигурации

В ISC DHCP Server отключите выдачу адресов незнакомым клиентам и укажите authoritative режим:

authoritative;
deny unknown-clients;
subnet 192.168.10.0 netmask 255.255.255.0 {
    range 192.168.10.100 192.168.10.200;
    option routers 192.168.10.1;
    option domain-name-servers 8.8.8.8;
    max-lease-time 86400;
}

Настройка коммутатора Cisco для фильтрации и лимитирования:

interface GigabitEthernet0/1
ip dhcp snooping trust
interface GigabitEthernet0/2
ip dhcp snooping limit rate 100
ip verify source port-security

Интеграция с Active Directory

Корпоративная безопасность DHCP неразрывно связана с Active Directory. Авторизация DHCP-серверов в AD блокирует запуск Rogue-узлов в домене. Разделение прав доступа к консоли управления и реестру минимизирует инсайдерские риски. Регулярный аудит журналов событий и анализ DORA-трафика в Wireshark позволяют оперативно фиксировать аномалии и реагировать на инциденты в реальном времени.

Вопрос-ответ (FAQ)

Как быстро определить Rogue DHCP-сервер в сети?

Используйте сканирование UDP-портов 67/68 и анализ MAC-адресов производителей. Включение DHCP Snooping автоматически блокирует ответы от недоверенных портов коммутатора.

Влияет ли включение Snooping на производительность сети?

Минимально. Современные коммутаторы обрабатывают контроль на уровне ASIC. Правильный расчет лимитов пакетов (rate limiting) предотвращает перегрузку CPU.

Обязательно ли настраивать отказоустойчивость DHCP?

Да, используйте Failover-кластеры (Hot Standby или Load Balance). Шифруйте канал синхронизации и ограничивайте доступ к резервным узлам строгими ACL.

Читать далее