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)