我们正在慢慢开始在运行 R.11.72 固件的 HP ProCurve 2610 系列交换机上实施 dhcp-snooping。我看到一些奇怪的行为,其中 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服务器连接到Switch 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
Run Code Online (Sandbox Code Playgroud)
交换机B
dhcp-snooping
dhcp-snooping authorized-server 192.168.0.254
dhcp-snooping vlan 1
interface Trk1
dhcp-snooping trust
exit
Run Code Online (Sandbox Code Playgroud)
交换机设置为信任授权的 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
Run Code Online (Sandbox Code Playgroud)
有趣的是,交换机 B 上的 dhcp-relay 代理似乎很忙,但为什么呢?据我所知,没有理由为什么 dhcp 请求需要具有这种拓扑结构的中继。此外,当有问题的中继代理(在交换机 B 上)无论如何都没有修改选项 82 属性时,我不知道为什么上游交换机会丢弃对不受信任的中继信息的合法 dhcp 请求。
添加no dhcp-snooping option 82
on Switch A 允许来自 Switch B 的 dhcp 流量被 Switch A 批准,因为只需关闭该功能即可。是什么引起的反响不验证选项82修改DHCP流量?如果我在所有“上游”交换机上禁用选项 82 - 它们是否会从任何下游交换机传递 dhcp 流量,而不管该流量的合法性?
此行为与客户端操作系统无关。我在 Windows 和 Linux 客户端上都看到了它。我们的 DHCP 服务器是 Windows Server 2003 或 Windows Server 2008 R2 机器。无论 DHCP 服务器的操作系统如何,我都会看到这种行为。
任何人都可以对这里发生的事情有所了解,并就我应该如何继续配置选项 82 设置给我一些建议吗?我觉得我还没有完全理解 dhcp-relaying 和 option 82 属性。