ifconfig 不显示 Linux 虚拟机常规网卡的 IP 地址
遇到的问题
ifconfig 不显示 Linux 虚拟机常规网卡的 IP 地址 :执行 ifconfig 命令,只显示了回环接口 lo 和虚拟网桥 virbr0 的信息,未显示用于联网的网卡(如 eth0 或 ens33 等)及其 IP 地址。
network 服务启动失败 :执行 systemctl status network 命令,提示 network 服务失败,在激活 ens33 接口时出现 "连接激活失败" 错误。
解决方法
针对 ifconfig 不显示 IP 地址
- 检查网卡激活状态 :使用
ip link 查看网卡状态,若为 DOWN 状态,用 ifup 网卡名(如 ifup ens33)激活。
- 排查网卡配置 :查看
/etc/sysconfig/network-scripts/ifcfg-网卡名(如 ifcfg-ens33)文件,确认 BOOTPROTO 等参数设置正确,静态 IP 配置要保证地址、掩码、网关等无误且无冲突。
- 确认驱动情况 :通过
lspci | grep Ethernet 确认网卡被系统识别,未识别则需重新安装或更新驱动。
- 检查虚拟机网络设置:在虚拟机软件中,检查网络模式设置是否合适,可尝试切换模式或重新配置。
- 排查服务问题 :尝试重启网络服务
systemctl restart network,并查看服务状态 systemctl status network 排查错误。
针对 network 服务启动失败
- 检查网卡配置文件 :用
cat /etc/sysconfig/network-scripts/ifcfg-ens33 查看,确保 DHCP 或静态 IP 配置正确,无多余冲突字段,修改后保存。
- 处理服务冲突 :禁用
NetworkManager 服务(systemctl disable NetworkManager 和 systemctl stop NetworkManager),启用并重启 network 服务(systemctl enable network 和 systemctl restart network)。
- 清理网络相关信息 :执行
ip route flush table main 和 ip neigh flush all 清理路由表和缓存。
- 手动触发 DHCP(若适用) :依次执行
dhclient -r ens33(释放原有租约)和 dhclient ens33(重新获取 IP 地址)。
- 验证网络状态 :使用
systemctl status network 查看服务状态,ip addr show ens33 查看网卡 IP 配置,ping -c 4 8.8.8.8 测试网络连通性。若仍有问题,通过 journalctl -xe 查看系统日志获取更多错误信息进一步排查,还可检查虚拟机网络连接设置以及临时关闭防火墙(systemctl stop firewalld)测试。