Linux重启网络服务需先判断当前使用的网络管理机制:运行systemctl is-active NetworkManager、systemctl is-active systemd-networkd或systemctl is-active networking确认主力服务,再执行对应restart命令;Netplan配置则用sudo netplan apply;单网卡故障可用sudo ip link set down/up软重启;最后须验证IP、路由、DNS连通性。

Linux重启网络服务没有统一命令,得看系统用的是哪种网络管理机制。不同发行版、不同版本的默认服务不一样,硬套 systemctl restart network 很可能报错“Unit not found”。关键不是记命令,而是先判断当前系统在用什么。
确认你用的是哪个网络服务
现代 Linux 系统主要有三类网络管理方式,运行下面命令就能快速区分:
- 查 NetworkManager(桌面环境、Ubuntu 20.04+/CentOS 7+ 常见):
systemctl is-active NetworkManager - 查 systemd-networkd(部分服务器、无 GUI 场景):
systemctl is-active systemd-networkd - 查传统 networking(Debian/Ubuntu Server 旧版,依赖
/etc/network/interfaces):systemctl is-active networking
多数新装系统只激活其中一个。如果看到 active,就说明它是当前主力;如果显示 inactive 或 unknown,基本不用管它。
按服务类型执行对应重启操作
确定主力服务后,直接执行对应命令即可,不需要额外检查配置文件是否生效:
- NetworkManager:
sudo systemctl restart NetworkManager
顺便刷新连接定义:nmcli connection reload - systemd-networkd:
sudo systemctl restart systemd-networkd - networking(Debian/Ubuntu Server):
sudo systemctl restart networking
可加校验:sudo ifquery --check -a - Netplan 配置(Ubuntu 18.04+):
改完/etc/netplan/*.yaml后只需:sudo netplan apply
只想重置某块网卡,不碰服务
当只是网卡失联、IP 没更新,或 NetworkManager 卡住时,单独操作接口更安全、更快:
- 先看真实接口名:
ip -br a | grep UP(常见如ens33、enp0s3、eth0) - 软重启该接口(推荐,无需安装额外工具):
sudo ip link set ens33 down && sudo ip link set ens33 up - 若系统装了
net-tools,也可用:sudo ifdown ens33 && sudo ifup ens33
这种方式不依赖上层服务状态,适合故障排查初期快速验证。
重启后快速验证是否成功
别只看服务状态绿了就以为好了,实际连通性才是关键:
- 查 IP 是否还在:
ip -4 a show scope global - 测默认路由和网关通不通:
ip route | grep default,再ping -c3 $(ip route | awk '/default/ {print $3}') - 确认 DNS 可用:
getent hosts google.com或nslookup google.com
如果 IP 显示正常但 ping 不通网关,问题大概率出在物理链路或交换机端口;如果能通网关但解析不了域名,重点查 /etc/resolv.conf 或 DNS 配置来源。










