一、采用DHCP服务的常见问题

架设DHCP服务器可以为客户端自动分配IP地址、掩码、默认网关、DNS服务器等网络参数,简化了
网络配置,提高了管理效率。但在DHCP服务的管理上存在一些问题
常见的有:
·DHCP Server的冒充
·DHCP Server的DOS***,如DHCP耗竭***
·某些用户随便指定IP地址,造成IP地址冲突
1、DHCP Server的冒充
由于DHCP服务器和客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它
就可以为客户端分配IP地址以及其他网络参数。只要让该DHCP服务器分配错误的IP地址和其他网络参
数,那就会对网络造成非常大的危害。
2、DHCP Server的拒绝服务***
通常DHCP服务器通过检查客户端发送的DHCP请求报文中的CHADDR字段来判断客户端的MAC
地址。正常情况下该CHADDR字段和发送请求报文的客户端真实的MAC地址是相同的。
***者可以利用伪造MAC的方式发送DHCP请求,但这种***可以使用Cisco 交换机的端口安全特
性来防止。端口安全特性(Port Security)可以限制每个端口只使用唯一的MAC地址。但是如果***者不
修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施***,那端口安全
就不起作用了。
由于DHCP服务器认为不同的CHADDR值表示请求来自不同的客户端,所以***者可以通过大量发
送伪造CHADDR的DHCP请求,导致DHCP服务器上的地址池被耗尽,从而无法为其他正常用户提供网
络地址,这是一种DHCP耗竭***。DHCP耗竭***可以是纯粹的DOS***,也可以与伪造的DHCP服
务器配合使用。当正常的DHCP服务器瘫痪时,***者就可以建立伪造的DHCP服务器来为局域网中的客
户端提供地址,使它们将信息转发给准备截取的恶意计算机。
甚至即使DHCP请求报文的源MAC地址和CHADDR字段都是正确的,但由于DHCP请求报文是广
播报文,如果大量发送的话也会耗尽网络带宽,形成另一种拒绝服务***。
3、客户端随意指定IP地址
客户端并非一定要使用DHCP服务,它可以通过静态指定的方式来设置IP地址。如果随便指定的话,
将会大大提高网络IP地址冲突的可能性。

二、DHCP Snooping技术介绍

