必须分层定位:先确认虚拟机是否拿到ip,再查宿主机转发服务是否存活,最后核对网关与dns是否指向真实出口;第一步查ip addr是否有有效ipv4地址,第二步检查vmware dhcp/nat服务是否运行,第三步验证宿主机ip转发与防火墙规则,第四步可临时切桥接模式应急。

刚切到主机模式或NAT模式后虚拟机ping不通百度,宿主机能上网但虚拟机显示“网络不可达”,这种外网连不上故障必须分层定位:先确认虚拟机是否拿到IP,再查宿主机转发服务是否存活,最后核对网关与DNS是否指向真实出口。
第一步:确认虚拟机已获取有效IP地址
在虚拟机终端执行 ip addr show(Linux)或 ipconfig(Windows),重点看是否有非127.0.0.1的IPv4地址。若只有lo接口或显示“unavailable”,说明网卡未启用或DHCP失败。
检查网卡配置文件中 ONBOOT="yes" 是否生效,若为 no 则需改为 yes 并执行 systemctl restart NetworkManager;若使用静态IP,务必确保 IPADDR 与虚拟网络编辑器中NAT子网段一致,例如VMnet8默认是192.168.171.0/24,则虚拟机IP必须是192.168.171.x,【网关必须填192.168.171.2,填错将彻底断联】。
第二步:检查宿主机关键服务是否运行
按 Win+R 输入 services.msc 打开服务管理器,定位以下两项:
方法一:VMware DHCP Service → 状态应为“正在运行”,若为“已停止”,右键启动;
方法二:VMware NAT Service → 同样必须为“正在运行”,该服务负责把虚拟机发往外网的数据包做地址转换,【一旦停止,虚拟机所有外网请求全部静默丢弃】;
方法三:若两者均异常,不要逐个重启,直接打开 VMware → 编辑 → 虚拟网络编辑器 → 点击“还原默认设置”,该操作会强制重载全部虚拟网卡驱动与服务配置。
第三步:验证并修复宿主机网络转发能力
仅主机模式下外网不通,本质是缺两环:宿主机未开启IP转发、未配置iptables或Windows防火墙NAT规则。
① 在宿主机管理员权限PowerShell中执行:Set-NetIPInterface -Forwarding Enabled,启用全局IPv4转发;
② 进入虚拟网络编辑器 → 选中VMnet1(仅主机)→ NAT设置 → 记下网关地址(如192.168.137.2);
③ 在虚拟机中手动配置:route add default gw 192.168.137.2,将宿主机网关设为默认出口;
④ 宿主机防火墙需放行ICMP与TCP 53/80/443端口,若已启用Windows Defender防火墙,执行:netsh advfirewall set allprofiles state off临时关闭测试(确认通后再按需开放规则)。
第四步:快速绕过复杂配置的应急方案
如果以上步骤耗时太久,或你只是临时需要外网调试,直接切换网络模式即可:
关机虚拟机 → 右键虚拟机设置 → 网络适配器 → 改为“桥接模式” → 启动虚拟机;
这一步会让虚拟机像一台真实物理机一样从路由器获取IP,跳过所有NAT和主机转发环节,【但要求路由器DHCP开启且有空闲IP】。











