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

(0)
最佳答案
dhcp snooping deny 用反了!dhcp snooping deny 这个命令,是在非法 DHCP 服务器所在的端口上配置,用来阻断服务器发的 Offer 报文。但在你的拓扑里:GE0/1 是接 PC 的端口,PC 是客户端,只会发 DHCP Discover/Request,不会发 OfferGE0/1 上配置 dhcp snooping deny,根本拦不住合法 DHCP 服务器从 GE0/0/1 口过来的 OfferGE0/0/1 设为信任端口,反而在 PC 口乱配 deny,所以完全不生效。dhcp snooping enable 只是基础,必须在 PC 和 DHCP 服务器所在的 VLAN 下单独开启,否则功能不生效。# 假设PC和服务器都在VLAN 10里
vlan 10
dhcp snooping enable
GE0/0/1 端口没配置为信任端口GE0/0/1 设为信任端口,默认它是不信任的,但因为你没开 VLAN 级 Snooping,所以报文没被丢弃,直接透传了,PC 自然能拿到 IP。GE0/2 端口配错了 deny 命令dhcp snooping deny 是用来在接非法 DHCP 服务器的端口上阻断 Offer 报文,而 PC 口是客户端,只会发请求,不会发 Offer,所以在 PC 口配 deny 毫无意义,反而容易造成误解。system-view
dhcp snooping enable
vlan 10
dhcp snooping enable
interface GigabitEthernet 0/1
dhcp snooping trust
interface GigabitEthernet 0/2
# 不用配任何deny,保持默认非信任即可
# 查看全局和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
dhcp snooping deny 用在了 PC 口,方向反了,根本拦不住服务器的 Offer
(0)
模拟器做的?
模拟器不一定支持,实机测试
(0)
用了一个最便宜的实体tplink路由器和一个5130交换机测的
用了一个最便宜的实体tplink路由器和一个5130交换机测的
(0)
你遇到的问题,很可能是因为混淆了 dhcp snooping deny 的作用,以及没有正确配置信任端口。这是一个很常见的配置误区。
dhcp snooping deny 命令本质上是用来完全禁止某个物理端口使用 DHCP 的,不是用来隔离特定 DHCP 服务器的。它就像一个硬性的端口开关,被开启后,该端口下的所有设备(包括PC3)都无法通过DHCP获取地址,但这显然不是你的目标。
你的目标应该是:只允许 PC3 从合法服务器获取地址,同时屏蔽其他“虚假”的 DHCP 服务。根据这个目标,PC3能拿到地址很可能是以下原因造成的:
主要原因:未配置“信任端口” (dhcp-snooping trust)
这是最高频的配置遗漏。启用 DHCP Snooping 后,交换机上所有端口默认都是不信任端口 (Untrusted),会丢弃所有 DHCP 响应报文。你必须手动把连接合法 DHCP 服务器的端口设置为“信任端口”,它才能正常转发。如果漏了这步,合法服务器的响应也会被丢弃,终端自然拿不到地址。
其他可能原因:信任端口配置错误或网络层级问题
也可能是信任端口指错了方向,比如配在了连接 PC 的端口上;或者在多交换机级联的网络中,没有在每台交换机的上联口(级联口)都设置信任,导致上游合法服务器的响应在途中被某台交换机丢弃。
(0)
# 开启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功能为其提供参数。
模拟器没问题,能实现,看看配置吧
(0)
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明