IP、路由与 IPv6

Mac 使用了自分配 IP 地址

如果 Mac 没有收到 DHCP 服务器的响应,就会从 169.254.0.0/16 中给自己分配一个链路本地地址。这个地址无法访问互联网。

适用于:“系统设置”步骤适用于 macOS 13 Ventura 及更高版本。“终端”命令适用于所有当前 macOS 版本。核查日期:2026年10月29日

症状

  • 网络设置显示该服务使用的是自分配 IP 地址。
  • IP 地址以 169.254 开头。
  • Mac 已连接 Wi-Fi 或以太网,但无法上网。

可能的原因

  • DHCP 没有响应。路由器或 DHCP 服务器没有响应。ipconfig 的 man 手册页说明,此时 macOS 可能会分配链路本地地址。
  • DHCP 地址池已满。路由器没有空闲的地址可以分配。
  • 网线、转换器或 Wi-Fi 链路故障。DHCP 请求没有到达路由器。
  • 防火墙或过滤器。安全软件可能会拦截 DHCP 请求或响应。

如何检查

  1. 找到每个网络端口的设备名称,例如 Wi-Fi 是 en0。

    networksetup -listallhardwareports
  2. 显示该接口的 IPv4 地址。

    ipconfig getifaddr en0
  3. 显示 Mac 接受的 DHCP 数据包。没有输出表示 DHCP 没有成功。

    ipconfig getpacket en0
  4. 显示该服务的设置。要自动获取地址,“配置 IPv4”必须是“使用 DHCP”。

    networksetup -getinfo Wi-Fi

如何修复

  1. 续租 DHCP 租约。选取苹果菜单 >“系统设置”>“网络”。点按该服务,然后点按“详细信息”。

  2. 点按“TCP/IP”,然后点按“续租 DHCP 租约”。点按“好”。

  3. 如果“配置 IPv4”是“手动”,把它设为“使用 DHCP”,或使用这个命令。

    networksetup -setdhcp Wi-Fi

    需要管理员密码。

  4. 重启路由器,然后再次续租。

  5. 对于以太网,换一根网线、一个端口或一个转换器试试。

  6. 暂时关闭安全软件做个测试。如果之后 DHCP 正常,就检查它的设置。

使用 Kilobat

  1. kilobat diagnose 会检查路由器和互联网,并在路由器没有响应时给出建议。

    kilobat diagnose

常见问题

169.254 地址一定是坏事吗?

不一定。用一根网线相连的两台 Mac 可以通过链路本地地址通信,但这样无法访问互联网。

Mac 会自己重新尝试 DHCP 吗?

会,它会一直尝试。续租可以让它立即重试。

参考资料

参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本;在“终端”中用 man <name> 打开。