2024年3月21日发(作者:)

开启Cisco交换机DHCP Snooping功能

日期:2009-4-3 浏览次数: 9744

出处:

六、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

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地址。