en33网络配置文件未托管
从 nmcli device status
的输出可以看到,所有网络设备(包括 ens33)都处于 "未托管"(unmanaged)状态,这导致 NetworkManager 和传统的 network.service
都无法管理网络接口,从而引发 network.service
启动失败的问题。
一键解决方案
(1) 直接复制黏贴如下代码
nmcli general
sudo nmcli networking on
sudo nmcli device set ens33 managed yes
nmcli device status
sudo systemctl restart network
ip route
详细解决方案
1. 强制让 NetworkManager 管理所有设备
(1) 修改 NetworkManager 的主配置文件
sudo vi /etc/NetworkManager/NetworkManager.conf
确保内容如下(如果文件不存在则新建):
[main]
plugins=ifcfg-rh
[keyfile]
unmanaged-devices=none # 关键!强制管理所有设备
(2) 重启 NetworkManager
sudo systemctl restart NetworkManager
(3) 再次检查设备状态
nmcli device status
现在 ens33
应该显示为 connected
或 disconnected
,而不是 未托管
。
2. 如果仍然显示 "未托管",手动设置设备受管
(1) 检查 NetworkManager 的托管状态
nmcli general
如果 STATE
是 asleep
或 disconnected
,尝试:
sudo nmcli networking on
(2) 手动设置 ens33 受管
sudo nmcli device set ens33 managed yes
(3) 再次检查
nmcli device status
ens33
应该不再显示 未托管。
3. 如果 NetworkManager 仍然无法管理 ens33
(1) 彻底禁用 NetworkManager(推荐)
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sudo systemctl mask NetworkManager # 防止被其他服务启动
(2) 清理残留配置
sudo ip addr flush dev ens33
sudo ip link set ens33 down
(3) 手动应用静态 IP
sudo ip addr add 192.168.10.11/24 dev ens33
sudo ip link set ens33 up
sudo ip route add default via 192.168.10.2
(4) 测试网络
ping 192.168.10.2 # 测试网关
ping 8.8.8.8 # 测试外网
4. 确保 ifcfg-ens33 配置正确
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
确保关键配置如下:
DEVICE=ens33
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.10.11
PREFIX=24
GATEWAY=192.168.10.2
DNS1=192.168.10.2
ONBOOT=yes
NM_CONTROLLED=no # 确保不由 NetworkManager 管理
5. 重启 network.service
sudo systemctl restart network
最终检查
如果仍然有问题,请提供如下内容到评论区:
cat /etc/NetworkManager/NetworkManager.conf
ip a show ens33
ip route