dhcp-snooping选项82在2610系列Procurve交换机上丢弃有效的dhcp请求


8

我们正在缓慢地开始在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属性。


dhcp服务器是在同一子网上还是由路由器中继?我知道cisco路由器/ l3交换机在进行dhcp转发时需要ip dhcp relay information trust-all命令。
Bad Dos

它们在同一子网中。从第3层的角度来看,一切都是完全平坦的。

如果您将笔记本电脑插入直接连接到dhcp服务器的交换机,DHCP是否能正常工作?也许交换机拓扑中的上行链路之一不受信任。
Bad Dos

是。当计算机连接到与DHCP服务器相同的交换机时,它可以工作。我不信任上游交换机上的上行链路端口。您仅信任DHCPOFFER或DHCPACK数据包来自的端口-DHCP服务器连接到的端口。如果我信任上游交换机上的Trunk端口,则该交换机将允许dhcp服务器通过该上行链路对其客户端做出响应。FWIW,我对HP有支持请求,他们似乎也感到困惑。

我不熟悉HP,但是在Cisco中,您会信任访问交换机上的上行链路端口,但是它所连接的交换机将不会信任该端口。这样可以确保dhcp提供的内容可以向下流到访问交换机,但是访问交换机中什么也不会出现,并且访问交换机上的其他端口也不可信任。
Bad Dos

Answers:


1

您说过“未启用dhcp中继” ...但是显然,它是基于show dhcp-relay输出的。

尝试显式禁用它;根据以上评论,我怀疑您的问题会消失:)


1

实际上,交换机A上的数据包会下垂,因为您在不受信任的端口上收到了带有option82的DHCP客户端数据包。该选项-82由switchB插入。

我认为下面应该起作用-

启用后,SwitchB-禁用选项82,以便不插入这些选项。将接口25标记为可信任,以允许DHCP服务器数据包向下流动。

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


0

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.