华为交换机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服务器位置核心交换机
业务VLAN100
网关/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 ?

重点检查:

  1. 全局和VLAN 100是否启用了Snooping。
  2. GE0/0/24是否为Trusted。
  3. 终端口是否为Untrusted。
  4. 终端成功获取地址后,是否生成用户绑定记录(是否生成及显示字段依赖型号、配置与报文学习条件)。
  5. 是否出现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服务器直接接入生产网。

测试思路:

  1. 准备一台受控的测试DHCP服务器,设置与正式网络不同的测试地址池。
  2. 将它接入配置为Untrusted的测试端口。
  3. 让另一台测试终端重新申请DHCP地址。
  4. 检查终端仍然只接受合法DHCP服务器的分配结果。
  5. 在交换机上查看Snooping相关统计或日志,确认测试服务器的Offer/Ack等报文被拦截。
  6. 测试结束后关闭测试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系列交换机。实际项目中,应根据设备型号、软件版本、接口类型和现有配置进行调整,不建议未经测试直接批量下发到生产网络

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