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
)测试。