DHCP监听(DHCP Snooping)是一种DHCP安全特性。Cisco交换机支持在每个VLAN基础上启用
DHCP监听特性。通过这种特性,交换机能够拦截第二层VLAN域内的所有DHCP报文。
DHCP监听将交换机端口划分为两类
非信任端口:通常为连接终端设备的端口,如PC,网络打印机等
信任端口:连接合法DHCP服务器的端口或者连接汇聚交换机的上行端口
通过开启DHCP监听特性,交换机限制用户端口(非信任端口)只能够发送DHCP请求,丢弃来自
用户端口的所有其它DHCP报文,例如DHCP Offer报文等。而且,并非所有来自用户端口的DHCP请求
都被允许通过,交换机还会比较DHCP 请求报文的(报文头里的)源MAC地址和(报文内容里的)
DHCP客户机的硬件地址(即CHADDR字段),只有这两者相同的请求报文才会被转发,否则将被丢弃。
这样就防止了DHCP耗竭***。
信任端口可以接收所有的DHCP报文。通过只将交换机连接到合法DHCP服务器的端口设置为信任端
口,其他端口设置为非信任端口,就可以防止用户伪造DHCP服务器来***网络。
DHCP监听特性还可以对端口的DHCP报文进行限速。通过在每个非信任端口下进行限速,将可以阻
止合法DHCP请求报文的广播***。
DHCP监听还有一个非常重要的作用就是建立一张DHCP监听绑定表(DHCP Snooping Binding)。一
旦一个连接在非信任端口的客户端获得一个合法的DHCP Offer,交换机就会自动在DHCP监听绑定表里
添加一个绑定条目,内容包括了该非信任端口的客户端IP地址、MAC地址、端口号、VLAN编号、租期等信
息。如:
Switch#show ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- ----------------
00:0F:1F:C5:10:08 192.168.10.131 682463 dhcp-snooping 10 FastEthernet0/1
这张DHCP监听绑定表为进一步部署IP源防护(IPSG)和动态ARP检测(DAI)提供了依据。
说明:
I. 非信任端口只允许客户端的DHCP请求报文通过,这里只是相对于DHCP报文来说的。其他非
DHCP报文还是可以正常转发的。这就表示客户端可以以静态指定IP地址的方式通过非信任端口接入网络。
由于静态客户端不会发送DHCP报文,所以DHCP监听绑定表里也不会有该静态客户端的记录。
信任端口的客户端信息不会被记录到DHCP监听绑定表里。如果有一客户端连接到了一个信任端口,
即使它是通过正常的DHCP方式获得IP地址,DHCP监听绑定表里也不有该客户端的记录。
如果要求客户端只能以动态获得IP的方式接入网络,则必须借助于IPSG和DAI技术。
II.交换机为了获得高速转发,通常只检查报文的二层帧头,获得目标MAC地址后直接转发,不会去
检查报文的内容。而DHCP监听本质上就是开启交换机对DHCP报文的内容部分的检查,DHCP报文不再
只是被检查帧头了。
III. DHCP监听绑定表不仅用于防御DHCP***,还为后续的IPSG和DAI技术提供动态数据库支持。
IV. DHCP监听绑定表里的Lease列就是每个客户端对应的DHCP租约时间。当客户端离开网络后,该
条目并不会立即消失。当客户端再次接入网络,重新发起DHCP请求以后,相应的条目内容就会被更新。
如上面的000F.1FC5.1008这个客户端原本插在Fa0/1端口,现在插在Fa0/3端口,相应的记录在它再
次发送DHCP请求并获得地址后会更新为:
Switch#show ip dhcp snooping binding
MacAddress      IpAddress  Lease(sec)   Type   VLAN    Interface
------------------    ---------------   ----------   -------------   ----   ----------------
00:0F:1F:C5:10:08 192.168.10.131  691023   dhcp-snooping 10   FastEthernet0/3
V.当交换机收到一个DHCPDECLINE或DHCPRELEASE广播报文,并且报文头的源MAC地址存在
于DHCP监听绑定表的一个条目中。但是报文的实际接收端口与绑定表条目中的端口字段不一致时,该报
文将被丢弃。
DHCPRELEASE 报文:此报文是客户端主动释放IP 地址(如Windows 客户端使用ipconfig
/release),当DHCP服务器收到此报文后就可以收回IP地址,分配给其他的客户端了
DHCPDECLINE报文:当客户端发现DHCP服务器分配给它的IP地址无法使用(如IP地址发生冲突)
时,将发出此报文让DHCP服务器禁止使用这次分配的IP地址。
VI. DHCP监听绑定表中的条目可以手工添加。
VII. DHCP监听绑定表在设备重启后会丢失,需要重新绑定,但可以通过设置将绑定表保存在flash
或者tftp/ftp服务器上,待设备重启后直接读取,而不需要客户端再次进行绑定
VIII. 当前主流的Cisco交换机基本都支持DHCP Snooping功能。

三、DHCP Option 82

当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监听的汇聚交换机和一台插入了选项82信息的边界交换机(接入交换机)相连时:
如果边界交换机是连接到汇聚交换机的信任端口,那么汇聚交换机会接收从信任端口收到的插入选
项82的DHCP报文信息,但是汇聚交换机不会为这些信息建立DHCP监听绑定表条目。
如果边界交换机是连接到汇聚交换机的非信任端口,那么汇聚交换机会丢弃从该非信任端口收到的
插入了选项82的DHCP报文信息。但在IOS 12.2(25)SE版本之后,汇聚交换机可以通过在全局模式下
配置一条ip dhcp snooping information allow-untrusted命令。这样汇聚交换机就会接收从边界交换机发来的
插入选项82的DHCP报文信息,并且也为这些信息建立DHCP监听绑定表条目。
在配置汇聚交换机下联口时,将根据从边界交换机发送过来的数据能否被信任而设置为信任或者非
信任端口。

