首页/网络/IP 与子网速查/169.254 自救地址(APIPA)与 DHCP 失败排查
私网与特殊地址45 条

169.254 自救地址(APIPA)与 DHCP 失败排查

主机拿不到 DHCP 时会自配 169.254.x.x/16(APIPA,RFC 3927):同链路段设备可互 ping,但没有网关上不了网。排查顺序:DHCP 服务/中继 → 地址池 → 链路与 VLAN → 客户端配置。

IP 与子网速查网络更新于 2026-10-13

APIPA 是什么

169.254.0.0/16 是 RFC 3927 定义的链路本地地址段,Windows 上称 APIPA。当网卡设为自动获取地址、DHCP 请求却始终没有应答时,主机会从这个段里随机挑一个地址自配,掩码固定 255.255.0.0,并且不写默认网关。它的出现本身就是告警:二层可能通,三层却出不去网。

基本信息

地址段169.254.0.0/16(可用 169.254.0.1 – 169.254.255.254)
掩码255.255.0.0,固定 /16,与原有网段无关
触发条件DHCP 无响应、地址池耗尽、中继或 VLAN 配错、网卡驱动异常
平台差异Windows/macOS 默认启用;部分 Linux 发行版需 avahi-autoipd 才自配
能力边界无网关、无 DNS,只能与本链路段同状态设备互 ping

典型使用场景

  • 新装机器或新接网口后上不了网,先用它判断问题出在拿地址阶段还是路由阶段
  • 两条网线误接同一台电脑、VLAN 划错时,两端都会自配 169.254 地址,成为现场最直观的旁证
  • 小型临时直连:两台笔记本网线对接、关闭 DHCP 时会自动互配 169.254 地址,可立即互传文件
  • 排查 DHCP 服务端:客户端反复拿到 169.254,说明 DISCOVER 没到达服务器,重点查中继与三层网关
  • 虚拟机与宿主机桥接配置错误时,虚机常显示 169.254 地址,比看日志更快定位

三步判定

三步判定
# 1. 看当前地址
ip addr show eth0            # Linux:出现 169.254.x.x 即 DHCP 失败
ipconfig /all                # Windows:显示“自动配置 IPv4 地址”
# 2. 看 DHCP 交互过程,确认有没有收到 OFFER
dhclient -v eth0 2>&1 | tail -20
# 3. 抓包确认 DISCOVER 是否发出、有无回包
tcpdump -ni eth0 'udp port 67 or udp port 68'

排查顺序表

层次常见原因核对方式
接入层端口未划入正确 VLAN、端口被关闭交换机上查端口 VLAN 与状态
链路/中继DHCP 中继未配、中继指向的服务器地址错中继配置与 helper-address 核对
服务端地址池耗尽、租约表满、服务未启动服务状态与地址池使用率
客户端网卡被静态地址占用、防火墙拦 UDP 68客户端配置与本地防火墙策略
云环境子网无 DHCP、安全组拦掉 udp/68云平台子网与安全组规则
169.254.169.254 是云厂商元数据服务的专用地址,与 APIPA 故障无关;看到它属于正常用途,详见元数据条目。

易错点

  • 把 169.254 地址当成“已经连上网络”:没有网关,DNS 与跨网段访问必然失败,只是自欺欺人的绿灯
  • 手工把 169.254.x.x 配成静态地址做长期方案:同段设备随机选地址会撞车,RFC 3927 要求先做 ARP 探测,手工配置绕过了这一步
  • 只重启客户端不看服务端:池子耗尽或中继掉线时,重启多少次都只会再拿一个 169.254
  • 在已有正常 DHCP 的网段里两条链路同时接入:一部分流量走错出口,表现为时通时不通,先拔掉多余链路复测

数据来源与参考

  • RFC 3927(IPv4 链路本地)
  • Microsoft Learn(APIPA 排错)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