重要提示:首选推荐方法 (适用于现代 Ubuntu 系统)
对于 Ubuntu 18.04 及更新版本(包括 20.04, 22.04, 24.04 等),推荐使用 netplan 或 NetworkManager 的命令行工具来管理网络,而不是直接操作 /etc/network/interfaces 文件。

使用 systemctl (最通用、最推荐)
这是最标准、最可靠的方法,因为它直接与系统的网络服务管理器通信。
-
重启整个网络服务 这个命令会停止所有网络接口,然后重新启动它们,对于大多数情况,这是最直接有效的命令。
sudo systemctl restart networking
-
重新加载网络配置 如果你只是修改了网络配置文件(如 Netplan 的
01-netcfg.yaml),而没有改变接口的“启用/禁用”状态,使用reload更安全,它会应用新配置而不会中断现有连接。sudo systemctl reload networking
使用 nmcli (NetworkManager 的命令行工具)
如果你的系统使用 NetworkManager(这是桌面版 Ubuntu 的默认选择,如 Ubuntu Desktop, Kubuntu 等),nmcli 是最强大的工具。

-
重启所有网络连接 这个命令会禁用所有 NetworkManager 管理的连接,然后再重新启用它们。
sudo nmcli networking off sudo nmcli networking on
-
重启特定网络连接 如果你只想重启 Wi-Fi 或某个有线连接,可以指定其名称。
-
查看你的网络连接名称:
nmcli connection show
你会看到类似
Wired connection 1,MyHomeWiFi这样的名称。
(图片来源网络,侵删) -
重启指定的连接(例如名为 "Wired connection 1" 的连接):
sudo nmcli connection down "Wired connection 1" sudo nmcli connection up "Wired connection 1"
-
使用 ifdown 和 ifup (经典方法)
这个方法直接操作网络接口,非常直接。注意: 在使用前,你需要知道要重启的网络接口名称(如 eth0, ens33, wlan0 等)。
-
查找网络接口名称
ip addr show
在输出中找到你想要重启的接口,
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>,接口名就是eth0。 -
重启指定接口
# 先关闭接口 sudo ifdown eth0 # 再启动接口 sudo ifup eth0
注意: 如果你的系统配置为在
ifdown后自动ifup(Ubuntu 通常是),你可能只需要执行sudo ifdown eth0 && sudo ifup eth0。
如何选择使用哪个命令?
| 场景 | 推荐命令 | 原因 |
|---|---|---|
| 通用情况,不确定系统配置 | sudo systemctl restart networking |
最标准、最兼容、最可靠的方法。 |
| 桌面版 Ubuntu (Ubuntu Desktop, etc.) | sudo nmcli networking off && sudo nmcli networking on |
针对默认的 NetworkManager,操作更精确。 |
| 只想重启某个特定连接(如 Wi-Fi) | sudo nmcli connection down <连接名> && sudo nmcli connection up <连接名> |
最灵活,不影响其他网络连接。 |
| 服务器或旧版 Ubuntu (16.04及之前) | sudo ifdown <接口名> && sudo ifup <接口名> |
经典方法,在服务器环境中很常见。 |
| 修改了 Netplan 配置文件后 | sudo netplan apply |
netplan 的专用命令,会解析并应用新的配置。 |
故障排除:如果命令执行失败
如果你执行重启命令后网络仍然不工作,可以尝试以下步骤来排查问题:
-
检查网络服务状态
systemctl status networking
查看输出中是否有错误信息。
-
检查 NetworkManager 状态 (如果适用)
systemctl status NetworkManager
-
查看系统日志 网络相关的错误信息通常记录在系统日志中。
# 查看所有系统日志 journalctl -xe # 只查看和网络相关的日志 journalctl -u networking # 或者 journalctl -u NetworkManager
-
检查 IP 配置 确认你的网络接口是否获得了正确的 IP 地址。
ip addr show ip route show ping 8.8.8.8
对于绝大多数现代 Ubuntu 用户,sudo systemctl restart networking 是最值得记住和首选的命令,如果你使用的是桌面版,并且希望更精细地控制,nmcli 是你的最佳选择。