四、DHCP Snooping的配置

Switch(config)#ip dhcp snooping
//全局命令;打开DHCP Snooping功能
Switch(config)#ip dhcp snooping vlan 10
//全局命令;设置DHCP Snooping功能将作用于哪些VLAN
Switch(config)#ip dhcp snooping verify mac-address
//全局命令;
//检测非信任端口收到的DHCP请求报文的源MAC和CHADDR字段是否相同,以防止DHCP耗竭***
//该功能默认即为开启
Switch(config-if)#ip dhcp snooping trust
//接口级命令;配置接口为DHCP监听特性的信任接口
//所有接口默认为非信任接口
Switch(config-if)#ip dhcp snooping limit rate 15
//接口级命令;限制非信任端口的DHCP报文速率为每秒15个包;
//如果不配该语句,默认即为每秒15个包,但show ip dhcp snooping的结果里将不列出没有该语句的端口
//可选速率范围为1-2048
建议:在配置了端口的DHCP报文限速之后,最好配置以下两条命令
Switch(config)#errdisable recovery cause dhcp-rate-limit
//使由于DHCP报文限速原因而被禁用的端口能自动从err-disable状态恢复
Switch(config)#errdisable recovery interval 30
//设置恢复时间;端口被置为err-disable状态后,经过30秒时间才能恢复
Switch(config)#ip dhcp snooping information option
//全局命令;设置交换机是否为非信任端口收到的DHCP报文插入Option 82
//默认即为开启状态
Switch(config)#ip dhcp snooping information option allow-untrusted
//全局命令;设置汇聚交换机将接收从非信任端口收到的接入交换机发来的带有选项82的DHCP报文
Switch#ip dhcp snooping binding 000f.1fc5.1008 vlan 10 192.168.10.131 interface fa0/2 expiry 692000
//特权模式命令;手工添加一条DHCP监听绑定条目;expiry为时间值,即为监听绑定表中的lease(租期)
Switch(config)#ip dhcp snooping database flash:dhcp_snooping.db
//全局命令;将DHCP监听绑定表保存在flash中,文件名为dhcp_snooping.db
Switch(config)#ip dhcp snooping database tftp://192.168.2.5/Switch/dhcp_snooping.db
//全局命令;将DHCP监听绑定表保存到tftp服务器;192.168.2.5为tftp服务器地址,必须事先确定可达。
//URL中的Switch是tftp服务器下一个文件夹;保存后的文件名为dhcp_snooping.db
说明:当更改保存位置后会立即执行“写”操作。
Switch(config)#ip dhcp snooping database write-delay 30
//全局命令;指DHCP监听绑定表发生更新后,等待30秒,再写入文件;
//默认为300秒;可选范围为15-86400秒
Switch(config)#ip dhcp snooping database timeout 60
//全局命令;指DHCP监听绑定表尝试写入操作失败后,重新尝试写入操作,直到60秒后停止尝试。
//默认为300秒;可选范围为0-86400秒
说明:实际上当DHCP监听绑定表发生改变时会先等待write-delay的时间,然后执行写入操作,如果写
入操作失败(比如tftp服务器不可达),接着就等待timeout的时间,在此时间段内不断重试。在timeout
时间过后,停止写入尝试。但由于监听绑定表已经发生了改变,因此重新开始等待write-delay时间执行写
入操作……不断循环,直到写入操作成功。
Switch#renew ip dhcp snooping database flash:dhcp_snooping.db
//特权级命令;立即从保存好的数据库文件中读取DHCP监听绑定表。

