华为交换机DHCP Snooping配置实战:DHCP服务器在核心交换机,接入层如何防止非法DHCP?
华为交换机DHCP Snooping配置实战:DHCP服务器在核心交换机,接入层如何防止非法DHCP?
一、项目背景
企业、酒店和园区网络经常采用“核心交换机提供DHCP地址,接入交换机连接终端”的组网方式。现场最容易出现的问题之一,是有人把家用路由器的LAN口、测试DHCP服务器或错误配置的设备接入网络,导致终端收到错误的IP地址、网关或DNS。
DHCP Snooping的核心思路:将合法DHCP服务器方向标记为Trusted(信任),将普通终端接入口保留为Untrusted(非信任),拦截非信任端口发出的DHCP服务器报文。
本文以华为VRP交换机为例,介绍部署思路、配置命令、验证方法与故障排查。不同型号、VRP版本的命令和功能存在差异,执行前请先使用?确认。
二、组网结构与规划
┌───────────────────────┐
│ 核心交换机 Core-SW │
│ VLAN 100 网关/DHCP源 │
│ 192.168.100.1/24 │
└───────────┬───────────┘
│ Trunk:GE1/0/1
│ 允许 VLAN 100
┌───────────┴───────────┐
│ 接入交换机 Access-SW │
│ DHCP Snooping:开启 │
│ GE0/0/24:Trusted │
└───────────┬───────────┘
┌────────┴────────┐
│ │
GE0/0/1 GE0/0/2
普通电脑 非法DHCP设备
Untrusted Untrusted
| 项目 | 示例值 |
|---|---|
| DHCP服务器位置 | 核心交换机 |
| 业务VLAN | 100 |
| 网关/DHCP服务器地址 | 192.168.100.1 |
| 核心下联端口 | GE1/0/1 |
| 接入上联端口 | GE0/0/24 |
| 接入用户端口 | GE0/0/1~GE0/0/23 |
注意:DHCP Snooping是二层安全功能,不能代替VLAN、Trunk和DHCP地址池的正常配置。
三、第一步:配置核心交换机的DHCP服务
如果核心交换机已经正常给终端分配地址,可跳过本节,不必重复修改生产配置。
以下示例采用华为VRP常见的接口地址池方式,仅供理解:
system-view
vlan batch 100
dhcp enable
interface Vlanif100
ip address 192.168.100.1 255.255.255.0
dhcp select interface
quit
在对应下联Trunk端口放行业务VLAN(端口编号按现场调整):
interface GigabitEthernet 1/0/1
port link-type trunk
port trunk allow-pass vlan 100
quit
如果现场使用全局地址池(ip pool + dhcp select global)、外部DHCP服务器或DHCP Relay,配置方法不同,不要同时照搬两套地址池配置。
核心交换机需要开启DHCP Snooping吗?
并不是必须。 如果核心仅作为合法DHCP服务器,接入交换机已经在终端接入边界完成Snooping防护,核心通常只需保证DHCP服务、VLAN和上联链路正常。
如果核心交换机还直接连接普通终端,或需要对下级交换机、服务器接入方向实施额外防护,可以根据网络信任边界设计,在核心对应VLAN和端口另行部署DHCP Snooping。不要未经评估就在核心所有下联口一律设为Trusted,否则会扩大信任范围。
四、第二步:配置接入交换机的基础VLAN和上联
先确保接入交换机本身能正确转发VLAN 100的流量。
system-view
vlan batch 100
interface GigabitEthernet 0/0/24
port link-type trunk
port trunk allow-pass vlan 100
quit
interface GigabitEthernet 0/0/1
port link-type access
port default vlan 100
quit
其他终端口根据实际需求配置。若上联接口是Eth-Trunk,应在逻辑聚合接口及设备支持的相应配置层级操作,不能直接照搬单物理口示例。
五、第三步:在接入交换机启用DHCP Snooping
1. 全局开启
部分华为VRP交换机使用:
dhcp snooping enable
2. 在业务VLAN中开启
vlan 100
dhcp snooping enable
quit
不同系列可能支持在VLAN视图、接口视图或其他层级启用。应以本机
dhcp snooping ?和对应版本配置手册为准。
3. 将连接合法DHCP服务器方向的上联口设为Trusted
interface GigabitEthernet 0/0/24
dhcp snooping trusted
quit
这里最关键:Trusted端口是“合法DHCP服务器报文进入本交换机的方向”,不是简单把所有上联或所有Trunk都设为Trusted。
4. 普通终端接入口保持Untrusted
用户端口通常默认为非信任状态。可以查看当前状态;如果设备支持显式恢复默认信任属性,可使用相应undo命令。不要把连接普通电脑、AP、家用路由器的端口设为Trusted。
六、核心与接入交换机分别需要配置什么?
| 设备 | 必要配置 | DHCP Snooping重点 |
|---|---|---|
| 核心交换机 | VLANIF、DHCP地址池、Trunk放行 | 仅作为合法DHCP源时,不强制要求开启Snooping |
| 接入交换机 | 业务VLAN、上联Trunk、终端Access端口 | 全局/业务VLAN启用Snooping,上联合法DHCP方向设Trusted |
| 普通终端端口 | 正确VLAN | 保持Untrusted,阻止非法DHCP Offer/Ack |
| 中间汇聚交换机 | VLAN透传和正确的链路配置 | 若也开启Snooping,应按合法DHCP报文进入方向设置Trust |
典型错误:接入交换机启用了Snooping,但忘记把通往核心DHCP服务器的上联端口设为Trusted,结果所有客户端都获取不到地址。
七、第四步:查看DHCP Snooping状态
不同型号的显示命令可能有所区别,常见查询方式包括:
display dhcp snooping configuration
display dhcp snooping user-bind all
部分版本支持查看Snooping统计或丢弃计数,可在用户视图执行:
display dhcp snooping ?
重点检查:
- 全局和VLAN 100是否启用了Snooping。
- GE0/0/24是否为Trusted。
- 终端口是否为Untrusted。
- 终端成功获取地址后,是否生成用户绑定记录(是否生成及显示字段依赖型号、配置与报文学习条件)。
- 是否出现DHCP服务器报文被丢弃的统计。
注意:没有看到绑定表,不一定说明Snooping未生效。 还要结合终端续租、端口配置和设备统计综合判断。
八、第五步:验证合法DHCP能正常分配地址
先验证正常业务,再验证安全拦截。
Windows终端测试
在测试电脑的命令提示符中执行:
ipconfig /release
ipconfig /renew
ipconfig /all
预期结果:
IPv4 Address : 192.168.100.x
Subnet Mask : 255.255.255.0
Default Gateway: 192.168.100.1
DHCP Server : 192.168.100.1
先记录原有网络配置;生产终端执行release可能导致业务中断,应使用测试电脑。
检查终端能否访问网关:
ping 192.168.100.1
Ping可能被策略限制,不能作为唯一判断依据。
九、第六步:验证非法DHCP服务器是否被拦截
这是最关键的验收步骤。请在授权的测试环境或隔离测试VLAN进行,不要把未经批准的DHCP服务器直接接入生产网。
测试思路:
- 准备一台受控的测试DHCP服务器,设置与正式网络不同的测试地址池。
- 将它接入配置为Untrusted的测试端口。
- 让另一台测试终端重新申请DHCP地址。
- 检查终端仍然只接受合法DHCP服务器的分配结果。
- 在交换机上查看Snooping相关统计或日志,确认测试服务器的Offer/Ack等报文被拦截。
- 测试结束后关闭测试DHCP服务,恢复测试环境。
仅看到终端拿到了合法IP,并不能单独证明非法DHCP已被拦截;最好结合丢弃统计或镜像抓包确认。
可在交换机端口镜像或隔离实验环境中观察DHCP四步交互:
Discover → Offer → Request → ACK
判断标准:
| 验证项 | 预期结果 |
|---|---|
| 正常电脑获取IP | 成功,地址来自核心DHCP |
| 非信任端口发出的非法Offer/Ack | 被Snooping阻断 |
| 核心DHCP服务器回复 | 从Trusted端口正常进入 |
| 非法DHCP测试结束 | 关闭测试服务并恢复现场 |
十、常见故障与排查
故障1:开启Snooping后,所有电脑都获取不到IP
优先检查:
1. 上联口是否设置为Trusted
2. VLAN 100是否允许通过Trunk
3. DHCP服务器是否正常运行
4. DHCP报文是否经过了其他启用Snooping的交换机
5. 是否存在Relay、Option 82或安全策略兼容问题
故障2:非法DHCP仍能分配地址
优先检查:
1. 业务VLAN是否真正启用Snooping
2. 非法DHCP所在端口是否被误设为Trusted
3. 是否存在绕过当前接入交换机的二层路径
4. 是否有其他VLAN未受保护
5. 设备是否支持对应端口类型的Snooping
故障3:核心启用了DHCP,但部分楼层拿不到IP
重点排查各楼层接入交换机的上联Trust配置、Trunk VLAN放行、汇聚链路以及DHCP Relay路径。若只有某一台接入交换机异常,优先与同型号正常交换机逐项对比。
故障4:启用后出现Option 82兼容问题
部分网络在Snooping或Relay场景下会插入、检查或转发DHCP Option 82。若核心DHCP服务器对该选项处理不兼容,可能导致分配失败。应先抓包确认Option 82是否存在,再按具体设备型号、版本和服务器策略调整,不要在不了解作用的情况下直接全网关闭相关功能。
十一、生产环境部署注意事项
- 先备份配置,再选择一个测试VLAN或一台接入交换机试点。
- 先确认DHCP源的位置和报文实际路径,再设置Trusted端口。
- 若核心或汇聚也启用Snooping,应单独设计每台设备的信任边界。
- DHCP Snooping不等于ARP防护;需要时可结合动态ARP检测、IP Source Guard等能力,但应确认绑定表与设备兼容性。
- 对于连接AP、IP电话、下级交换机的端口,需先确认业务拓扑及是否可能存在合法DHCP服务器方向,不能只按设备名称决定Trust。
- 部署后记录正常地址获取、非法DHCP拦截和故障回退的测试结果。
十二、总结
当DHCP服务器部署在核心交换机时,最常见的部署方式是:
核心交换机:提供合法DHCP服务、配置业务VLAN和链路
接入交换机:启用DHCP Snooping
接入上联口:Trusted(合法DHCP服务器方向)
普通用户端口:Untrusted
正确的验收必须同时满足两点:合法DHCP正常分配地址,非法DHCP服务器报文确实被阻断。
以上命令适用于部分华为VRP系列交换机。实际项目中,应根据设备型号、软件版本、接口类型和现有配置进行调整,不建议未经测试直接批量下发到生产网络
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)