• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

防止虚假dhcp服务器分配ip

1小时前提问
  • 0关注
  • 1收藏,43浏览
粉丝:0人 关注:0人

问题描述:

为什么在S5820上全局开启了dhcp snooping enable,在GE0/1口上也开启了dhcp snooping deny,pc3还是能收到来自dhcp server分配的ip地址呢?

组网及组网描述:

6 个回答
粉丝:114人 关注:11人

模拟器做的?


模拟器不一定支持,实机测试 


用了一个最便宜的实体tplink路由器和一个5130交换机测的

乐悲蔚蓝湖 发表时间:1小时前 更多>>

用了一个最便宜的实体tplink路由器和一个5130交换机测的

乐悲蔚蓝湖 发表时间:1小时前
粉丝:8人 关注:9人

排查步骤及对应命令如下:
1. 校验基础配置有效性:执行display dhcp-snooping,确认全局DHCP Snooping状态为Enable,同时核对GE0/1端口下确实配置了dhcp snooping deny,无端口号配置错误。
2. 补全必配的VLAN级配置:DHCP Snooping全局开启后,必须在PC和非法DHCP服务器所属的VLAN下执行dhcp snooping enable功能才会触发,执行display dhcp-snooping vlan [所属VLANID]确认VLAN下功能已开启,未开启则进入对应VLAN视图补配。
3. 检查端口属性冲突:
执行display interface GigabitEthernet 0/1确认端口为二层交换模式,若为三层路由口,二层DHCP Snooping deny规则不生效。
执行display dhcp-snooping trust确认GE0/1未被配置为DHCP Snooping信任口,信任口优先级高于deny规则,会直接放行DHCP服务器的Offer报文。
4. 校验报文路径:查看PC获取到的DHCP服务器MAC,执行display mac-address [非法DHCP服务器MAC]确认该服务器的报文确实从GE0/1流入,排查是否存在其他链路绕开了GE0/1的限制。
5. 排查例外放行规则:执行display current-configuration | include dhcp-snooping确认未配置针对该非法服务器的静态绑定放行、自定义DHCP报文放行规则。

粉丝:16人 关注:1人

你遇到的问题,很可能是因为混淆了 dhcp snooping deny 的作用,以及没有正确配置信任端口。这是一个很常见的配置误区。

dhcp snooping deny 命令本质上是用来完全禁止某个物理端口使用 DHCP 的,不是用来隔离特定 DHCP 服务器的。它就像一个硬性的端口开关,被开启后,该端口下的所有设备(包括PC3)都无法通过DHCP获取地址,但这显然不是你的目标。

你的目标应该是:只允许 PC3 从合法服务器获取地址,同时屏蔽其他“虚假”的 DHCP 服务。根据这个目标,PC3能拿到地址很可能是以下原因造成的:

  • 主要原因:未配置“信任端口” (dhcp-snooping trust)
    这是最高频的配置遗漏。启用 DHCP Snooping 后,交换机上所有端口默认都是不信任端口 (Untrusted),会丢弃所有 DHCP 响应报文。你必须手动把连接合法 DHCP 服务器的端口设置为“信任端口”,它才能正常转发。如果漏了这步,合法服务器的响应也会被丢弃,终端自然拿不到地址。

  • 其他可能原因:信任端口配置错误或网络层级问题
    也可能是信任端口指错了方向,比如配在了连接 PC 的端口上;或者在多交换机级联的网络中,没有在每台交换机的上联口(级联口)都设置信任,导致上游合法服务器的响应在途中被某台交换机丢弃。

参考手册配置案例 检查配置 3 配置DHCP Snooping

如果还不行 可以收集一下交换机版本。首页支持文档与软件软件下载交换机

粉丝:6人 关注:1人

# 开启DHCP Snooping功能。
<SwitchB> system-view
[SwitchB] dhcp snooping enable
# 设置GigabitEthernet1/0/1端口为信任端口。
[SwitchB] interface gigabitethernet 1/0/1
[SwitchB-GigabitEthernet1/0/1] dhcp snooping trust
[SwitchB-GigabitEthernet1/0/1] quit
# 在GigabitEthernet1/0/2上开启DHCP Snooping表项功能。
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] dhcp snooping binding record
[SwitchB-GigabitEthernet1/0/2] quit

