DHCP Relay — сетевой механизм, который позволяет передавать запросы от клиентов DHCP к серверу DHCP, находящемуся в другой подсети.

R1 e0/0 — 1.1.1.1/30
e0/1 — 2.2.2.1/30
R2 e0/0 — 1.1.1.2/30
e1/0 — 192.168.10.1/30
R3 e0/0 — 2.2.2.2/30
e1/0 — 192.168.20.1/30
R1
R1#conf t
R1(config)#int e0/0
R1(config-if)#no shutdown
R1(config-if)#ip address 1.1.1.1 255.255.255.252
R1(config-if)#exit
R1(config)#int e0/1
R1(config-if)#no shutdown
R1(config-if)#ip address 2.2.2.1 255.255.255.252
R1(config-if)#exit
R1(config)#ip dhcp excluded-address 192.168.10.1
R1(config)#ip dhcp excluded-address 192.168.20.1
R1(config)#ip dhcp pool R2
R1(dhcp-config)#network 192.168.10.0 255.255.255.0
R1(dhcp-config)#default-router 192.168.10.1
R1(dhcp-config)#exit
R1(config)#ip dhcp pool R3
R1(dhcp-config)#network 192.168.20.0 255.255.255.0
R1(dhcp-config)#default-router 192.168.20.1
R1(dhcp-config)#exit
R1(config)#router eigrp 10 // сети 192.168.10.0 и 192.168.20.0 должны быть в таблице маршрутизации на R1, который выступает в роли DHCP сервера, так как он получает пакеты от R2 и R3, в которых адрес источника будет 192.168.10.1 и 192.168.20.1 соответственно. Для удобства я выбрал EIGRP
R1(config-router)#network 1.1.1.0
R1(config-router)#network 2.2.2.0
R1(config-router)#exit
R1(config)#exit
R1#wr mem
R2
R2#conf t
R2(config)#int e0/0
R2(config-if)#no shutdown
R2(config-if)#ip address 1.1.1.2 255.255.255.252
R2(config-if)#exit
R2(config)#int e1/0
R2(config-if)#no shutdown
R2(config-if)#ip address 192.168.10.1 255.255.255.0
R2(config-if)#exit
R2(config)#router eigrp 10
R2(config-router)#network 1.1.1.0
R2(config-router)#network 192.168.10.0
R2(config-router)#exit
R2(config)#int e1/0
R2(config-if)#ip helper-address 1.1.1.1 // Настроим DHCP Relay. Мы выбираем те интерфейсы, на которые приходит широковещательный запрос от DHCP клиентов.
R2(config-if)#exit
R2(config)#exit
R2#wr mem
R3
R3#conf t
R3(config)#int e0/1
R3(config-if)#no shutdown
R3(config-if)#ip address 2.2.2.2 255.255.255.252
R3(config-if)#exit
R3(config)#int e1/0
R3(config-if)#no shutdown
R3(config-if)#ip address 192.168.20.1 255.255.255.0
R3(config-if)#exit
R3(config)#router eigrp 10
R3(config-router)#network 2.2.2.0
R3(config-router)#network 192.168.20.0
R3(config-router)#exit
R3(config)#int e1/0
R3(config-if)#ip helper-address 2.2.2.1
R3(config-if)#exit
R3(config)#exit
R3#wr mem
Проверяем
R1#sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
192.168.10.2 0100.5079.6668.11 Feb 09 2024 06:44 PM Automatic
192.168.10.3 0100.5079.6668.0f Feb 09 2024 06:44 PM Automatic
192.168.20.2 0100.5079.6668.10 Feb 09 2024 06:49 PM Automatic

На скриншоте выше, то о чем говорил ранее. Наш DHCP сервер, роль которого выполняет R1, смотрит на адрес источника и решает, к какому пулу относится запрос. Соответственно, как мы настраивали ранее, для 192.168.10.1 это будет R2, для 192.168.20.1 это будет R3.