我们正在缓慢地开始在HP ProCurve 2610系列交换机上实施dhcp-snooping,这些交换机均运行R.11.72固件。我看到一些奇怪的行为,其中,由于“来自客户端的不受信任的中继信息”,源自“下游”交换机的dhcp-request或dhcp-renew数据包会被丢弃。
完整错误:
Received untrusted relay information from client <mac-address> on port <port-number>
更详细地,我们有一个48端口HP2610(交换机A)和一个24端口HP2610(交换机B)。借助于与交换机A端口之一的DSL连接,交换机B在交换机A的“下游”。dhcp服务器已连接到交换机A。相关位如下:
开关A
dhcp-snooping
dhcp-snooping authorized-server 192.168.0.254
dhcp-snooping vlan 1 168
interface 25
name "Server"
dhcp-snooping trust
exit
开关B
dhcp-snooping
dhcp-snooping authorized-server 192.168.0.254
dhcp-snooping vlan 1
interface Trk1
dhcp-snooping trust
exit
将交换机设置为信任授权dhcp服务器所连接的端口及其IP地址。对于连接到交换机A的客户端来说,这一切都很好,但由于“不可信的中继信息”错误,连接到交换机B的客户端被拒绝了。出于以下几个原因,这很奇怪:1)任一交换机上均未配置dhcp-relay,2)此处的第3层网络是同一子网。DHCP数据包不应具有修改的选项82属性。
默认情况下,dhcp-relay确实已启用:
SWITCH A# show dhcp-relay
DHCP Relay Agent : Enabled
Option 82 : Disabled
Response validation : Disabled
Option 82 handle policy : append
Remote ID : mac
Client Requests Server Responses
Valid Dropped Valid Dropped
---------- ---------- ---------- ----------
0 0 0 0
SWITCH B# show dhcp-relay
DHCP Relay Agent : Enabled
Option 82 : Disabled
Response validation : Disabled
Option 82 handle policy : append
Remote ID : mac
Client Requests Server Responses
Valid Dropped Valid Dropped
---------- ---------- ---------- ----------
40156 0 0 0
有趣的是,dhcp-relay代理在交换机B上似乎很忙,但是为什么呢?据我所知,没有任何理由要求dhcp请求需要具有此拓扑的中继。而且,当有问题的中继代理(在交换机B上)无论如何都没有修改选项82属性时,我无法说出上游交换机为什么丢弃合法的dhcp请求以获取不可信的中继信息。
no dhcp-snooping option 82
通过仅关闭该功能,在交换机A上添加on即可允许来自交换机B的dhcp流量得到交换机A的批准。不验证选项82修改后的dhcp流量会有什么影响?如果我在所有“上游”交换机上禁用选项82,则无论该流量的合法性如何,它们都将通过任何下游交换机的dhcp流量吗?
此行为与客户端操作系统无关。我在Windows和Linux客户端上都能看到它。我们的DHCP服务器是Windows Server 2003或Windows Server 2008 R2计算机。无论DHCP服务器的操作系统如何,我都会看到此行为。
任何人都可以对这里发生的事情有所了解,并就如何配置选项82设置提供一些建议吗?我觉得我还没有完全了解dhcp-relaying和option 82属性。