Данный функционал доступен в версии ПО 1.28.1 и выше.


Задача:

Необходимо настроить DHCP для раздачи нескольких DHCP-пулов с одного интерфейса.


Решение:

Создадим зону безопасности «LAN» и установим принадлежность к интерфейсу:

esr(config)# security zone LAN
esr(config-security-zone)# exit
esr(config)# int gigabitethernet 1/0/1
esr(config-if-gi)# security-zone LAN 

Создадим несколько пул-адресов "LAN1-LAN3" и укажем следующие параметры:

esr(config)# ip dhcp-server pool LAN1
esr(config-dhcp-server)# network 10.0.1.0/24
esr(config-dhcp-server)# address-range 10.0.1.100-10.0.1.155
esr(config-dhcp-server)# default-lease-time 1:00:00
esr(config-dhcp-server)# domain-name "eltex.loc"
esr(config-dhcp-server)# default-router 10.0.1.1
esr(config-dhcp-server)# dns-server 172.16.0.1,8.8.8.8

esr(config)# ip dhcp-server pool LAN2
esr(config-dhcp-server)# network 10.10.10.0/29
esr(config-dhcp-server)# address-range 10.10.10.2-10.10.10.5
esr(config-dhcp-server)# default-lease-time 1:00:00
esr(config-dhcp-server)# domain-name "eltex.loc"
esr(config-dhcp-server)# default-router 10.10.10.1
esr(config-dhcp-server)# dns-server 172.16.0.1,8.8.8.8

esr(config)# ip dhcp-server pool LAN3
esr(config-dhcp-server)# network 192.168.0.0/20
esr(config-dhcp-server)# address-range 192.168.1.100-192.168.1.155
esr(config-dhcp-server)# default-lease-time 1:00:00
esr(config-dhcp-server)# domain-name "eltex.loc"
esr(config-dhcp-server)# default-router 192.168.0.1
esr(config-dhcp-server)# dns-server 172.16.0.1,8.8.8.8

В каком порядке dhcp пулы созданы, в таком порядке и будут выдаваться IP-адреса. В данной конфигурации, сначала будут выдаваться IP-адреса из пула LAN1, после того как IP-адреса в пуле LAN1 закончатся, будут выдаваться IP-адреса из пула LAN2.

Чтобы DHCP-сервер мог выдавать IP-адреса из настроенного пула, на маршрутизаторе необходимо создать IP-интерфейс, который будет принадлежать той же подсети, что и адреса из пула. В нашем случае на интерфейсе будут добавлены три адреса, для трех адрес-пулов:

esr(config)# int gigabitethernet 1/0/1
esr(config-if-gi)# ip address 10.0.1.1/24
esr(config-if-gi)# ip address 10.10.10.1/29 secondary 
esr(config-if-gi)# ip address 192.168.0.1/20 secondary 

Для разрешения прохождения сообщений протокола DHCP к серверу необходимо создать соответствующие профили портов, включающие порт источника 68 и порт назначения 67, используемые протоколом DHCP, и создать разрешающее правило в политике безопасности для прохождения пакетов протокола UDP:

esr# config
esr(config)# security zone-pair LAN self 
esr(config-security-zone-pair)# rule 10
esr(config-security-zone-pair-rule)# match protocol udp 
esr(config-security-zone-pair-rule)# match source-port port-range 68
esr(config-security-zone-pair-rule)# match destination-port port-range 67
esr(config-security-zone-pair-rule)# action permit 
esr(config-security-zone-pair-rule)# enable 

Включим DHCP-Server:

esr(config)# ip dhcp-server
esr(config)# exit

Просмотреть список арендованных адресов можно с помощью команды: 

esr# show ip dhcp binding 
IP address         MAC / Client ID                                                 Binding type   Lease expires at       
----------------   -------------------------------------------------------------   ------------   --------------------   
10.0.1.100         50:8b:a6:02:e1:00                                               active         2025-04-23 08:59:30    

Просмотреть сконфигурированные пулы адресов можно командами:

esr# show ip dhcp server pool LAN1
Name:                        LAN1
Domain name:                 eltex.loc
Network:                     10.0.1.0/24
Address-ranges:              10.0.1.100-10.0.1.155
Default-router:              10.0.1.1
Dns-server:                  172.16.0.1
                             8.8.8.8
Max lease time (d:h:m):      001:00:00
Default lease time (d:h:m):  001:00:00