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

DHCP Snooping — позволяет предотвратить работу чужих DHCP серверов в вашей сети. На коммутаторе вы можете разделить порты на доверенные, за какими может быть DHCP сервер и недоверенные, на которых DHCP фильтруется. Рассмотрим его работу на практике

В качестве DHCP серверов будем использовать обычные маршрутизаторы Cisco.

DHCP Server

Router#conf t
Router(config)#hostname DHCP_Server
DHCP_Server(config)#int e0/0
DHCP_Server(config-if)#ip address 192.168.10.1 255.255.255.0
DHCP_Server(config-if)#no shutdown
DHCP_Server(config-if)#exit
DHCP_Server(config)#ip dhcp excluded-address 192.168.10.1 // исключаем сервер1
DHCP_Server(config)#ip dhcp excluded-address 192.168.10.2 // исключаем сервер 2
DHCP_Server(config)#ip dhcp excluded-address 192.168.10.3 192.168.10.10 // исключаем пул ложного сервера чтобы понять от кого получили адрес
DHCP_Server(config)#ip dhcp pool LEGAL
DHCP_Server(dhcp-config)#network 192.168.10.0 255.255.255.0
DHCP_Server(dhcp-config)#default-router 192.168.10.1
DHCP_Server(dhcp-config)#exit
DHCP_Server(config)#exit
DHCP_Server#wr mem

Hacker DHCP

Router#conf t
Router(config)#hostname Hacker_DHCP
Hacker_DHCP(config)#int e0/0
Hacker_DHCP(config-if)#no shutdown
Hacker_DHCP(config-if)#ip address 192.168.10.2 255.255.255.0
Hacker_DHCP(config-if)#exit
Hacker_DHCP(config)#ip dhcp excluded-address 192.168.10.1
Hacker_DHCP(config)#ip dhcp excluded-address 192.168.10.2
Hacker_DHCP(config)#ip dhcp excluded-address 192.168.10.11 192.168.10.20
Hacker_DHCP(config)#ip dhcp pool HACKER
Hacker_DHCP(dhcp-config)#network 192.168.10.0 255.255.255.0
Hacker_DHCP(dhcp-config)#default-router 192.168.10.2
Hacker_DHCP(dhcp-config)#exit
Hacker_DHCP(config)#exit
Hacker_DHCP#wr mem

Попробуем получить IP адрес

PC> ip dhcp
DDORA IP 192.168.10.11/24 GW 192.168.10.1

Мы получили его от легального DHCP сервера

Попробуем еще раз

PC> ip dhcp
DORA IP 192.168.10.3/24 GW 192.168.10.2

Как видите, IP адрес получен от несанкционированного DHCP сервера

Настроим DHCP Snooping

S1

S#conf t
S(config)#hostname S1
S1(config)#ip dhcp snooping vlan 1
S1(config)#int e0/0
S1(config-if)#ip dhcp snooping trust
S1(config-if)#exit
S1(config)#exit
S1#wr mem

Проверим

PC1> ip dhcp
DORA IP 192.168.10.11/24 GW 192.168.10.1

PC2> ip dhcp
DORA IP 192.168.10.12/24 GW 192.168.10.1

PC3> ip dhcp
DORA IP 192.168.10.13/24 GW 192.168.10.1

Полезные команды

sh ip dhcp snooping

sh ip dhcp snooping binding

ВАЖНО

Если вы делаете лабу в EVE-NG или GNS на виртуальных образах, и dhcp snooping не заработал, а вы уверены, что все настроено правильно, возможно дело в этом. Новых версий это может не касаться, но если все настроили и перепроверили, а физической железки нет, возможно поможет.

Not supported/working on Layer 3 IOL (Linux)

Multicast with BSR
NTP Authentication
PPPoE (working on 12.4, and 15.2(2.3)T)
Routing loops (IOL will crash)

Not supported/working on Layer 2 IOL (Linux)

802.1q Tunneling
Cisco ISL trunks
DHCP Snooping
HSRP address not pingable
L2 PortChannel (not working on 12.2, working on 15.0)
L3 PortChannel
NVI NAT (classic NAT works on TPGEN images only)
PVLAN
QinQ
Routing loops (IOL will crash)
SPAN/RSPAN/ERSPAN
VTP version 2 (VTP version 1 works)