1.全局开启dhcp-snooping enable后,默认所有接口都是非信任口(非信任口可以转发dhcp请求,但从该口收到的dhcp响应会被丢弃),所以确实只需要把上联口设置成trust就行。

2.dhcp snooping binding record本身只能做记录,但可以联动IP Source Guard功能为其提供参数。




模拟器没问题,能实现,看看配置吧

粉丝:10人 关注:2人

一、先纠正一个核心认知:dhcp snooping deny 用反了!

dhcp snooping deny 这个命令,是在非法 DHCP 服务器所在的端口上配置,用来阻断服务器发的 Offer 报文
但在你的拓扑里:
  • GE0/1接 PC 的端口,PC 是客户端,只会发 DHCP Discover/Request,不会发 Offer
  • GE0/1 上配置 dhcp snooping deny根本拦不住合法 DHCP 服务器从 GE0/0/1 口过来的 Offer
  • 而且默认情况下,S5820 所有端口都是非信任端口,你没把接合法 DHCP 服务器的 GE0/0/1 设为信任端口,反而在 PC 口乱配 deny,所以完全不生效。

二、为什么 PC 还是能拿到 IP?(根本原因)

你的配置有 3 个关键错误,导致 DHCP Snooping 完全没起作用:

1. 没在PC 和服务器所属的 VLAN 下开启 DHCP Snooping

全局开启 dhcp snooping enable 只是基础,必须在 PC 和 DHCP 服务器所在的 VLAN 下单独开启,否则功能不生效。
bash
运行
# 假设PC和服务器都在VLAN 10里 vlan 10 dhcp snooping enable
你只开了全局,没开 VLAN 级,所以交换机根本不处理该 VLAN 的 DHCP 报文。

2. 接合法 DHCP 服务器的 GE0/0/1 端口没配置为信任端口

DHCP Snooping 的核心逻辑是:
  • 只有信任端口收到的 DHCP Offer/ACK 报文,才会被转发给 PC
  • 非信任端口收到的 Offer 报文,会直接丢弃
    你没把 GE0/0/1 设为信任端口,默认它是不信任的,但因为你没开 VLAN 级 Snooping,所以报文没被丢弃,直接透传了,PC 自然能拿到 IP。

3. 接 PC 的 GE0/2 端口配错了 deny 命令

dhcp snooping deny 是用来在接非法 DHCP 服务器的端口上阻断 Offer 报文,而 PC 口是客户端,只会发请求,不会发 Offer,所以在 PC 口配 deny 毫无意义,反而容易造成误解。

三、正确配置(防止非法 DHCP 服务器,同时让 PC 正常拿 IP)

按下面的步骤配置,就能实现:合法服务器能正常分配 IP,非法服务器被阻断。

1. 全局开启 DHCP Snooping

bash
运行
system-view dhcp snooping enable

2. 在业务 VLAN 下开启 DHCP Snooping

bash
运行
vlan 10 dhcp snooping enable

3. 把接合法 DHCP 服务器的端口设为信任端口

bash
运行
interface GigabitEthernet 0/1 dhcp snooping trust

4. 接 PC 的端口保持默认非信任(不用配 deny)

bash
运行
interface GigabitEthernet 0/2 # 不用配任何deny,保持默认非信任即可

四、关键验证命令(配置完确认生效)

bash
运行
# 查看全局和VLAN下的DHCP Snooping状态 display dhcp snooping vlan 10 # 查看端口信任状态 display dhcp snooping interface GigabitEthernet 0/1 display dhcp snooping interface GigabitEthernet 0/2 # 查看DHCP Snooping绑定表(PC上线后会生成) display dhcp snooping binding

五、一句话总结你的问题

  • 错误 1:dhcp snooping deny 用在了 PC 口,方向反了,根本拦不住服务器的 Offer
  • 错误 2:没在业务 VLAN 下开启 DHCP Snooping,全局开启不生效
  • 错误 3:合法服务器端口没设为信任,导致 Offer 报文被正常透传(功能失效)

按上面的正确配置改完,就能完美实现:PC 正常从合法服务器拿 IP,同时阻断任何非法 DHCP 服务器。

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明