systemctl restart network 仅在 network.service 启用且 NetworkManager 未运行时有效;否则应使用 ifup/ifdown 或 nmcli 重启对应接口,并验证链路、IP 和路由状态。

systemctl restart network 是最直接有效的命令,但必须确认当前系统是否启用传统 network.service,否则会失败或无效果。
确认 network.service 是否可用
CentOS 7 默认同时安装 NetworkManager 和传统 network.service,但二者互斥:若 NetworkManager 正在运行,systemctl restart network 可能静默失败(返回 0 但实际未生效),甚至导致网络中断。
- 运行
systemctl status NetworkManager查看其状态;若显示active (running),说明它正在管理网络,此时network.service通常被 mask 或 disabled - 运行
systemctl is-enabled network;若输出disabled或masked,就不能靠systemctl restart network工作 - 检查配置文件是否存在:
ls /etc/sysconfig/network-scripts/ifcfg-*;若存在且对应接口名(如ifcfg-ens33)中含ONBOOT=yes,说明设计上支持network.service
重启单个网卡(推荐用于调试或临时恢复)
比重启整个服务更安全,尤其当远程登录时,避免全网中断。
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
- 先用
ip a或nmcli device status确认接口名(如ens33) - 执行
sudo ifdown ens33 && sudo ifup ens33—— 这组命令直接操作 ifcfg 配置,不依赖 service 状态,只要脚本存在就有效 - 注意:
ifup/ifdown依赖/etc/sysconfig/network-scripts/下的配置文件,若该目录为空或配置缺失,会报错device not managed或No configuration found for ens33
使用 NetworkManager 重启接口(当 NetworkManager 启用时)
这是 CentOS 7 官方推荐路径,尤其在桌面环境或云镜像中常见。
- 查连接名:
nmcli connection show,输出中第一列是连接名(常和接口名一致,但也可能是System ens33这类带空格的名称) - 重启连接:
sudo nmcli connection down "System ens33" && sudo nmcli connection up "System ens33"—— 注意连接名含空格时必须加引号 - 若只记得接口名,可用
sudo nmcli device disconnect ens33 && sudo nmcli device connect ens33,但该方式不重载 IP 配置,仅触发链路重连
重启后验证是否真正生效
别只看命令返回成功,关键看接口状态和路由是否恢复。
-
ip link show ens33中state UP表示链路层已激活 -
ip addr show ens33必须有 IPv4 地址(非127.0.0.1或空),且scope global -
ip route | grep ens33应出现默认路由或所在子网路由;若没有,说明 DHCP 未获取或静态路由未加载 - 远程机器上
ping -c3 <your-centos-ip></your-centos-ip>比本地ping 8.8.8.8更能反映真实连通性——后者可能走 lo 或其他接口
network.service 和 NetworkManager 在同一系统里只能有一个真正管事;选错路径,命令就只是“看起来执行了”。

















