Задание №9: Настройка DHCP-сервера для клиентов (HQ-CLI)
В данном задании настраивается автоматическая выдача сетевых настроек для клиентских рабочих станций главного офиса (HQ-CLI в сегменте VLAN 200) с помощью легковесного сервиса dnsmasq, развёрнутого на маршрутизаторе HQ-RTR.
Место выполнения
Все основные настройки выполняются на маршрутизаторе HQ-RTR (hq-rtr.au-team.irpo).
1. Теоретическая справка: особенности dnsmasq в ALT Linux
1. Почему port=0?
Пакет dnsmasq умеет работать одновременно и как DNS-кэш, и как DHCP-сервер. В нашем задании за корпоративный DNS будет отвечать полноценный сервер BIND на машине HQ-SRV. Директива port=0 полностью отключает модуль DNS, оставляя работать исключительно чистый DHCP-сервер.
2. Зачем нужен AUTO_LOCAL_RESOLVER=no?
В дистрибутивах ALT Linux служба dnsmasq по умолчанию пытается перехватить управление файлом /etc/resolv.conf, прописывая туда 127.0.0.1. Директива AUTO_LOCAL_RESOLVER=no в файле /etc/sysconfig/dnsmasq запрещает службе вмешиваться в системные настройки DNS.
3. Стандартные номера опций DHCP (RFC 2132):
- Опция 3 (
dhcp-option=3,...) — адрес маршрутизатора по умолчанию (Router / Default Gateway). - Опция 6 (
dhcp-option=6,...) — адрес сервера доменных имён (Domain Name Server).
Шаг 1. Установка dnsmasq и переключение DNS на HQ-RTR
Маршрутизатор HQ-RTR переводится с внешнего DNS на внутренний корпоративный сервер главного офиса HQ-SRV (192.168.100.2):
# 1. Устанавливаем пакет dnsmasq:
apt-get install dnsmasq -y
# 2. Удаляем старый внешний резолвер с внешнего порта enp7s1:
rm -f /etc/net/ifaces/enp7s1/resolv.conf
# 3. Назначаем корпоративный DNS (HQ-SRV) и суффикс au-team.irpo на внутренний интерфейс vlan100:
echo $'search au-team.irpo\nnameserver 192.168.100.2' > /etc/net/ifaces/vlan100/resolv.confШаг 2. Настройка конфигурации DHCP-сервера
Отключаем авто-резолвер в системном конфигурационном файле:
# 1. Отключаем подмену локального DNS:
sed -i 's/AUTO_LOCAL_RESOLVER=yes/AUTO_LOCAL_RESOLVER=no/' /etc/sysconfig/dnsmasq ; grep AUTO_LOCAL_RESOLVER /etc/sysconfig/dnsmasqОткрываем конфигурационный файл dnsmasq:
# 2. Редактируем конфигурацию:
nano /etc/dnsmasq.confВставляем следующие параметры:
port=0
interface=vlan200
listen-address=192.168.200.1
dhcp-authoritative
dhcp-range=interface:vlan200,192.168.200.2,192.168.200.2,255.255.255.240,6h
dhcp-option=3,192.168.200.1
dhcp-option=6,192.168.100.2
leasefile-roБыстрая запись через cat
cat << 'EOF' > /etc/dnsmasq.conf
port=0
interface=vlan200
listen-address=192.168.200.1
dhcp-authoritative
dhcp-range=interface:vlan200,192.168.200.2,192.168.200.2,255.255.255.240,6h
dhcp-option=3,192.168.200.1
dhcp-option=6,192.168.100.2
leasefile-ro
EOFРазбор параметров конфигурации:
port=0— выключает встроенный DNS-сервер.interface=vlan200— принимать DHCP-запросы только из клиентской сети VLAN 200.listen-address=192.168.200.1— IP-адрес шлюза на интерфейсеvlan200.dhcp-authoritative— указывает, что данный сервер является единственным и авторитетным в сегменте (ускоряет аренду).dhcp-range=...— пул выдачи адресов (исключая адрес самого роутера.1), маска подсети и время аренды (6h= 6 часов).dhcp-option=3,192.168.200.1— выдавать клиентам адрес шлюза HQ-RTR.dhcp-option=6,192.168.100.2— выдавать клиентам корпоративный DNS-сервер HQ-SRV.leasefile-ro— предотвращает ошибки записи базы аренды.
Шаг 3. Запуск службы и обновление сети
# 1. Включаем автозапуск и стартуем dnsmasq с одновременной проверкой порта 67:
systemctl enable --now dnsmasq ; ss -lun | grep 67
# 2. Перезапускаем сетевую подсистему для применения нового DNS:
systemctl restart network
# 3. Проверяем обновленный резолвер:
cat /etc/resolv.confШаг 4. Проверка работоспособности (Верификация)
1. Проверка прослушивания порта DHCP на HQ-RTR:
ss -lun | grep 67Что должны увидеть: порт 67/udp находится в состоянии прослушивания (UNCONN), привязанный к адресу 192.168.200.1:67.
2. Проверка системного DNS на HQ-RTR:
cat /etc/resolv.confОжидаемый вывод:
search au-team.irpo
nameserver 192.168.100.23. Проверка получения адреса клиентом HQ-CLI:
Перейдите в консоль клиентской машины HQ-CLI (в Proxmox сетевой адаптер должен иметь VLAN Tag: 200):
# Перезапускаем сеть на клиенте для запроса аренды по DHCP:
systemctl restart network
# Проверяем полученный IP-адрес:
ip -c --br aКлиент должен автоматически получить IP-адрес из диапазона 192.168.200.x и маршрут по умолчанию через 192.168.200.1.
