DHCP服务器设置完后调试交换机,核心思路不是反复改配置,而是按“链路层 → VLAN → DHCP中继 → Snooping → 抓包验证”的顺序逐层排查,多数问题出在VLAN放行和中继接口上,这一步做对了,终端才能稳定拿到地址。
设备接入网络后,如果终端迟迟拿不到IP,很多人的第一反应是去查DHCP服务器的地址池,但实际上,服务器设置完成以后,剩下的问题往往都发生在交换机侧,下面按实际调试顺序拆开讲。
dhcp服务器设置完后怎么调试交换机:先查链路再查配置
调试的第一步不是看DHCP配置,而是确认物理链路和二层网络状态,DHCP虽然是应用层协议,但它依赖底层广播和三层转发,链路不通,后面所有检查都没有意义。
检查交换机与DHCP服务器之间的端口状态
登录交换机后,先看与服务器相连的接口是否UP,用 display interface(华为)或 show interfaces status(思科)查看端口状态,重点留意以下现象:
- 端口显示Down,通常是网线松动、光模块故障或对端设备没开机
- 端口显示Up但大量CRC错误,多半是物理链路质量差,这类问题会直接导致DHCP报文被丢弃
- 端口反复Up/Down,需要检查光模块温度、电压和收发光功率
如果DHCP服务器部署在虚拟机里,还要确认服务器所在物理主机的网卡是否正常,虚拟交换机的端口组有没有划分正确的VLAN,很多次调试半天发现是虚拟化平台的虚拟交换机把VLAN Tag丢了。
确认VLAN划分和Trunk口放行
DHCP请求是广播报文,广播只能在一个VLAN内传播,如果终端和DHCP服务器不在同一个VLAN,就需要靠三层中继转发,所以在调试交换机时,先确认以下几点:
- 终端所在接口的PVID是否与预期VLAN一致
- 交换机上行口如果是Trunk,Allowed VLAN列表里是否包含了DHCP服务器所在VLAN
- VLANIF接口是否创建且启用了IP地址,网关地址有没有和服务器地址规划冲突
行业共识认为,超过一半的DHCP故障是由VLAN放行不全引起的,特别是当网络里有多台交换机级联时,中间链路每跳都要允许对应VLAN通过,漏掉任何一条,就会出现“这个楼层能上网、那个楼层获取不到IP”的情况。
跨网段场景下的DHCP中继调试
如果DHCP服务器和终端不在同一个网段,交换机还要承担中继功能,这部分配置出错的频率最高。
中继配置在哪一层:VLANIF才是正确位置
以华为交换机为例,跨网段获取IP的标准配置是:
interface Vlanif 20 ip address 192.168.20.1 255.255.255.0 dhcp select relay dhcp relay server ip 192.168.1.10
思科交换机对应的命令是:
interface Vlan 20
ip address 192.168.20.1 255.255.255.0
ip helper-address 192.168.1.10
调试时要特别注意,中继配置必须放在VLANIF接口而不是物理接口上,如果把 dhcp relay server ip 配置在了GE0/0/1这种物理口上,这个接口往往只连接一个设备,中继报文根本不会被转发。
另一个容易忽略的地方是回程路由,DHCP服务器收到中继转发的请求后,回Offer包的目标地址是终端的IP地址,这个地址通常是服务器按中继接口的网段分配的,如果服务器到该网段的下一跳没有指回交换机,Offer包就会发不出来,调试时,在DHCP服务器上执行 tracert 192.168.20.100,能直接看清回程路径是否正常。
中继场景的抓包验证思路
配置完中继之后,不要急着说“调好了”,先做一次抓包验证,终端上用Wireshark过滤 dhcp 或 bootp,正常会看到四个阶段:
| DHCP阶段 | 报文方向 | 如果没看到,问题在哪 |
|---|---|---|
| Discover | 终端 → 全网广播 | 终端网卡未启用DHCP,或VLAN隔离了广播 |
| Offer | 服务器 → 终端 | 中继没转发,或服务器没有可用地址池 |
| Request | 终端 → 服务器 | Snooping拦截,或服务器回包路径不通 |
| ACK | 服务器 → 终端 | 同上,多数是回程路由问题 |
实际调试中,只有Discover没有Offer是最常见的情况,这时候抓包点可以放在交换机上行口,如果交换机上行口能看到Discover但没有转发出去的痕迹,说明中继配置没有生效,仔细检查VLANIF下的 dhcp select relay 和 dhcp relay server ip 是不是都配上了。
调试交换机时别忽略DHCP Snooping干扰
中继配置没问题,地址池也充足,但终端还是拿不到IP,这时候要怀疑交换机上的DHCP Snooping功能在“捣乱”,DHCP Snooping的作用是防止私接路由器或伪造DHCP服务器,它会把交换机端口划分为信任端口和非信任端口。
Snooping配置错误的典型表现
如果交换机上开启了DHCP Snooping,但没有把连接DHCP服务器的端口设置为信任端口,那么服务器发回来的Offer包会被交换机直接丢弃,终端这边只看到Discover发出去,然后就一直收不到任何响应。
调试命令如下:
- 华为查看是否开启:
display dhcp snooping - 华为查看信任端口:
display dhcp snooping interface
- 思科查看绑定表:
show ip dhcp snooping binding
连接终端的端口应该是非信任端口,连接DHCP服务器的端口必须是信任端口,这个逻辑很多初次接触的人会搞反,正确配置示例:
dhcp snooping enable
interface GigabitEthernet0/0/24
dhcp snooping trusted
这里G0/0/24是接DHCP服务器的上行口,调试时如果不确定哪些端口是信任端口,可以先把Snooping全局关闭,看终端能否获取地址,如果能获到,就说明Snooping配置有问题;如果仍获取不到,问题就不在Snooping上。
绑定表是排查获不到地址的抓手
终端成功获取到IP后,交换机会自动生成一条DHCP Snooping绑定表,记录终端的MAC地址、IP地址、VLAN、端口和租期,如果终端拿到了地址但无法上网,检查绑定表里有没有记录,也是个高效的办法:
- 绑定表为空:说明终端根本没有和DHCP服务器完成交互
- 绑定表存在但上网不通:问题可能出在网关路由或ACL策略上
调试完后的验证清单:别急着收工
调试结束前,按下面这个清单过一遍,能避免很多返工。
三层网关、ACL、端口隔离是否影响DHCP后续流程
DHCP报文虽然能交互成功,但如果VLANIF接口上有入向ACL,或者终端端口加入了端口隔离组,终端拿到IP后依然无法通信,在调试时,把这三类配置一并检查:
- VLANIF下是否配置了traffic-filter或ACL,有没有放行DHCP服务器的地址段
- 终端接口的端口隔离是否阻止了访问网关
- 三层交换机上如果配置了VLAN间路由ACL,DHCP报文是否被拦在网关外
业内专家指出,调试DHCP问题不能只盯DHCP相关命令,应该按“终端 → 接入交换机 → 汇聚交换机 → 网关 → DHCP服务器”逐跳排查,这条路走通一次,以后定位问题能节省不少时间。
多VLAN场景的抽样验证
办公室网络往往有多个VLAN,调试完不要只测一个网段,选两个不同的VLAN,一个和服务器同网段,一个跨网段,分别测试地址获取情况,如果跨网段能拿到而本地网段拿不到,说明中继配置正确,问题出在同网段内的二层VLAN划分上。
记录一下常见交换机品牌在DHCP调试时的关键命令,方便现场快速调用:
- 华为:
display dhcp relay server、display dhcp snooping user-binding - 思科:
debug ip dhcp server packet、show ip dhcp snooping binding - H3C:
display dhcp relay、display dhcp client statistics
日志检查与租约状态确认
调试结束后,登录交换机用
display logbuffer 或 show log 查看有没有持续的DHCP相关告警,比如MAC地址漂移、ARP冲突、Snooping丢弃记录,这些日志能提示潜在隐患,特别是MAC地址漂移,如果终端频繁在不同端口之间移动,交换机的MAC表会不断刷新,DHCP报文也可能被错误转发到其他端口。
常见问题排查场景
以下问题都来自实际调试中反复出现的场景,照着检查能快速缩小范围。
获取不到ip地址时,交换机的排查命令有哪些
按以下顺序执行,不需要一次性全部敲完,而是每执行一步就观察结果:
display arp或show ip arp,看VLANIF网关是否解析到了终端MACdisplay dhcp snooping user-binding,确认有没有成功分配记录display interface Vlanif 20,确认接口状态和收发报文计数是否在增长
如果在VLANIF接口上看到入方向报文在涨,但出方向不涨,说明中继请求没有成功转发,问题在 dhcp relay server ip 配置;如果双向都在涨但终端拿不到地址,问题可能在服务器侧或回程路由。
DHCP服务器与交换机配置不匹配的常见表现
这类问题有比较明显的“症状”:部分VLAN能获取地址,部分不能;或同一VLAN内有些终端能获取、有些不行,出现这种情况,多数组网规划上出现了冲突:
- 地址池网段与VLANIF接口网段不一致
- DHCP服务器上绑定了固定IP,但交换机VLANIF地址占用了同一个地址
- 中继指向的服务器IP写错,指向了另一台不是DHCP服务器的设备
- 服务器上地址池的网关参数填错,终端获得的网关和交换机VLANIF不一致
拿不到地址后,可以先在终端上手动配置一个静态IP,填入与VLANIF相同网段的地址、网关设为VLANIF地址,如果能ping通网关,就排除了物理链路问题,剩下的重点检查DHCP中继和地址池参数。
交换机配置重启后丢失,DHCP调试是否需要重建
如果交换机之前没有保存配置,重启后DHCP中继和Snooping配置都会消失,重新配置后建议执行 save(华为)或 write(思科)保存,实际操作中,很多人在调试完成后忘了保存配置,第二天设备重启,业务恢复后又投诉网络不稳定,配置确认无误后立即保存,这是收尾的标准动作。
调试的完整路径应该是:先确认物理链路,再看VLAN放行,然后检查中继和Snooping,最后通过抓包确认四个DHCP阶段完整走通,按这个顺序排查,绝大多数DHCP服务器设置完后出现的问题都能在不拆包、不抓包的情况下快速定位。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/736697.html





