Особенности настройки для DHCP-сервера, доступного через DHCP rellay
DHCP-сервер должен иметь маршрут в раздаваемую сеть в своей таблице маршрутизации.
Проверить наличие маршрутов можно командой:
ip route
В выводе команды должны быть строки с маршрутами в сети IP-телефонов:
10.7.0.0/16 via 10.56.1.2 dev net.56 proto static
, где
- 10.7.0.0/16 — адрес сети IP-телефонов с маской в сокращенной форме. Адрес не обязательно указывает на специфический адрес каждой сети, но и может указывать на диапазон сетей. Например, в данном примере адрес 10.7.0.0/16 указывает на 256 сетей от 10.7.0.0/24 до 10.7.255.0/24;
- 10.56.1.2 — адрес шлюза, через который доступна сеть IP-телефонов;
- net.56 — имя интерфейса, за которым доступен шлюз.
Установка DHCP-сервера dnsmasq
Dnsmasq — легковесный и быстроконфигурируемый DNS-, DHCP- и TFTP-сервер. Входит в состав большинства Linux-дистрибутивов. Обычно может быть установлен посредством стандартного менеджера пакетов дистрибутива.
Установка dnsmasq для дистрибутивов, использующих формат пакетов deb (Debian, Ubuntu, Astra Linux и т. д.)
Обновите базу данных пакетов:
sudo apt update
Установить пакет dnsmasq командой:
sudo apt install dnsmasq
Сервис dnsmasq активируется и запустится автоматически.
Установка dnsmasq для дистрибутивов, использующих формат пакетов rpm (RedHat, Alma Linux, CentOS, RedOS и т. д.)
Установите пакет dnsmasq командой:
sudo dnf install dnsmasq
Проверка статуса запуска сервиса dnsmasq.service
Проверьте статус запуска сервиса dnsmasq командой:
systemctl status dnsmasq.service
Вывод команды будет примерно следующим:
● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2025-04-18 01:56:43 UTC; 1 week 0 days ago
В выводе во второй строке после пути к сервису указан статус запуска сервиса:
- enabled — сервис активирован. Будет запускаться автоматически при старте системы;
- disabled — сервис деактивирован. Может быть запущен только вручную.
В третьей строке, после слова Active указан текущий статус сервиса:
- active — сервис запущен;
- inactive — сервис остановлен.
Пример настройки
Основным файлом конфигурации dnsmasq является файл /etc/dnsmasq.conf. Для специфических конфигураций, таких как конфигурация DHCP, рекомендуется создавать отдельные файлы в директории /etc/dnsmasq.d/
Пример конфигурационного файла для DHCP:
interface=net.56 # Имя интерфейса, с которого обслуживаются запросы ## Разделение классов вендоров/моделей телефонов по тегам для удобства и быстроты настройки dhcp-vendorclass=set:vpold, VP-12P # здесь vpold - присваиваемый устройству тег, VP-12P - часть значения, получаемого от DHCP-клиента в опции vendor class, по которому фильтруются телефоны dhcp-vendorclass=set:vpold, VP-15P dhcp-vendorclass=set:vpnew, VP-17P dhcp-vendorclass=set:vpnew, VP-20P dhcp-vendorclass=set:vpnew, VP-30P dhcp-vendorclass=set:cisco, Cisco dhcp-vendorclass=set:yealink, Yealink dhcp-vendorclass=set:avaya, ccp.avaya.com ### Настройка ответа DHCP-сервера ## Диапазоны IP-адресов, которые сервер будет выдавать клиенту: dhcp-range=set:net7fd,10.7.0.10,10.7.0.254,255.255.255.0,4h # net7fd - присваивается дополнительный тэг. Далее используется для назначения шлюза по умолчанию # 10.7.0.10 - начальный адрес диапазона; # 10.7.0.254 - конечный адрес диапазона; # 255.255.255.0 - маска подсети; # 4h - время аренды IP-адреса dhcp-range=set:net7fe,10.7.254.5,10.7.254.254,255.255.255.0,4h # Ещё одна сеть телефонов dhcp-range=set:loc,10.56.1.150,10.56.1.200,255.255.255.0,14h # Некая сеть не для телефонов. Например, просто офисная сеть ## Сетям назначаются шлюзы по умолчанию. Каждой свой. Ориентируясь на тэг dhcp-option=tag:net7fe,3,10.7.0.1 # net7fe - Ранее присвоенный тэг. Если тэг не совпал, опция не будет передана этому клиенту # 3 - Номер DHCP опции. 3 - шлюз по умолчанию # 10.7.253.1 - Значение опции. В данном случае адрес шлюз по умолчанию dhcp-option=tag:net7fe,3,10.7.254.1 # Аналогично для следующей сети dhcp-option=tag:loc,3,10.56.1.1 # И для офисной сети ## Назначение опций не зависящих от конкретной сети. Адреса DNS, NTP серверов. Имени домена dhcp-option=4,10.56.1.1 # timeservers dhcp-option=6,10.56.1.1 # DNS dhcp-option=15,voip.eltex-co.ru # domain dhcp-option=42,10.56.1.1 # NTP dhcp-option=101,"Asia/Novosibirsk" # Timezone ## Назначение параметров подключения к Autoprovision в зависимости от вендора #Eltex VP-12/15 dhcp-option=tag:vpold,43,5|http://10.0.20.13|6|$MAC.yaml|7|firmware.tar.gz|9|Manifest # DHCP опция 43 для ТА VP-12/15, где 10.0.20.13 - ip AUP #Eltex VP-17/20 dhcp-option=tag:vpnew,43,5|http://10.0.20.13|6|$MAC.json|7|firmware.tar.gz|9|Manifest # DHCP опция 43 для ТА VP-17/20, где 10.0.20.13 - ip AUP #Yealink dhcp-option=tag:yealink,66,http://10.0.20.13 # DHCP опция 66 для ТА Yealink, где 10.0.20.13 - ip AUP #Cisco dhcp-option=tag:cisco,66,10.0.20.13 # DHCP опция 66 для ТА Cisco, в которой указывается адрес или DNS-имя TFTP-сервера, он же адрес AUP #AVAYA dhcp-option=tag:avaya,242,HTTPSRVR=10.0.20.13 # DHCP опция 242 для ТА AVAYA, где 10.0.20.13 - ip AuP dhcp-leasefile=/var/log/dnsmasq/dnsmasq.leases # Путь к файлу, где будет отображаться информация о выданных в аренду адресах dhcp-authoritative log-dhcp log-queries # Включение подробного журналирования работы DHCP-сервера. После успешной настройки рекомендуется отключать, т. к. записывает значительный объём в файл журнала
Запуск DHCP-сервера dnsmasq
После изменения конфигурационного файла перезапустите сервис dnsmasq. Команда перезапуска:
sudo systemctl restart dnsmasq.service