DHCP监听可以防范利用DHCP发起的多种攻击行为,如DHCP中间人攻击,伪造多台设备耗尽地址池
DHCP监听允许可信端口上的所有DHCP消息,但是却过滤非可信端口上的DHCP消息,DHCP监听还会在非可信端口上检查DHCP客户端消息
ip dhcp snooping vlan 为一个或多个vlan启用DHCP监听
ip dhcp snooping trust 在接口上启用或禁用信任
ip dhcp snooping binding (mac) vlan (vlan-id)(ip)int(int-id)expiry (seconds) 向DHCP监听绑定表添加静态表项
ip dhcp snooping verify mac-address 检查以太网帧的源MAC是否与DHCP请求中的客户端ID相同 (防止耗尽ip池)
ip dhcp snooping limit rate (rate) 设置每秒允许的最大DHCP消息数(防止Dos攻击)
可以使用接口子命令来启用IP源保护特性,如果仅检查ip源地址可使用ip verify source,如果同时检查源ip和源mac,可以使用ip verify source port-security
例如在f0/1使用了ip verify source,可以show ip dhcp snooping binding,仅允许在这个dhcp绑定表中f0/1下绑定的ip地址的数据包通过
DHCP option82
当DHCP服务器和客户端不在同一个子网内时,客户端要想从DHCP服务器上分配到IP地址,就必须由DHCP中继代理(DHCP Relay Agent)来转发DHCP请求包。DHCP中继代理将客户端的DHCP报文转发到DHCP服务器之前,可以插入一些选项信息,以便DHCP服务器能更精确的得知客户端的信息,从而能更灵活的按相应的策略分配IP地址和其他参数。这个选项被称为:DHCP relay agent information option(中继代理信息选项),选项号为82,故又称为option 82,相关标准文档为RFC3046。
Option 82是对DHCP选项的扩展应用。选项82只是一种应用扩展,是否携带选项82并不会影响DHCP原有的应用。另外还要看DHCP服务器是否支持选项82。不支持选项82的DHCP服务器接收到插入了选项82的报文,或者支持选项82的DHCP服务器接收到了没有插入选项82的报文,这两种情况都不会对原有的基本的DHCP服务造成影响。要想支持选项82带来的扩展应用,则DHCP服务器本身必须支持选项82以及收到的DHCP报文必须被插入选项82信息。
从非信任端口收到DHCP请求报文,不管DHCP服务器和客户端是否处于同一子网,开启了DHCP监听功能的Cisco交换机都可以选择是否对其插入选项82信息。默认情况下,交换机将对从非信任端口接收到的DHCP请求报文插入选项82信息。
DHCP监听还有一个非常重要的作用就是建立一张DHCP监听绑定表(DHCP Snooping Binding)。一旦一个连接在非信任端口的客户端获得一个合法的DHCP Offer,交换机就会自动在DHCP监听绑定表里添加一个绑定条目,内容包括了该非信任端口的客户端IP地址、MAC地址、端口号、VLAN编号、租期等信息。