虚拟机无法联网时,先别急着重装系统,超过八成的故障集中在网卡连接模式、虚拟网络编辑器配置和宿主机防火墙这三处。按顺序排查,多数情况下几分钟就能恢复网络。
先判断故障范围,再动手改配置
虚拟机网络连不上,第一步不是翻设置,而是确认“谁坏了”,在宿主机命令行里执行ping 192.168.1.1(家用路由地址),再在虚拟机里执行同样的命令,逻辑很简单:宿主机也ping不通,那是物理网络断了,和虚拟机无关;宿主机正常、虚拟机不通,才是虚拟网络的问题。
另一种区分方法更直接:同一台宿主机上,NAT模式的虚拟机通了、桥接模式不通,那是桥接网卡绑定的物理网卡选错了,所有模式的虚拟机都不通,优先检查VMware NAT Service和VMware DHCP Service两个Windows服务状态,在服务管理器里确认它们处于“正在运行”而非“已停止”。
- 右键“此电脑”选择“管理” → “服务和应用程序” → “服务”
- 找到VMware开头的几个服务项,逐一确认状态
- 服务没启动就直接右键“启动”,并设为“自动”
VMware虚拟机没有网络?先看这四种连接模式
VMware和VirtualBox的网络模式虽然名称有差异,但底层逻辑只有四类,搞清楚每种模式的路由路径,排查起来就省去大量瞎猜的时间。
桥接模式:虚拟机与宿主机并列上网
桥接模式下,虚拟机网卡直接桥接到物理网卡,获取的是局域网路由器分配的IP,和宿主机处于完全平等的地位。适合需要虚拟机被局域网其他设备直接访问的场景,比如搭测试服务器,常见问题是:如果你选了“自动”而不是指定具体网卡,而宿主机有无线网卡、有线网卡多个接口时,VMware可能桥接到一个当前未被使用的连接上,导致虚拟机没有网络。
排查步骤:
- 虚拟机设置 → 网络适配器 → 选择“桥接模式”并勾选“复制物理网络连接状态”
- 打开“虚拟网络编辑器”,把桥接目标从“自动”改成你正在用的网卡
- 用
ipconfig确认虚拟机的IP段与宿主机是否一致(例如宿主机192.168.31.x,虚拟机却是192.168.1.x,网络肯定不通)
NAT模式:用宿主机做共享出口
NAT模式是日常使用最省心的选择,虚拟机和宿主机共享一个IP出口,宿主机能上网虚拟机就能上网。
如果这台虚拟机只需要访问外网和宿主机,不需要被别人访问,NAT就是默认答案。
遇到彻底无法联网时,先重置一下NAT网关地址;在“虚拟网络编辑器”里选中VMnet8,点击“NAT设置”,把网关IP改成与子网掩码匹配的地址,比如子网是192.168.10.0,网关设成192.168.10.2,然后确认DHCP分配的起始IP段和子网是同一网段,否则叫天天不应。
仅主机模式:孤立网络,用于隔离测试
仅主机模式相当于在宿主机和虚拟机之间拉了一根虚拟网线,虚拟机只有和宿主机的通信能力100%没问题,不该用来访问外网,如果你发现虚拟机没有网络,先看一眼是不是误选了这个模式。
自定义模式:特定网段的特殊用途
自定义模式主要给熟悉虚拟网络原理的老手用,比如同时跑Kali和Win7做内网渗透的隔离环境,普通用户如果选了这个,极大概率是因为网段冲突导致虚拟机无法上网自定义模式下虚拟网卡和自动分配的IP没有对应关系,建议直接改回NAT或桥接。
虚拟机net模式无法上网手动刷新IP比重启管用
NAT模式最常见的bug是虚拟机内部网卡拿到一个过期的或冲突的IP地址,好比你住在一个小区里,但物业把你的门牌号从5栋301改成了3栋502,快递自然送不进来。
遇到这种情况,在虚拟机里的命令行执行:
ipconfig /release
ipconfig /renew
释放老IP、重新获取,如果提示“无法联系DHCP服务器”,先回到宿主机,在“虚拟网络编辑器”里点击“恢复默认设置”,会重置所有虚拟网卡和DHCP服务,代价是之前自定义的端口转发规则会全部清空,重置前记一下已有的转发配置。
重置后,给虚拟机的网卡也做一次“重新插拔”:在虚拟机设置里把网络适配器先改成“仅主机模式”,确定后再改回NAT模式,这能强制触发网卡重新加载驱动。
检查VMware虚拟网络编辑器里的三个关键项
很多人把网络配置改了半天,问题却出在虚拟网络编辑器的基础参数上,打开路径:VMware菜单栏“编辑” → “虚拟网络编辑器”,右下角有个“更改设置”按钮,如果点了没反应,说明你需要管理员权限这是VMware对写权限的一种保护机制。
- 确认子网IP与虚拟机内配置一致:编辑器中VMnet8的子网写的是192.168.88.0,虚拟机里的IP却手动设成192.168.1.100,双方都不认识对方的路由,等于面对面但语言不通。
- 确认DHCP功能正常:检查DHCP设置里起始地址和结束地址是否合理,特别是起始地址和网关地址不能重合。
- 确认NAT网关没有被修改:NAT设置里的“网关IP”默认通常是.2,如果宿主机的某个软件或之前的手动配置改动过网关,虚拟机里默认网关就会指向一个不存在的地址。
桥接模式下虚拟机网络连接不上,优先查物理网卡
桥接模式连不上的场景,一半以上出在宿主机的无线网卡上,有线网卡和无线网卡的桥接行为不同,无线网卡做桥接时,部分型号不允许虚拟机直接接入同一AP下的其他设备,这是无线协议层面的限制,不是配置能解决的。
排查顺序:
- 打开“虚拟网络编辑器” → 选VMnet0 → 在“桥接到”下拉框里,手动改成当前正在用的有线或无线网卡
- 如果用的是USB外置无线网卡,换回板载网卡试试
- 确认宿主机防火墙允许VMware虚拟机访问网络,在“允许应用或功能通过防火墙”列表里,找到VMware NAT Service和VMware DHCP Service,把“公用”和“专用”都勾上
安装杀毒软件或安全卫士的机器,还会多一层限制:某些国产安全软件在网络防护里默认拦截虚拟网卡的流量,需要到安全软件的“网络防护”或“上网防护”设置中放行VMware的进程,否则所有模式都白搭。
虚拟机系统的网络配置排查DHCP与静态IP
虚拟网络本身没问题时,就要钻进虚拟机系统内部检查。
Windows虚拟机的排查路径
- 任务栏右下角网络图标显示“未识别的网络”或“无Internet访问”,右键“属性”打开网络适配器页面
- 确认IPv4的获取方式是“自动获得IP地址”和“自动获得DNS服务器地址”
- 如果必须用静态IP,确保IP、子网掩码、默认网关三个数值与虚拟网络编辑器完全对应
- 在虚拟机里执行
nslookup www.baidu.com,能解析出IP说明DNS正常,解析失败说明DNS配置错误,把DNS改为223.5.5.5或114.114.114.114测试
Linux虚拟机的排查路径
以CentOS和Ubuntu为例,多用命令行验证:
ip addr show
确认网卡是否获得IP,若网卡状态是DOWN,执行sudo ifup eth0(CentOS)或sudo dhclient eth0(Ubuntu)手动唤醒,配置文件路径CentOS在/etc/sysconfig/network-scripts/ifcfg-ens33
,Ubuntu在/etc/netplan/下,改完用systemctl restart network或netplan apply重启服务。如果虚拟机无法ping通宿主机但能ping通外网IP,八成是DNS配置错了,DNS服务器没有填,域名解析直接失败。
彻底重置:一键恢复网络设置的优先级
当上面的常规手段试过两轮仍然无效,就别再钻牛角尖了,业内专家指出,虚拟网络配置文件在反复修改过程中可能产生大量冗余项和冲突项,普通手动清理根本找不全,重置属于性价比最高的方案。
操作路径:
- 在虚拟网络编辑器右下角点击“更改设置”获取管理员权限
- 点击左下角“恢复默认设置”
- 确认警告提示后等待VMware重建所有虚拟网卡和DHCP服务
- 重置后回到虚拟机设置里,将网络适配器重新选择为需要的模式
虚拟机会像第一次安装时一样重新识别网卡,通常在3-5分钟内完成,现有虚拟机文件和数据不受影响。重置后若NAT模式正常、桥接模式仍然不通,再考虑物理网卡驱动的兼容性,去设备管理器里更新一下网卡驱动。
Q&A:虚拟机无法联网怎么办的常见补充解答
宿主机提示“无法设置虚拟机网络”是为什么?
通常是因为VMware相关服务未启动或权限不足,以管理员身份打开命令提示符,输入net start VMnetDHCP和net start "VMware NAT Service"手动启动,如果提示服务名无效,说明VMware的安装路径中有中文字符或与其他虚拟化软件冲突,需要卸载重装。
虚拟机和宿主机能互相ping通,但虚拟机不能上网?
这是NAT模式下非常典型的DNS配置问题,在虚拟机里把DNS服务器改成114.114.114.114或8.8.8.8(Windows在网络适配器属性里改,Linux在resolv.conf里改),如果问题消失,则在虚拟网络编辑器的NAT设置里补充“DNS服务器”的地址。
VirtualBox网络配置排查和VMware一样吗?
核心思路一致,但入口路径不同,VirtualBox的“全局工具”→“网络”管理NAT和DHCP规则,单个虚拟机的网络设置位于“设置”→“网络”,且默认只有NAT模式不需要额外配置,在排除了模式和IP分配问题后,VirtualBox用户需要额外确认VirtualBox NDIS6 Bridged Networking Driver这个系统组件是否在“设备管理器”的“网络适配器”中正常存在,该驱动异常时虚拟机无法使用桥接方式联网。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/625307.html





