Особенности настройки для DHCP-сервера, доступного через DHCP rellay

DHCP-сервер должен иметь маршрут в раздаваемую сеть в своей таблице маршрутизации.

Проверить наличие маршрутов можно командой:

ip route

В выводе команды должны быть строки с маршрутами в сети IP-телефонов:

10.7.0.0/16 via 10.56.1.2 dev net.56 proto static

, где

Установка 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

В выводе во второй строке после пути к сервису указан статус запуска сервиса:

В третьей строке, после слова Active указан текущий статус сервиса:

Пример настройки

Основным файлом конфигурации 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