睿诚科技协会

Mac重启网络命令是什么?

在 macOS 系统中,当遇到网络连接异常、无法上网或需要刷新网络配置时,除了通过图形界面操作外,还可以使用命令行工具快速重启网络服务,命令行操作通常更高效,尤其适合开发者或高级用户,本文将详细介绍 macOS 中重启网络的多种命令方法、适用场景及注意事项,帮助用户在不同情况下解决网络问题。

macOS 的网络服务由系统内置的网络配置工具管理,常用的命令包括 ifconfignetworksetupdscacheutilkillall 等,这些命令可以单独使用,也可以组合实现更复杂的网络重置操作,需要说明的是,部分命令需要管理员权限(sudo),因此在执行前可能需要输入用户密码。

基础网络重启命令

重启特定网络接口

macOS 的网络连接依赖于不同的接口,如 Wi-Fi(en0)、以太网(en1)等,使用 ifconfig 命令可以查看当前活动的网络接口,并通过先关闭再开启接口的方式重启网络,重启 Wi-Fi 接口的操作如下:

sudo ifconfig en0 down
sudo ifconfig en0 up

执行后,系统会重新激活 en0 接口,相当于一次“软重启”,如果不确定接口名称,可通过 ifconfig | grep "active" 命令查看当前活动的网络接口列表。

使用 networksetup 重置网络服务

networksetup 是 macOS 专用的网络配置工具,功能比 ifconfig 更全面,重启 Wi-Fi 网络服务的命令为:

sudo networksetup -setairportpower Wi-Fi off
sudo networksetup -setairportpower Wi-Fi on

对于以太网连接,则使用以下命令:

sudo networksetup -setnetworkserviceenabled Ethernet off
sudo networksetup -setnetworkserviceenabled Ethernet on

networksetup 还支持重置 DNS、代理等配置,适合需要全面清理网络设置的场景。

深度网络重置命令

清除 DNS 缓存

网络连接异常有时与 DNS 缓存有关,macOS 的 DNS 缓存由 mDNSResponderdiscoveryd 服务管理(不同系统版本可能不同),可通过以下命令清除:

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

执行后,系统会重新加载 DNS 配置,解决因缓存导致的域名解析失败问题。

重置网络配置(高级操作)

如果上述方法无效,可以尝试重置整个网络配置,这会删除所有网络设置(包括 Wi-Fi 密码、代理配置等),恢复到系统默认状态,操作步骤如下:

  1. 备份当前网络配置(可选):
    sudo cp /etc/bootpd.plist ~/Desktop/bootpd_backup.plist
  2. 删除网络配置文件:
    sudo rm -rf /etc/bootpd.plist
    sudo rm -rf /etc/resolv.conf
    sudo rm -rf /Library/Preferences/SystemConfiguration/preferences.plist
    sudo rm -rf /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
  3. 重启网络服务:
    sudo ifconfig en0 down
    sudo ifconfig en0 up
  4. 重启系统使配置生效:
    sudo reboot

    注意:此操作会丢失所有自定义网络设置,执行前请确保已备份重要数据。

自动化脚本与批量操作

对于需要频繁重启网络的场景,可以编写 Shell 脚本实现自动化,以下脚本可一键重启所有活动网络接口:

#!/bin/bash
# 获取所有活动接口
interfaces=$(ifconfig | grep "active" | awk '{print $1}')
# 逐个重启接口
for interface in $interfaces; do
    sudo ifconfig $interface down
    sudo ifconfig $interface up
    echo "已重启接口: $interface"
done
# 清除 DNS 缓存
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
echo "网络服务重启完成"

将脚本保存为 restart_network.sh,通过 chmod +x restart_network.sh 添加执行权限后,直接运行即可。

不同 macOS 版本的兼容性

不同版本的 macOS 可能存在命令差异。

  • macOS Catalina 及更高版本:推荐使用 networksetupdscacheutil
  • macOS Mojave 及更早版本:可能需要使用 discoveryd 替代 mDNSResponder
  • Apple Silicon 芯片:部分命令可能需要通过 Rosetta 2 兼容层执行。

以下是常见 macOS 版本的命令对照表:

操作场景 macOS Big Sur 及更高版本 macOS Mojave 及更早版本
清除 DNS 缓存 sudo dscacheutil -flushcache sudo discoveryd -flushcache
重启 Wi-Fi 服务 sudo networksetup -setairportpower Wi-Fi off/on 同左
重置网络配置 删除 /Library/Preferences/SystemConfiguration/ 下的配置文件 同左

注意事项与常见问题

  1. 权限问题:所有涉及 sudo 的命令都需要管理员权限,若提示“command not found”,可能是命令拼写错误或系统版本不兼容。
  2. 接口名称变化:USB 转接的以太网接口名称可能为 en2en3 等,需通过 ifconfig 实时确认。
  3. 系统稳定性:频繁重启网络接口可能导致临时连接中断,建议仅在必要时操作。
  4. 第三方工具干扰:部分 VPN 或网络优化工具可能会拦截命令行操作,需暂时关闭此类软件。

相关问答 FAQs

问题 1:执行 sudo ifconfig en0 up 后提示 "SIOCSIFFLAGS: Cannot assign requested address",如何解决?
解答:此错误通常表示接口名称错误或硬件故障,首先确认接口名称是否正确(通过 ifconfig 查看),若名称无误,可能是网卡驱动问题,尝试重启系统或更新 macOS 版本,若问题依旧,可能需要联系 Apple 技术支持。

问题 2:为什么重置网络配置后 Wi-Fi 密码丢失?如何恢复?
解答:重置网络配置会删除 /Library/Preferences/SystemConfiguration/ 目录下的所有配置文件,包括存储的 Wi-Fi 密码,恢复方法有两种:一是通过时间机器备份恢复配置文件;二是手动重新输入 Wi-Fi 密码,建议在重置前使用 sudo cp /Library/Preferences/SystemConfiguration/preferences.plist ~/Desktop/ 备份配置文件。

分享:
扫描分享到社交APP
上一篇
下一篇