把每个故障讲成可以抄作业的案例。—— 网络工程师老李一、先别急着重启169.254 说明了什么会议室电脑上不了网右下角提示“未识别的网络”。打开命令行执行ipconfig /all如果当前启用的网卡拿到169.254.x.x同时显示DHCP 已启用是但没有有效租约通常说明客户端已经尝试通过 DHCP 获取地址却没有得到可用的 DHCP 配置。Windows 会在 DHCP 获取失败后启用自动专用 IP 寻址也就是常说的 APIPA。这里先纠正一个常见但不严谨的说法169.254.x.x不等于“客户端一定没有收到 ACK”。它只能证明最终没有形成可用的 DHCP 租约。原因可能发生在 Discover 没发出、Offer 没回来、Request 没被接受、ACK 没到客户端也可能是客户端收到响应后又因地址冲突、驱动或安全软件等原因没有采用。排查时不要凭这个地址猜结论要找出四步交互具体断在哪里。先检查三件事地址是不是来自当前正在使用的网卡而不是旧网卡或虚拟网卡。网卡是否确实设置为自动获取 IPv4 地址是否存在静态地址、备用配置或策略残留。断开再连接一次并用ipconfig /renew复现给 DHCP 重试留几秒时间不要只抓一次报文就下结论。本文中的“会议室电脑”是便于讲解的典型场景不是直接引用某张真实工单。现场处置前仍应以实际拓扑和日志为准。二、抓住主线DORA 到底断在哪一步初次获取地址通常围绕四类报文阶段报文要回答的问题发现DHCP Discover客户端有没有把请求发出去接入交换机有没有收到提供DHCP OfferDHCP 服务器或中继有没有给出可用地址请求DHCP Request客户端有没有接受并请求这个地址确认DHCP ACK服务器有没有确认租约客户端有没有成功应用后续续租还会出现单播 Request、ACK、NAK故障不只发生在首次上线。排查时先固定一个判断客户端发了什么、第一跳设备收到了什么、服务器回了什么。只要沿这条链路做一次同时间的对照就能把问题从“十几条可能原因”压缩到一层。三、现场快速分流先做三组对照为了避免一上来就翻全局配置建议先做三组成本低、信息量高的对照测试。对照 1换终端不换端口在同一端口接入一台已知正常的终端执行自动获取。新终端正常重点查原终端的网卡、操作系统、安全软件、驱动或 DHCP 策略。两台终端都失败继续向上排查端口、VLAN、网关、DHCP 中继或服务器。对照 2换端口不换终端把原终端接到同一 VLAN 的测试端口条件允许时再接入相邻 VLAN 的测试端口。换到同 VLAN 正常原端口配置、链路或认证策略可疑。换 VLAN 后正常原 VLAN 的网关、中继、地址池或 Snooping 策略可疑。所有端口都失败范围通常在 DHCP 中继、服务器或全局策略。对照 3观察复现是否稳定每台新终端都失败更像配置、链路或容量问题。偶发失败、重连后恢复重点查地址池临界耗尽、冲突地址、DHCP 报文丢弃、链路抖动和服务器响应。同一 MAC 反复出现考虑终端反复重试、认证策略、仿冒或无线漫游。这三组动作不会直接给出根因但能回答“问题在终端、端口、VLAN还是 DHCP 系统侧”。四、六层排查法从离用户最近的地方向上走第 1 层终端与物理链路先确认终端侧的 DHCP 客户端行为ipconfig /all ipconfig /release ipconfig /renew重点看当前网卡是否为“自动获得 IPv4 地址”是否启用了 DHCP是否还有旧租约有线口、扩展坞、USB 网卡是否被禁用或切换到了别的网络终端防火墙、EDR、准入客户端是否拦截 DHCP 或限制网卡。再换网线、换端口或更换终端做交叉验证。若端口物理状态异常检查接口display interface brief display interface GigabitEthernet 1/0/1物理层正常并不代表业务 VLAN 正确。二层配置要单独核对。第 2 层端口、VLAN 和网关确认终端端口所在 VLANdisplay port vlan GigabitEthernet 1/0/1 display vlan 20接入口重点看 PVIDTrunk 口重点看允许通过的 VLAN。PVID 配错时终端可能被分到另一广播域表现很像“DHCP 服务器不回话”。再检查该 VLAN 的三层接口display ip interface brief display ip interface Vlanif20对于中继场景Vlanif20 不仅要UP还要满足以下条件已配置该网段的地址已在接口上选择 DHCP 中继模式已指定正确的 DHCP 服务器或服务器组从设备到服务器存在可达路由中间 ACL、防火墙或 VPN 没有拦截 UDP 67/68。注意VLAN 决定报文落在哪个广播域Vlanif 负责三层网关和中继。二者相关但不是同一个配置项。第 3 层DHCP Snooping 与二层过滤DHCP Snooping 是接入层高频问题点。先看运行信息再看丢弃计数display dhcp snooping display dhcp snooping configuration display dhcp snooping statistics global针对具体端口查看display dhcp snooping interface GigabitEthernet 1/0/1 display dhcp snooping statistics interface GigabitEthernet 1/0/1检查顺序如下全局是否已执行dhcp enable。是否已在全局使能dhcp snooping enable。是否在用户侧接口或对应 VLAN 使能 DHCP Snooping。指向可信 DHCP 服务器或可信中继路径的接口是否配置了dhcp snooping trusted。在接口视图中的基本配置示意如下system-view dhcp enable dhcp snooping enable interface GigabitEthernet 1/0/1 dhcp snooping enable quit interface GigabitEthernet 1/0/2 dhcp snooping trusted quit上例中GE 1/0/1接用户GE 1/0/2是通往可信 DHCP 服务器或中继的路径。实际配置应根据拓扑确定不能机械地“把所有上联口都设为 trust”。华为 V200R025C00 文档明确说明接口默认是非信任状态应把与管理员信任的 DHCP 服务器直接或间接连接的接口设为信任接口。若看到Dropped by untrust reply或Dropped by no trust port持续增长就要重点核对信任口方向和 Snooping 作用域。还要检查是否存在 DHCP 报文丢弃策略、仿冒服务器防护或速率限制ACL 是否阻止 UDP 67/68终端是否跨 Trunk、VLAN Mapping、MUX VLAN、VXLAN 或 VRRP 场景接入静态绑定、ARP 检测和 IP Source Guard 是否造成联动影响。第 4 层DHCP 中继先确认中继配置display dhcp relay configuration display dhcp relay interface Vlanif20重点核对客户端 VLAN 是否由正确的 Vlanif 处理dhcp select relay是否生效DHCP 服务器地址或服务器组是否正确中间路由、VPN 实例和回程路由是否一致Option 82、Link-selection、VRF 检查等策略是否符合服务器要求中继是否收到客户端报文是否把请求发向服务器。再查看中继统计display dhcp relay statistics这些计数器是累计值。建议先记录一次让终端重新请求再记录一次对比增量更有意义。不要在未评估影响的生产设备上随意清零统计。典型判断DISCOVER received增长但无服务器回包查服务器地址、路由、ACL 和服务器端收到OFFER却未正常发回客户端查回程、VLAN、Snooping、ACL 和终端定位Bad packets received增长抓包核对报文格式、VRF、广播域以及中间设备改写。第 5 层DHCP 服务器与地址池在服务器侧查看配置、报文统计和地址池display dhcp server configuration display dhcp server statistics display ip pool name vlan20 used若使用接口地址池则用display ip pool interface Vlanif20 used全局地址池和接口地址池的差异要分清接口地址池地址范围与服务器接口地址同网段通常用于服务器和客户端同网段。全局地址池服务器可根据请求中的 Giaddr 选择不同网段地址池常用于跨网段中继。检查地址池时不要只看一个Used数字还要看Total、Used、Idle、Expired、Conflict、Disable的构成Used是否接近可用总量Conflict是否大量堆积Expired是否长期异常池网段、掩码、网关、DNS 和排除地址是否与终端 VLAN 一致是否有静态绑定、固定分配或异常客户端快速占用地址。华为文档说明当地址池中 Idle 状态地址耗尽时会自动回收 Expired 地址Idle 和 Expired 都耗尽后还可能自动回收 Conflict 地址。因此看到地址池接近满时不能简单地把“清租约”当作标准修复动作应先确认容量是否真的不足、是否有攻击或异常申请、冲突地址为何产生。服务器上有可用地址不一定会成功下发。还要检查是否存在与 Giaddr 匹配的地址池地址池是否被锁定租约、网关和出口参数是否完整服务器 Ping 探测是否把合法地址误判为冲突DHCP 数据库、服务器主备或 VRRP 场景是否配置正确服务器统计中 Discover 与 Offer、Request 与 ACK 的差量是否异常。第 6 层镜像抓包做最终定位当配置检查没有唯一结论时在终端接入端口或关键上行口做镜像抓包。抓包时记录端口、VLAN、终端 MAC、时间和一次完整复现过程。按以下逻辑判读抓包现象优先方向没有 Discover终端、网卡、安全软件、端口 Down 或接入认证有 Discover没有 Offer上游二层丢弃、中继未转发、服务器未响应、无匹配地址池、地址池不可分配有 Offer没有 Request客户端拒绝 Offer、参数异常、地址冲突检测或终端策略有 Request没有 ACK服务器拒绝/无响应、回程丢失、Snooping/ACL/VLAN 丢弃Request 和 ACK 都有终端仍为 169.254客户端没有应用租约查驱动、安全软件、接口选择和终端事件日志抓包和计数器要互相对照。单个计数器只能说明“发生过”结合同一次复现的时间线才能说明“这次为什么失败”。五、故障树按证据走不按猜测走终端显示 169.254.x.x ├─ 换终端仍失败 │ ├─ 否查原终端、网卡、驱动、安全软件和 DHCP 策略 │ └─ 是继续向上 ├─ 换端口或 VLAN 后恢复 │ ├─ 是查原端口 PVID、VLAN、认证、链路和 Snooping 作用域 │ └─ 否继续向上 ├─ Snooping 丢弃计数增长 │ ├─ 是核对 trusted 接口方向、全局/接口使能、ACL 和报文策略 │ └─ 否继续向上 ├─ 中继收到 Discover 却收不到服务器回应 │ ├─ 是查服务器地址、路由、VRF、ACL 和服务器统计 │ └─ 否继续向上 ├─ 地址池接近耗尽或无可用地址 │ ├─ 是扩池、排除错误占用、排查冲突或异常申请 │ └─ 否继续抓包 └─ 抓到完整 DORA 但终端仍未采用 └─ 回到客户端侧查租约应用和终端事件六、处置时注意什么修复配置不要只“弄好一台”如果确认是 Snooping 信任口错误要同时检查该 VLAN、同型号设备和其他接入交换机的相同模板避免只改当前端口。如果确认地址池耗尽应先判断是容量规划不足、固定地址占用、异常 DHCP 请求还是冲突地址堆积。单纯缩短租期可能加快地址回收但不能替代容量评估和异常终端治理。如果怀疑 DHCP 报文丢弃修改 ACL 或安全策略前先做镜像验证。不要为了“让这台电脑先上网”直接关闭整个 VLAN 的安全特性。修改后要闭环验证至少完成以下验证原故障终端连续三次释放、重新获取均能拿到正确网段地址。同 VLAN 的另一台终端可以正常获取。网关、DNS、路由和业务访问均正常。DHCP Snooping 关键丢弃计数不再增长。中继、服务器和地址池统计出现完整的请求与回应。变更记录、根因、影响范围和回退方案已归档。七、怎么把问题挡在下一次故障之前1. 把命令核验纳入发布和变更流程设备型号、VRP 版本和组网不同命令格式和回显可能不同。可用?补全命令发布前在目标版本上确认关键回显。例如查询接口 Snooping 运行状态时要带上接口display dhcp snooping interface GigabitEthernet 1/0/1而不是只执行一个没有接口参数的display dhcp snooping interface。2. 监控地址池不只看设备是否在线建议监控地址池利用率Conflict 数量及增长速度Idle 和 Expired 的剩余量DHCP Discover 与 Offer、Request 与 ACK 的增量差异DHCP Snooping 的丢弃计数DHCP 中继的 Bad packets 和服务器无响应。阈值可按地址池规模分级设置。华为设备支持配置地址耗尽告警现网应结合 SNMP、日志或监控平台形成可通知、可闭环的阈值而不是等用户报障后才发现池满。3. 接入配置模板做一致性检查上线 CheckList 至少包含用户侧 VLAN、PVID 和网关 Vlanif中继模式、服务器地址和回程路由DHCP Snooping 全局、VLAN/接口作用域信任口是否指向可信服务器或中继路径ACL、认证和端口安全策略地址池容量、排除地址和冲突告警测试终端的完整获取流程。4. 保留可用的应急路径关键会议室、诊室或生产岗位可准备受控的备用接入方案和操作说明。应急方案必须与 DHCP 主流程隔离、可回退并由授权人员执行不建议长期依赖手机热点解决办公网设计问题。八、命令速查表排查目标命令重点看什么终端状态ipconfig /all活动网卡、DHCP 是否启用、是否有租约端口 VLANdisplay port vlan GigabitEthernet 1/0/1PVID、Trunk 允许 VLANVlanif 状态display ip interface Vlanif20IP、接口状态、三层配置Snooping 运行信息display dhcp snooping全局、接口/VLAN、Trusted interfaceSnooping 配置display dhcp snooping configuration全局和接口/VLAN 是否使能Snooping 丢弃display dhcp snooping statistics globaluntrust reply、no trust port等中继配置display dhcp relay configuration服务器地址、服务器组、Giaddr中继统计display dhcp relay statisticsDiscover/Offer/ACK 的去向服务器统计display dhcp server statistics请求与回应的差量、Bad messages地址池使用display ip pool name vlan20 usedUsed、Idle、Expired、Conflict接口地址池display ip pool interface Vlanif20 used接口池地址状态地址池总览display ip pool name vlan20池网段、网关、排除地址和统计信息九、最后记住这条排查原则遇到169.254.x.x不要从“重启终端”开始也不要直接断定是服务器。先保留现场再做交叉验证然后用 DORA 四步把范围压缩到终端、二层、中继或服务器。一句话带走先看报文走到哪里再看配置为什么让它停在那里。如果你在现场遇到过“抓包明明有 ACK终端却仍是 169.254”或“Snooping 信任口没丢包但就是拿不到地址”的情况可以把脱敏后的拓扑、关键回显和时间线整理出来后续可以做成故障复盘案例。
阅读完成 · 觉得有帮助?