现在执行以下命令,让 NetworkManager 接管 ens33
ip a | grep ens33找不到 vi /etc/sysconfig/network-scripts/ifcfg-ens33里面配置的ip
手动配置 IP,然后修复 network 服务,让它负责管理 ens33

明白了,你现在手动配置 IP 后是通的,但 network.service 依然启动失败。这个报错 No suitable device found for this connection (device lo not available because device is strictly unmanaged) 其实是因为 network 服务脚本在尝试调用 NetworkManager 来激活连接,但 NetworkManager 把 ens33 标记为"未托管",导致失败。
根本解决思路 :让 network 服务不再依赖 NetworkManager ,直接使用传统的 ifup/ifdown 脚本。这需要在配置文件中明确声明。
🔧 立即执行以下步骤(永久修复)
1. 编辑网卡配置文件,加入关键参数
bash
vi /etc/sysconfig/network-scripts/ifcfg-ens33
确保文件内容包含以下行(必须要有 NM_CONTROLLED=no):
ini
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.228.150
NETMASK=255.255.255.0
GATEWAY=192.168.228.1
DNS1=192.168.228.1
DNS2=8.8.8.8
NM_CONTROLLED=no # 关键:告诉 NetworkManager 不要管这个设备
保存退出(:wq)。
2. 确保 network 服务已启用,并彻底禁用 NetworkManager
bash
# 启用 network 服务(如果之前被禁用)
systemctl enable network
# 停止并禁用 NetworkManager(避免干扰)
systemctl stop NetworkManager
systemctl disable NetworkManager
3. 清除可能残留的冲突路由,重启 network 服务
bash
# 清除路由表(防止 "File exists" 错误)
ip route flush table main
ip route flush cache
# 重启 network 服务(现在应该能成功)
systemctl restart network
# 查看状态(不应再报错)
systemctl status network
ip a | grep ens33
4. 测试是否开机自动生效
执行 reboot 重启虚拟机,重启后再次执行:
bash
ip a | grep ens33
如果能看到 192.168.228.150,说明彻底修复。
ip a | grep ens33能看到 192.168.228.150但是物理机ping不通
好的,ip addr show ens33 | grep inet 显示 192.168.228.150/24,子网掩码正确 (/24 对应 255.255.255.0),说明 IP 配置本身没问题。
但现在的问题是:系统没有识别到 192.168.228.0/24 这个直连网络 ,所以认为 192.168.228.1 不可达。我们需要手动把它加进去。
🔧 立即执行以下命令(按顺序)
bash
# 1. 手动添加直连网络(让系统知道 192.168.228.0/24 就在 ens33 上)
ip route add 192.168.228.0/24 dev ens33
# 2. 现在添加默认网关(这次应该不会报“网络不可达”了)
ip route add default via 192.168.228.1
# 3. 查看路由表(确认两条路由都存在)
ip route show
# 4. 测试网关连通性(必须通)
ping -c 4 192.168.228.1
执行后把 ip route show 和 ping 的结果发给我。
🔍 如果第 2 步依然报错 Network is unreachable
说明 192.168.228.1 这个网关在你的物理网络里不存在 。你需要从物理机获取真正的网关地址:
-
在物理机 Windows 命令行执行:
ipconfig -
找到 WLAN 或 以太网 适配器下的 默认网关 那一行,把 IPv4 地址(比如
192.168.228.254或192.168.228.84)发给我。
⚙️ 如果手动添加网关后 ping 通了
接下来把正确的网关写入配置文件,确保重启后依然有效:
bash
# 编辑配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
将 GATEWAY=192.168.228.1 改为你 ping 通的那个地址(如果就是 .1 则不用改)。
保存后重启网络服务验证:
bash
systemctl restart network
ip route show
现在请先执行上面的 1~4 步,把结果发给我。 网关一旦添加成功,物理机 ping 虚拟机应该就能通了。