应用场景:
当网络中存在DHCP 服务器欺骗的时候就可以考虑采用DHCP窥探,比如网络中有个别终端用的是window 2003,或者2008系统默认开启了DHCP分配IP的服务,或者是一些接入层的端口连接有TPLINK,DLINK这样的无线路由器,开启了DHCP分配IP的服务。我们推荐在用户接入层交换机上面部署该功能,越靠近PC端口控制的越准确,而每个交换机的端口推荐只连接一台PC,否则如果交换机某端口下串接一个HUB,在HUB上连接了若干PC的话,那么如果凑巧该HUB下发生DHCP欺骗,由于欺骗报文都在HUB端口间直接转发了,没有受到接入层交换机的DHCP snooping功能的控制,这样的欺骗就无法防止了。
DHCP Snooping通常配合IP Source Guard功能实现防止用户私设静态IP,防止用户伪造IP进行内网扫描攻击的安全功能,配合ARP-Check还能实现防范ARP欺骗的安全功能。
功能简介:
DHCP Snooping意为DHCP 窥探,在一次PC动态获取IP地址的过程中,通过对Client和服务器之间的DHCP交互报文进行窥探,实现对用户的监控,同时DHCP Snooping起到一个DHCP 报文过滤的功能,通过合理的配置实现对非法服务器的过滤,防止用户端获取到非法DHCP服务器提供的地址而无法上网。
DHCP Snooping 使用到的一些术语及功能解释:
1) DHCP 请求报文:DHCP 客户端发往DHCP 服务器的报文。
2) DHCP 应答报文:DHCP 服务器发往DHCP 客户端的报文。
3) DHCP Snooping TRUST 口:由于DHCP 获取IP 的交互报文是使用广播的形式,从而存在着非法的DHCP 服务影响用户正常IP 的获取,更有甚者通过非法的DHCP 服务欺骗窃取用户信息的现象。为了防止非法的DHCP 服务的问题,DHCP Snooping 把端口分为两种类型,TRUST 口和UNTRUST 口,设备只转发TRUST 口收到的DHCP 应答报文,而丢弃所有来自UNTRUST 口的DHCP 应答报文,以此把合法的DHCP Server 连接的端口设置为TRUST 口,则其他口为UNTRUST 口,就可以实现对非法DHCP Server 的屏蔽。
4) DHCP Snooping 报文过滤:在对个别用户禁用DHCP 报文的情况下,需要评估用户设备发出的任何DHCP 报文,那么我们可以在端口模式下配置DHCP 报文过滤功能,过滤掉该端口收到的所有DHCP 报文。
5) DHCP Snooping 绑定数据库:在DHCP 环境的网络里经常会出现用户随意设置静态IP 地址的问题,用户随意设置的IP 地址不但使网络难以维护,而且会导致一些合法的使用DHCP 获取IP 的用户因为冲突而无法正常使用网络,DHCP Snooping 通过窥探Client 和Server 之间交互的报文,把用户获取到的IP 信息以及用户MAC、VID、PORT、租约时间等信息组成用户记录表项,从而形成DHCP Snooping 的用户数据库,配合ARP 检测功能或ARP CHECK功能的使用,进而达到控制用户合法使用IP 地址的目的。

一、组网需求
接入交换机为S2652G交换机,核心交换机是N18000,S2652G交换机下联PC使用动态DHCP获取IP地址,为了防止内网有用户接入非法dhcp服务器,如自带的无线小路由器等,导致正常用户获取到错误的地址而上不了网或地址冲突,要实施DHCP Snooping(DHCP监听)功能。
二、组网拓扑

三、配置要点
1、在接入交换机上全局开启dhcp snooping功能,并且在上联核心的端口开启DHCP Snooping信任口(对正常服务器过来端口的DHCP报文不控制)
2、在核心交换机上开启DHCP Server功能
四、配置步骤
核心交换机配置:
1、开启核心设备的DHCP服务功能
Ruijie(config)#service dhcp
2、创建核心设备的IP地址,即用户的网关地址
Ruijie(config)#interface vlan 1
Ruijie(config-if-VLAN 1)#ip address 192.168.1.254 255.255.255.0
Ruijie(config-if-VLAN 1)#exit
3、创建核心设备的DHCP地址池
Ruijie(config)#ip dhcp pool vlan1
Ruijie(dhcp-config)#network 192.168.1.0 255.255.255.0 ------>子网掩码要和所设置IP地址的子网掩码一致,这里都是/24位掩码
Ruijie(dhcp-config)#dns-server 218.85.157.99 ------>设置分配给客户端的DNS地址
Ruijie(dhcp-config)#default-router 192.168.1.254 ------>设置分配给用户的网关地址,这个要和核心设备上所设置的IP地址一致,为192.168.1.254
Ruijie(dhcp-config)#end
Ruijie#wr
接入交换机配置:
1、在接入交换机上开启dhcp snooping功能
Ruijie>enable
Ruijie#configure terminal
Ruijie(config)#ip dhcp snooping ------>开启DHCP snooping功能
2、连接DHCP服务器的接口配置为可信任口
Ruijie(config)#interface gigabitEthernet 0/48
Ruijie(config-GigabitEthernet 0/48)#ip dhcp snooping trust --------开启DHCP snooping的交换机所有接口缺省为untrust口,交换机只转发从trust口收到的DHCP响应报文(offer、ACK)
3 、保存配置
Ruijie(config-GigabitEthernet 0/48)#end
Ruijie#write ------> 确认配置正确,保存配置
五、功能验证
1、查看核心交换机DHCP服务器地址池分配情况
Ruijie# show ip dhcp binding
Total number of clients : 2
Expired clients : 0
Running clients : 2
IP address Hardware address Lease expiration Type
192.168.1.1 0021.cccf.6f70 000 days 23 hours 42 mins Automatic
192.168.1.2 001a.a9c4.05f3 000 days 23 hours 42 mins Automatic ------>IP address字段“192.168.1.2”为分配出去的IP;Lease expiration字段“000”为剩余租约时间;Hardware address字段“001a.a9c4.05f3”为客户端MAC地址;
2、查看PC获取IP地址情况,在电脑上点击开始----->运行-------->输入cmd进入命令行界面-------->输入ipconfig/all可以查看如下信息:

3、在接入交换机上查看DHCP Snooping表

4、在接入交换机上查看DHCP Snooping的设置情况
Ruijie# show ip dhcp snooping
Switch DHCP snooping status : ENABLE
DHCP snooping Verification of hwaddr status : DISABLE
DHCP snooping database write-delay time : 0 seconds
DHCP snooping option 82 status : DISABLE
DHCP snooping Support bootp bind status : DISABLE
Interface Trusted Rate limit(pps)
------------------------ ---------------- ----------------
GigabitEthernet 0/48 YES ---->信任口 unlimited