VMware部署于专用服务器的Linux无网络连接问题求助
解决VMware Linux虚拟机仅显示回环接口、无法联网的问题
一、先排查VMware宿主机端的网络设置
- 打开VMware,选中目标虚拟机,点击「编辑虚拟机设置」
- 切换到「网络适配器」标签,务必确认:
- 勾选「设备状态」下的「已连接」和「启动时连接」
- 网络连接方式优先选NAT(适合绝大多数上网场景)或桥接模式(需和宿主机同网段),避免选「仅主机模式」或「不连接」
- 若用NAT模式,检查VMware相关服务状态:
- Windows:按Win+R输入
services.msc,找到「VMware NAT Service」和「VMware DHCP Service」,确保两者处于「正在运行」状态 - Linux/macOS:执行
sudo systemctl start vmware-netnat.service vmware-netdhcp.service启动服务(部分版本服务名可能为vmware-natd/vmware-dhcpd)
- Windows:按Win+R输入
二、确认虚拟机是否识别到网卡硬件
- 启动Linux虚拟机,执行
sudo lspci | grep -i ethernet或sudo lshw -C network,查看是否能识别到以太网控制器- 无输出:说明虚拟机未加载网卡硬件,回到VMware设置,删除当前网络适配器后重新添加一个
- 有输出:硬件已识别,问题出在系统驱动或配置层面
三、系统层面的网络修复操作
1. 检查并安装网卡驱动
VMware常用虚拟网卡驱动为e1000(通用)或vmxnet3(高性能),执行lsmod | grep -E 'e1000|vmxnet3'确认是否加载
- 未加载驱动:
- Ubuntu/Debian系:
sudo apt install linux-modules-extra-$(uname -r)(安装额外内核模块,包含虚拟网卡驱动) - CentOS/RHEL系:
sudo dnf install kernel-modules-extra
- Ubuntu/Debian系:
2. 启用网卡并获取IP
- 执行
ip link show,找到除lo外的网卡名称(通常为ensXX或ethX,比如ens33) - 临时启用网卡:
sudo ip link set ens33 up - 自动获取DHCP地址:
sudo dhclient ens33 - 执行
ip a确认是否拿到IP,若成功,配置开机自动启用:- Ubuntu/Debian(Netplan):编辑
/etc/netplan/00-installer-config.yaml(文件名可能不同),写入:
执行network: ethernets: ens33: dhcp4: true version: 2sudo netplan apply生效 - CentOS/RHEL(NetworkManager):
sudo nmcli connection add type ethernet con-name ens33 ifname ens33 autoconnect yes,再执行sudo nmcli connection up ens33
- Ubuntu/Debian(Netplan):编辑
3. 排查防火墙与路由
- 临时关闭防火墙测试:
- Ubuntu:
sudo ufw disable - CentOS:
sudo systemctl stop firewalld
- Ubuntu:
- 检查路由表:
ip route,确认存在默认路由(格式如default via 192.168.1.1 dev ens33),若无则手动添加:sudo ip route add default via [网关IP] dev [网卡名]
四、最后尝试:重新安装VMware Tools
部分虚拟网卡驱动依赖VMware Tools,操作步骤:
- 虚拟机菜单选择「虚拟机」->「安装VMware Tools」
- 挂载镜像后解压压缩包,执行根目录下的
vmware-install.pl脚本完成安装,重启虚拟机
内容的提问来源于stack exchange,提问作者decoriran decorr
相关产品推荐
相关产品推荐

