macOS网络异常可通过四步重置:一、系统设置中删除并重建网络服务;二、终端删除SystemConfiguration下5个plist文件及备份;三、networksetup命令清空接口配置并重启Wi-Fi;四、ifconfig与ipconfig命令重置接口状态并刷新DHCP租约。

如果您在 macOS 系统中遇到网络连接异常、接口状态紊乱、DHCP 获取失败或系统无法识别有线/无线设备等问题,可能是由于网络配置数据库(preferences.plist 及相关配置文件)损坏或残留旧配置所致。以下是重置网络配置数据库并初始化所有网络接口的完整操作步骤:
一、通过网络偏好设置界面重置服务顺序与接口配置
该方法利用系统内置图形界面工具清除当前网络服务列表,并重建默认服务顺序,适用于多数因服务冲突或配置错乱导致的连接异常。
1、点击屏幕左上角苹果图标,选择“系统设置”。
2、在左侧边栏点击“网络”,进入网络接口管理界面。
3、点击右下角三个点图标(…),选择“详细信息”。
4、在弹出窗口中切换至“服务”标签页,选中全部服务条目(按 Command+A 全选),点击左下角减号(−)按钮移除所有服务。
5、点击“完成”,关闭窗口后重新点击“+”号添加新服务,依次为 Wi-Fi、以太网等接口创建默认配置。
6、为每个新服务指定正确接口并启用,确保“自动”位置处于顶部以保障优先级。
二、终端命令行方式彻底删除网络偏好数据库
该方法直接删除核心网络配置文件 preferences.plist 及其备份副本,强制系统在下次启动网络服务时生成全新默认配置,可解决图形界面无法清除的深层配置残留问题。
1、打开“访达”,按下 Shift+Command+G,输入 /Library/Preferences/SystemConfiguration/ 并回车。
2、将以下五个文件拖入废纸篓:com.apple.airport.preferences.plist、com.apple.network.identification.plist、com.apple.wifi.message-tracer.plist、NetworkInterfaces.plist、preferences.plist。
3、打开“终端”应用,执行命令:sudo rm -f /Library/Preferences/SystemConfiguration/preferences.plist.backup。
4、执行命令:sudo touch /Library/Preferences/SystemConfiguration/preferences.plist 以创建空白占位文件(避免系统报错)。
5、重启 Mac,系统将在启动过程中自动生成全新的网络配置数据库。
三、使用 networksetup 命令批量禁用并重置所有网络接口
该方法通过命令行逐个操作物理与虚拟接口,清除其 IP 配置、DHCP 租约、DNS 设置及代理状态,确保底层接口回归出厂级初始状态。
1、在“终端”中运行:networksetup -listallhardwareports 查看当前所有硬件端口名称(如 en0、en1、bridge0 等)。
2、对每个列出的以 en*、ax*、llw*、bridge* 开头的接口,依次执行以下两条命令(以 en0 为例):sudo networksetup -setmanual en0 0.0.0.0 0.0.0.0;sudo networksetup -setdhcp en0。
3、针对 Wi-Fi 接口(通常为 en0 或 en1,需结合 listallhardwareports 输出确认),额外执行:sudo networksetup -setairportpower en0 off,等待 3 秒后执行:sudo networksetup -setairportpower en0 on。
4、运行:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder 清除 DNS 缓存与本地解析服务状态。
四、重建网络接口绑定与 DHCP 租约刷新
该方法聚焦于恢复接口与网络服务的动态绑定关系,并强制更新 IPv4 地址获取流程,适用于存在地址冲突、租约过期或 DHCP 客户端僵死的情况。
1、在“终端”中运行:sudo ifconfig en0 down(将 en0 替换为实际主接口名)。
2、等待 2 秒后执行:sudo ifconfig en0 up。
3、执行:sudo ipconfig set en0 DHCP 触发 DHCP 请求流程。
4、立即运行:ipconfig getpacket en0 检查是否成功接收 DHCP OFFER 与 ACK 包。
5、若未获取到地址,手动释放当前租约:sudo ipconfig set en0 NONE,再重复步骤 3。