五、显示DHCP Snooping的状态

Switch#show ip dhcp snooping
//显示当前DHCP监听的各选项和各端口的配置情况
Switch#show ip dhcp snooping binding
//显示当前的DHCP监听绑定表
Switch#show ip dhcp snooping database
//显示DHCP监听绑定数据库的相关信息
Switch#show ip dhcp snooping statistics
//显示DHCP监听的工作统计
Switch#clear ip dhcp snooping binding
//清除DHCP监听绑定表;
//注意:本命令无法对单一条目进行清除,只能清除所有条目
Switch#clear ip dhcp snooping database statistics
//清空DHCP监听绑定数据库的计数器
Switch#clear ip dhcp snooping statistics
//清空DHCP监听的工作统计计数器

六、DHCP Snooping的实例

1、单交换机(DHCP服务器和DHCP客户端位于同一VLAN)


环境:Windows2003 DHCP服务器和客户端都位于vlan 10;服务器接在fa0/1,客户端接在fa0/2
2960交换机相关配置:
ip dhcp snooping vlan 10
ip dhcp snooping
!
interface FastEthernet0/1
description : Connect to Win2003 DHCP Server
switchport access vlan 10
switchport mode access
spanning-tree portfast
ip dhcp snooping trust
!
interface FastEthernet0/2
description : Connect to DHCP Client
switchport access vlan 10
switchport mode access
spanning-tree portfast
ip dhcp snooping limit rate 15
说明:本例中交换机对于客户端的DHCP 请求报文将插入选项82 信息;也可以通过配置no ip dhcp
snooping information option命令选择不插入选项82信息。两种情况都可以。
客户端端口推荐配置spanning-tree portfast命令,使得该端口不参与生成数计算,节省端口启动时间,
防止可能因为端口启动时间过长导致客户端得不到IP地址。
开启DHCP监听特性的vlan并不需要该vlan的三层接口被创建。

2、单交换机(DHCP服务器和DHCP客户端位于同一VLAN)


环境:Cisco IOS DHCP服务器(2821路由器)和PC客户端都位于vlan 10;路由器接在交换机的fa0/1,
客户端接在fa0/2
Windows2003
DHCP Server DHCP Client
2960
CiscoIOS
DHCP Server
2960 DHCP Client
2960交换机相关配置:
ip dhcp snooping vlan 10
ip dhcp snooping
!
interface FastEthernet0/1
description : Connect to IOS DHCP Server C2821_Gi0/0
switchport access vlan 10
switchport mode access
spanning-tree portfast
ip dhcp snooping trust
!
interface FastEthernet0/2
description : Connect to DHCP Client
switchport access vlan 10
switchport mode access
spanning-tree portfast
ip dhcp snooping limit rate 15

2821路由器相关配置:
ip dhcp excluded-address 192.168.10.1 192.168.10.2
!
ip dhcp pool test
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
lease 8
!
interface GigabitEthernet0/0
description : Connect to C2960_Fa0/1
ip dhcp relay information trusted
ip address 192.168.10.2 255.255.255.0
说明:
I、需要注意的是路由器连接到交换机的端口需要配置ip dhcp relay information trusted,否则客户端将
无法得到IP地址。
这是因为交换机配置了(默认情况)ip dhcp snooping information option,此时交换机会在客户端发出
的DHCP请求报文中插入选项82信息。另一方面由于DHCP服务器(这里指Cisco IOS DHCP服务器)与
客户端处于同一个VLAN中,所以请求实际上并没有经过DHCP中继代理。
对于Cisco IOS DHCP服务器来说,如果它收到的DHCP请求被插入了选项82信息,那么它会认为
这是一个从DHCP中继代理过来的请求报文,但是它检查了该报文的giaddr字段却发现是0.0.0.0,而不
是一个有效的IP地址(DHCP请求报文中的giaddr字段是该报文经过的第一个DHCP中继代理的IP地址,
具体请参考DHCP报文格式),因此该报文被认为“非法”,所以将被丢弃。可以参考路由器上的DHCP
的debug过程。
Cisco IOS里有一个命令,专门用来处理这类DHCP请求报文:ip dhcp relay information trusted(接口
命令)或者ip dhcp relay information trust-all(全局命令,对所有路由器接口都有效);这两条命令的作用
就是允许被插入了选项82信息,但其giaddr字段为0.0.0.0的DHCP请求报文通过。
II、如果交换机不插入选项82信息,即配置了no ip dhcp relay information trusted,那么就不会出现客
户端无法得到IP地址的情况,路由器也不需要配置ip dhcp relay information trusted命令。
III、Windows DHCP服务器应该没有检查这类DHCP请求的机制,所以上一个实例中不论交换机是否
插入选项82信息,客户端总是可以得到IP地址。

