Linux怎么重启网络服务_Linux网卡重启命令与故障排查【技巧】

Linux网络配置生效需重启对应服务或网卡:一、systemctl重启NetworkManager;二、重启networking服务;三、service命令重启传统网络服务;四、单独重启指定接口;五、nmcli重载连接;六、NetPlan修改后执行netplan apply;七、强制清除NetworkManager状态重建。

如果您在Linux系统中遇到网络中断或配置变更后未生效的情况,通常需要重启网络服务或网卡以使更改生效。以下是多种适用于不同发行版与网络管理机制的重启方法:

一、使用systemctl重启NetworkManager服务

NetworkManager是现代桌面及部分服务器环境(如Ubuntu 16.04+、CentOS/RHEL 7+)默认的网络管理服务,负责动态管理有线、无线连接及DNS配置。重启该服务可重新加载所有连接定义并刷新状态。

1、执行命令重启NetworkManager:sudo systemctl restart NetworkManager

2、验证服务是否运行正常:sudo systemctl status NetworkManager

3、如需开机自启,运行:sudo systemctl enable NetworkManager

二、使用systemctl重启networking服务

networking服务是Debian/Ubuntu Server传统网络管理模式的核心,依赖/etc/network/interfaces配置文件。重启此服务将重新读取该文件并启用或禁用对应接口。

1、执行命令重启networking服务:sudo systemctl restart networking

2、检查接口配置是否加载成功:ip a

3、确认配置文件语法正确性:sudo ifquery --check -a

三、使用service命令重启传统网络服务

在SysVinit架构的旧版系统(如CentOS 6、Debian 9之前版本)中,network或networking服务由init脚本控制,不兼容systemd命令。直接调用service可绕过初始化系统差异。

1、在CentOS/RHEL 6中重启网络:sudo service network restart

2、在Debian/Ubuntu旧版本中重启:sudo service networking restart

3、查看当前运行级别下网络脚本路径:ls /etc/init.d/ | grep -E "(network|networking)"

四、单独重启指定网络接口

当仅需重置某块物理或虚拟网卡(如eth0、ens33、enp0s3)而不想影响其他连接时,可采用接口级操作。该方式不依赖高层服务,适用于NetworkManager冲突或服务不可用场景。

1、先确认实际接口名称:ip -br a | grep UP

2、关闭再启用指定接口(以ens33为例):sudo ip link set ens33 down && sudo ip link set ens33 up

3、或使用ifconfig风格命令(需已安装net-tools):sudo ifdown ens33 && sudo ifup ens33

五、通过nmcli重载并激活连接

nmcli是NetworkManager的命令行接口,支持对单个连接进行精细控制。当修改了连接配置(如IP地址、DNS)但NetworkManager未自动应用时,可手动重载并切换连接。

1、列出所有可用连接:nmcli connection show

2、重载全部连接配置:nmcli connection reload

3、断开并重新激活目标连接(假设连接名为"System eth0"):nmcli connection down "System eth0" && nmcli connection up "System eth0"

六、NetPlan配置更新后应用变更

Ubuntu 18.04+默认使用NetPlan作为声明式网络配置工具。其配置文件为YAML格式,修改后不能直接重启服务,必须显式应用变更,否则配置不会生效。

1、编辑配置文件(如/etc/netplan/01-netcfg.yaml)并保存

2、执行应用命令:sudo netplan apply

3、若报错,查看详细输出定位语法或逻辑问题:sudo netplan --debug apply

七、强制清除网络状态并重建

当NetworkManager状态异常(如连接显示“unmanaged”、无法识别新设备),可能因状态缓存损坏导致。此时需清除运行时状态并重启服务,等效于软重启网络管理器。

1、停止NetworkManager服务:sudo systemctl stop NetworkManager

2、删除状态数据库:sudo rm -f /var/lib/NetworkManager/NetworkManager.state

3、启动服务重建状态:sudo systemctl start NetworkManager