Основы компьютерных сетей #20 — Как настроить DHCP Relay в Cisco IOS

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.