3、单交换机(DHCP服务器和DHCP客户端位于不同VLAN)


环境:Cisco IOS DHCP服务器(2821路由器)的IP地址为192.168.2.2,位于vlan 2;DHCP客户端位于
vlan 10;交换机为3560,路由器接在fa0/1,客户端接在fa0/2
3560交换机相关配置:
ip routing

ip dhcp snooping vlan 2,10
ip dhcp snooping
!
interface FastEthernet0/1
description : Connect to IOS DHCP Server C2821_Gi0/0
switchport access vlan 2
switchport mode access
spanning-tree portfast
ip dhcp snooping trust
!
interface FastEthernet0/2
description : Connect to DHCP Client
switchport access vlan 10
switchport mode access
spanning-tree portfast
ip dhcp snooping limit rate 15
!
interface Vlan2
ip address 192.168.2.1 255.255.255.0
!
interface Vlan10
ip address 192.168.10.1 255.255.255.0
ip helper-address 192.168.2.2
CiscoIOS
DHCP Server
3560 DHCP Client

2821路由器相关配置:
no ip routing
!
ip dhcp excluded-address 192.168.10.1 192.168.10.2
!
ip dhcp pool test
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
lease 8
!
interface GigabitEthernet0/0
description : Connect to C3560_Fa0/1
ip address 192.168.2.2 255.255.255.0
!
ip default-gateway 192.168.2.1
说明:本例中的路由器不需要配置ip dhcp relay information trusted命令,因为从交换机过来的DHCP请求
经过了中继代理,其报文中的giaddr字段为192.168.10.1,而不是0.0.0.0,是默认正常的DHCP请求报文。

4、多交换机环境(DHCP服务器和DHCP客户端位于不同VLAN)


环境:2611路由器作为DHCP服务器,IP地址为192.168.2.2,位于vlan 2;PC位于vlan 10;
路由器接在3560的Gi0/2,PC接2960的fa0/1口,两交换机互连口都是gi0/1
3560交换机相关配置:
ip routing

interface GigabitEthernet0/1
description : Connect to C2960_Gi0/1
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface GigabitEthernet0/2
description : Connect to IOS DHCP Server C2611_Gi0/0
switchport access vlan 2
switchport mode access
spanning-tree portfast
!
interface Vlan2
ip address 192.168.2.1 255.255.255.0
!
PC
CIisco IOS 3560 2960
DHCP Server
interface Vlan10
ip address 192.168.10.1 255.255.255.0
ip helper-address 192.168.2.2
ip dhcp relay information trusted

2960交换机相关配置:
ip dhcp snooping vlan 10
ip dhcp snooping
interface FastEthernet0/1
description : Connect to PC
switchport access vlan 10
switchport mode access
spanning-tree portfast
ip dhcp snooping limit rate 15

interface GigabitEthernet0/1
description : Connect to C3560_Gi0/1
switchport mode trunk
ip dhcp snooping trust

