最常见原因是DHCP租约续期失败:租期到期后因请求丢失、路由器无响应或本地配置异常,Mac保留失效IP致“已连未通”;手动强制续租可快速恢复。

macOS 网络连接的 DHCP 租期续约失败,是“已连上 Wi-Fi 却上不了网”的最常见原因。系统在租约过半时会自动尝试续期,但若请求被丢弃、路由器无响应或本地配置异常,就会卡在旧地址——它仍显示“已连接”,实际数据包无法发出。手动触发续约能绕过图形界面延迟或后台阻塞,快速恢复联网。
确认当前是否启用 DHCP 模式
终端命令只对 DHCP 模式下的接口生效。如果 Wi-Fi 被设为静态 IP,sudo ipconfig set en0 DHCP 会被静默忽略:无报错、图标不闪、IP 不变。
- 运行 networksetup -getinfo "Wi-Fi",查看输出中是否含 “DHCP” 字样;若只显示 IP 地址(如 IP address: 192.168.1.105)而无 DHCP 提示,说明当前不是 DHCP 模式
- 已设静态 IP 的,需先切回 DHCP:sudo networksetup -setdhcp "Wi-Fi"
准确识别网络接口名称
en0 并非通用接口名。M1/M2 Mac 的 Wi-Fi 常为 en0,但 USB-C 以太网适配器可能是 en7、en9,Thunderbolt 网卡也可能不同。
- 运行 ifconfig | grep "en[0-9]:"
- 观察哪个接口有 status: active 且紧跟 inet(后接 IP 地址),记下该接口名(如 en7)
- 后续所有命令中的 en0 需替换为这个实际接口名
执行强制 DHCP 续约
释放旧租约并立即请求新地址,是最直接有效的操作。成功时 Wi-Fi 图标会短暂脉动闪烁,ipconfig getifaddr en0 应返回新 IP。
- 释放当前地址:sudo ipconfig set en0 NONE
- 请求新地址:sudo ipconfig set en0 DHCP
- 或一步到位(部分 macOS 版本更稳定):sudo dhclient -r en0 && sudo dhclient en0
补充验证与常见补救
拿到新 IP 不代表一定能上网。DNS 缓存异常、路由器响应延迟或本地配置残留都可能阻断访问。
- 检查新地址是否生效:ipconfig getifaddr en0
- 刷新 DNS 缓存(Sequoia 及更新版):sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
- 若仍无法解析域名,进入“系统设置→网络→Wi-Fi→详细信息→DNS”,手动添加公共 DNS,例如 8.8.8.8 和 1.1.1.1


















