dhcp-snooping 选项 82 删除 2610 系列 Procurve 交换机上的有效 dhcp 请求

dhcp-snooping 选项 82 删除 2610 系列 Procurve 交换机上的有效 dhcp 请求

我们正在慢慢开始在 HP ProCurve 2610 系列交换机上实施 dhcp 监听,所有交换机都运行 R.11.72 固件。我发现了一些奇怪的行为,当来自“下游”交换机的 dhcp 请求或 dhcp 更新数据包由于“来自客户端的不可信中继信息”而被丢弃。

完整错误:

Received untrusted relay information from client <mac-address> on port <port-number>

更详细地说,我们有一台 48 端口 HP2610(交换机 A)和一台 24 端口 HP2610(交换机 B)。交换机 B 是交换机 A 的“下游”,因为它与交换机 A 的一个端口有 DSL 连接。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) 这里的三层网络是平面的,同一个子网。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         

有趣的是,交换机 B 上的 dhcp 中继代理似乎非常繁忙,但为什么呢?据我所知,在这种拓扑结构下,dhcp 请求没有理由需要中继。此外,我无法判断为什么上游交换机会丢弃合法的 dhcp 请求以获取不受信任的中继信息,而有问题的中继代理(在交换机 B 上)无论如何都不会修改选项 82 属性。

在交换机 A 上添加no dhcp-snooping option 82允许交换机 B 的 dhcp 流量被交换机 A 批准,只需关闭该功能即可。不是验证选项 82 修改的 DHCP 流量?如果我禁用所有“上游”交换机上的选项 82 - 它们是否会传递来自任何下游交换机的 DHCP 流量,而不管该流量的合法性?

此行为与客户端操作系统无关。我在 Windows 和 Linux 客户端上都看到过这种情况。我们的 DHCP 服务器是 Windows Server 2003 或 Windows Server 2008 R2 计算机。无论 DHCP 服务器的操作系统是什么,我都会看到这种行为。

有人能解释一下这里发生了什么吗?并就如何配置选项 82 设置给我一些建议吗?我觉得我还没有完全理解 dhcp-relaying 和选项 82 属性。

答案1

您说“dhcp 中继未启用”……但根据您的 show dhcp-relay 输出,显然已启用。

尝试明确禁用它;根据上述评论,我怀疑您的问题将会消失:)

答案2

实际上,交换机 A 上的数据包被丢弃是因为您在不受信任的端口上收到了带有选项 82 的 DHCP 客户端数据包。该选项 82 由交换机 B 插入。

我认为下面应该有效 -

打开,SwitchB - 禁用选项 82,以便不会插入这些选项。将接口 25 标记为信任,以允许 DHCP 服务器数据包流到。

在 SwitchA 上,您可以在此处保持选项 82 处于启用/禁用状态。这没关系。将连接到 switchB 的端口标记为不可信。将连接到 dhcp 服务器的端口标记为可信。

答案3

我认为您可能误解了受信任端口的概念。我同意仅信任提供方所来自的端口是直观的,但我的理解是您还需要信任交换机 A 上的中继端口。您将连接到您了解和信任的设备上的端口标记为受信任。仅仅因为您将交换机 A 上的中继标记为受信任并不意味着您将允许流氓 DHCP 服务器存在于交换机 B 上。如果设置正确,交换机 B 不会信任除其中继端口之外的任何端口,因此您仍然可以阻止流氓 DHCP 服务器驻留在交换机 B 上并向交换机 A 上的客户端发送提供方。

简而言之,您应该信任连接到您自己的 DHCP 服务器的端口以及连接到您管理的其他交换机的端口(这样您就可以确保没有任何其他受信任的端口)。

相关内容