2611路由器相关配置:
no ip routing
!
ip dhcp excluded-address 192.168.10.1 192.168.10.2
!
ip dhcp pool test
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
lease 8
!
interface GigabitEthernet0/0
description : Connect to C3560_Gi0/2
ip address 192.168.2.2 255.255.255.0
!
ip default-gateway 192.168.2.1
说明:本例中3560没有开启DHCP监听功能,2960开启了该功能。需要注意的是int vlan 10需要配置ip
dhcp relay information trusted,理由如同实例2。

5、多交换机环境(DHCP服务器和DHCP客户端位于同一VLAN)
环境:3560交换机自身作为DHCP服务器;PC1和PC2都位于vlan 10;
PC1接3560的fa0/1口,PC2接2960的fa0/1口;两交换机互连口都是gi0/1
3560交换机相关配置:
ip dhcp excluded-address 192.168.10.1
!
ip dhcp pool test
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
lease 8
!
ip dhcp snooping vlan 10
ip dhcp snooping information option allow-untrusted
ip dhcp snooping
!
interface FastEthernet0/1
description : Connect to PC1
switchport access vlan 10
switchport mode access
spanning-tree portfast
ip dhcp snooping limit rate 15
!
interface GigabitEthernet0/1
description : Connect to C2960_Gi0/1
switchport trunk encapsulation dot1q
switchport mode trunk
ip dhcp snooping limit rate 360
2960交换机相关配置:
ip dhcp snooping vlan 10
ip dhcp snooping
interface FastEthernet0/1
description : Connect to PC2
switchport access vlan 10
switchport mode access
spanning-tree portfast
ip dhcp snooping limit rate 15
PC1
PC2
3560
2960

interface GigabitEthernet0/1
description : Connect to C3560_Gi0/1
switchport mode trunk
ip dhcp snooping trust
说明:本例中3560和2960同时开启了DHCP监听功能。从2960过来的DHCP请求报文是已经被插入了选
项82信息,如果将3560的Gi0/1设置为信任端口,那么插入了82选项的DHCP请求报文是允许通过的,
但不会为其建立DHCP监听绑定表。即3560上只有PC1的绑定条目,而没有PC2的绑定条目。
如果此时同时部署DAI,IPSG,由于2960不支持这两项功能,对于3560来说,从2960上过来的数
据可能存在IP欺骗和ARP欺骗等***,是不安全的。另一方面,由于3560没有PC2的绑定条目,而DAI
和IPSG必须依赖DHCP监听绑定表。因此如果需要在3560上再部署DAI或者IPSG,就不能将3560的
Gi0/1设置为信任端口。
但是将3560的Gi0/1口设置为非信任端口以后,默认情况下,非信任端口将会丢弃收到的插入了82
选项的DHCP请求报文。而从2960过来的DHCP请求报文又正好是被插入了选项82信息的。因此必须配
置ip dhcp snooping information option allow-untrusted命令,否则3560将丢弃这些DHCP请求报文,接在
2960上的PC2将得不到IP地址。只有配置了该命令以后,3560才会接收从2960发送的插入了选项82的
DHCP报文,并为这些信息建立绑定条目。
3560下联的Gi0/1口由于是非信任端口,默认限速为每秒15个DHCP请求报文,如果2960上的所有
PC都同时发起DHCP请求,可能此端口会被errdisable掉。这里假设2960为24口,因此简单的设置限速
为24*15=360。
2960上联的Gi0/1口必须被配置为信任端口,否则将丢弃从3560过来的DHCP应答报文,PC2将无
法得到IP地址。
C3560#show ip dhcp snooping
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
10
DHCP snooping is operational on following VLANs:
10
DHCP snooping is configured on the following L3 Interfaces:
Insertion of option 82 is enabled
circuit-id format: vlan-mod-port
remote-id format: MAC
Option 82 on untrusted port is allowed
Verification of hwaddr field is enabled
DHCP snooping trust/rate is configured on the following Interfaces:
Interface       Trusted    Rate limit (pps)
------------------------   -------    ----------------
FastEthernet0/1     no       15
GigabitEthernet0/1    no       360

C3560#show ip dhcp snooping binding
MacAddress    IpAddress   Lease(sec)   Type    VLAN    Interface
------------------   ---------------   ----------   -------------   ----   --------------------
00:0F:1F:C5:10:08 192.168.10.2  685618  dhcp-snooping  10    FastEthernet0/1
00:0B:DB:08:21:E0 192.168.10.3  688023  dhcp-snooping  10    GigabitEthernet0/1

C2960#show ip dhcp snooping
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
10
Insertion of option 82 is enabled
circuit-id format: vlan-mod-port
remote-id format: MAC
Option 82 on untrusted port is not allowed
Verification of hwaddr field is enabled
Interface       Trusted    Rate limit (pps)
------------------------   -------     ----------------
FastEthernet0/1     no        15
GigabitEthernet0/1    yes      unlimited

C2960#show ip dhcp snooping binding
MacAddress   IpAddress   Lease(sec)   Type   VLAN I  nterface
------------------  ---------------   ----------   -------------  ----   --------------------
00:0B:DB:08:21:E0 192.168.10.3 688023  dhcp-snooping  10   FastEthernet0/1

6、多交换机环境(DHCP服务器和DHCP客户端位于同一VLAN)


环境:4503交换机自身作为DHCP服务器;PC1和PC2都位于vlan 10;
PC1接4503的gi2/1口,PC2接3560的fa0/1口;两交换机互连口是4503 gi1/1 -- 3560 gi0/1
4503交换机相关配置:
ip dhcp excluded-address 192.168.10.1
!
ip dhcp pool test
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
lease 8
!
ip dhcp snooping vlan 10
ip dhcp snooping
!
interface GigabitEthernet2/1
PC1
PC2
4503
3560
description : Connect to PC1
switchport access vlan 10
switchport mode access
spanning-tree portfast
ip dhcp snooping limit rate 15
!
interface GigabitEthernet1/1
description : Connect to C3560_Gi0/1
switchport trunk encapsulation dot1q
switchport mode trunk
ip dhcp snooping trust

3560交换机相关配置:
ip dhcp snooping vlan 10
ip dhcp snooping
interface FastEthernet0/1
description : Connect to PC2
switchport access vlan 10
switchport mode access
spanning-tree portfast
ip dhcp snooping limit rate 15

interface GigabitEthernet0/1
description : Connect to C4503_Gi1/1
switchport trunk encapsulation dot1q
switchport mode trunk
ip dhcp snooping trust
说明:本例中4503和3560同时开启了DHCP监听功能。由于4503的下联口被设置为信任端口,所以从
3560过来的DHCP请求报文即使已经被插入了选项82信息,也允许通过的,但不会为其建立DHCP监听
绑定表。所以4503上只有PC1的绑定条目,而没有PC2的绑定条目。
作为接入层交换机的3560支持DAI,IPSG,如果同时配置这两项功能,那么有理由相信从3560过
来的数据是已经经过检验的安全数据,因此将4503的下联口设置为信任端口是可行的。另外,4503没有
PC2的绑定条目,也减少了系统运行时所需的内存空间。
C4503#show ip dhcp snooping binding
MacAddress   I pAddress   Lease(sec)   Type    VLAN   Interface
------------------   ---------------   ----------   -------------   ----   --------------------
00:0F:1F:C5:10:08 192.168.10.2  685618  dhcp-snooping  10   GigabitEthernet2/1
C3560#show ip dhcp snooping binding
MacAddress      IpAddress  Lease(sec)   Type     VLAN    Interface
------------------    ---------------   ----------   -------------    ----   --------------------
00:0B:DB:08:21:E0 192.168.10.3   688023   dhcp-snooping  10   FastEthernet0/1