☰
VMware虚拟机断网排查:从NAT模式到VMnet8服务的完整修复指南
2026/10/2 14:31:49 网站建设 项目流程

打开虚拟机却发现右上角网络图标带着感叹号,浏览器打不开,ping外网全不通——这个场景我遇到得太多了。VMware没网这个问题,说大不大,说小不小,有时候重启一下服务就好,有时候查了半天却一点头绪都没有。它最磨人的地方在于“症状都一样,病因却五花八门”:有人是VMnet8虚拟网卡没了,有人是NAT服务没启动,还有人纯粹是虚拟机里自己配错了IP。这篇内容我就把VMware虚拟机断网的排查思路完整捋一遍,从“判断是哪种没网”开始,到服务、虚拟网卡、虚拟网络编辑器、虚拟机内部配置逐项排查,再附上我实操过程中踩过的坑和解决办法。不管你是刚装VMware的小白,还是被虚拟机网络折磨过几次的老手,按这个顺序走一遍,基本都能把网救回来。

1. 先搞清楚“没网”到底是哪种没网

1.1 三种网络模式,先记住各自分工

排查之前,先弄明白VMware虚拟机的网络模式。VMware Workstation里虚拟网络交换机一般叫VMnet,常见的三个是VMnet0、VMnet1、VMnet8,分别对应三种工作模式:桥接、仅主机、NAT。很多朋友一上来就在虚拟机里折腾IP,最后发现怎么配都不通,就是因为根本没搞清自己用的是哪种模式。

  • 桥接模式(VMnet0):虚拟机直接接到物理网络上,相当于和宿主机在同一个局域网里,别人访问虚拟机,虚拟机访问别人,走的都是物理网络。
  • NAT模式(VMnet8):虚拟机通过宿主机共享IP上网,外部网络看不到虚拟机,虚拟机由VMnet8网段的DHCP分配IP。这是新手和日常测试最推荐的模式,因为它不受物理网络环境变化影响。
  • 仅主机模式(VMnet1):虚拟机和宿主机组成一个封闭网络,不能访问外网,只能跟宿主机互通。这个模式适合做隔离环境测试,比如模拟内网靶机。

用生活化一点的话说:桥接是“直接住进小区”,NAT是“住酒店由前台代访”。默认安装VMware之后,新建虚拟机一般走NAT模式,所以出现没网问题时,绝大多数情况都在VMnet8这条链路上。

1.2 先做三分钟现场判断

接到“VMware没网”的求助时,我的第一个动作永远不是急着改配置,而是先弄清楚“这个‘没网’到底是哪种没网”。是虚拟机完全没有任何网络连接?还是虚拟机跟宿主机能互通,但上不了外网?这两种问题的排查方向完全不一样,混在一起查会非常浪费时间。

快速判断方法:在虚拟机里打开命令行,分别ping网关和外部地址。

  • ping网关通,说明虚拟网卡和VMnet8链路正常;
  • ping网关通但ping外网域名不通,说明DNS或NAT转发有问题;
  • 连网关都不通,那基本上就是虚拟网卡、DHCP或VMnet8虚拟交换机出问题了。

在Windows虚拟机里用ipconfig,在Linux虚拟机里用ip addr看一眼当前IP。如果发现IP是169.254.x.x,那说明DHCP根本没分到地址;如果整个网卡不上线,那就是驱动或VMware服务层面的问题。这一步做完,你基本就能判断出该往哪个方向查,比无头苍蝇一样乱试省太多时间。

2. 排查顺序:从服务到虚拟网卡

2.1 VMware联网相关服务必须活着

VMware的网络功能不只是虚拟机内部的事,它依赖Windows宿主机上的一组系统服务。这几个服务一旦停了,虚拟网卡还在,但NAT和DHCP都废了,虚拟机一样没网。

需要重点检查的服务有三个:

  • VMware NAT Service
  • VMware DHCP Service
  • VMware Authorization Service(这个虽然不是直接管网络的,但经常背锅)

打开方式很简单:Win+R输入services.msc,找到这三个名字里带VMware的服务,看状态是不是“正在运行”。如果停了,右键启动。我之前遇到过停掉之后鼠标右键启动报错的情况,这时需要用管理员权限命令行来处理。

net start "VMware NAT Service" net start "VMware DHCP Service"

启动完再看服务是否变成了“正在运行”。特别提醒一句:如果系统里装过旧版VMware或者卸载不干净,服务启动时会提示“依赖的服务不存在或已被标记删除”,这就是典型的残留注册表问题。解决思路是先用VMware官方提供的清理工具(VMware InstallCleaner)清理旧版本残留,再重新安装VMware。不要自己手动去注册表乱删,删错反而会把系统弄坏。

2.2 Windows主机上的虚拟网卡还在不在

VMware装好后,Windows的网络连接里会出现两块虚拟网卡:VMware Virtual Ethernet Adapter for VMnet1和VMnet8。桥接模式不依赖虚拟网卡,但NAT和仅主机模式没有VMnet8网卡就彻底没戏。

在宿主机命令行里敲:

ipconfig /all

看列表里有没有VMnet1和VMnet8。如果只有VMnet1没有VMnet8,或者两块都在但没有获得有效IP,那VMnet8虚拟交换机相当于没工作。这种情况怎么处理?最常见也最有效的办法是打开VMware的“虚拟网络编辑器”,然后点“更改设置”获得管理员权限,再点“还原默认设置”,让VMware重建虚拟网卡。

还原默认设置这个操作会重置VMnet1和VMnet8的IP段,同时把服务重新绑一遍。我见过不少人在虚拟网卡显示“网络电缆被拔出”的时候,来回禁用再启用网卡,其实还不如直接“还原默认设置”来得干净。注意还原之后,虚拟机里原来的静态IP可能会失效,需要重新按新网段配置。

2.3 虚拟网络编辑器里的关键配置

“编辑”菜单里的“虚拟网络编辑器”绝对是个宝地,也是排查VMware没网问题的核心面板。打开后能看到当前所有VMnet交换机的映射关系,比如VMnet8对应的是NAT模式,IP段是多少,DHCP是否开启。

在这个面板里,有几个点最容易出事:

  • VMnet8这行右侧有没有选中“NAT模式”;
  • 下方“NAT设置”里的网关IP和子网掩码是否正常;
  • 那么“使用本地DHCP服务将IP地址分配给虚拟机”这个功能被勾掉没。

很多人在VMnet8的配置里意外取消了DHCP,虚拟机就永远拿不到IP。如果你确定虚拟机该走DHCP,就把这个勾重新加上,然后到虚拟机里重启网卡。

还有一点容易被忽视:如果主机上开了多个VMware产品,比如Workstation和Fusion同时存在,或者装了Docker Desktop、Hyper-V,虚拟网卡之间的网段冲突也可能导致VMnet8“看起来正常但实际不通”。这时可以在虚拟网络编辑器里手动给VMnet8改一个网段,比如改成192.168.88.0/24,只要能避开宿主机物理网络的同段IP,一般都能救回来。

3. 核心实现:重新配置NAT网络

3.1 恢复默认设置,这是最有效的操作

给VMware没网的虚拟机做网络修复,我强烈建议第一步尝试“还原默认设置”而不是手动改这改那。原因很简单:VMware网络栈的内部结构很复杂,手动改容易漏环节,而“还原默认设置”会把VMnet1、VMnet8、NAT服务、DHCP服务一次性重建,多数情况下一次就能通。

操作步骤:

  1. 关闭VMware里正在运行的虚拟机,保留VMware主程序;
  2. 菜单栏选择“编辑”→“虚拟网络编辑器”;
  3. 点击右下角“更改设置”,此时会弹出管理员权限确认,一定要同意,不然很多功能是灰色不可改的;
  4. 点击左下角“还原默认设置”;
  5. 等待约10到20秒,系统会自动重建虚拟网卡和网络服务;
  6. 回到虚拟机,重启操作系统,查看网络是否恢复。

还原之后,VMnet8默认网段一般是192.168.xxx.0/24,网关是192.168.xxx.2,DHCP地址池是192.168.xxx.128到192.168.xxx.254。如果你之前手动改过虚拟机内的静态IP,这次还原后就对不上了,需要进虚拟机再把IP改回来。

可能有人会问:还原默认设置会不会影响桥接模式?桥接模式的VMnet0本质上只是把虚拟机的物理网卡和宿主机的物理网卡做个桥接,还原默认设置不会删除物理网卡,一般也不会有大影响。不过还原后重新打开VMware时,它可能会重新识别一次宿主机物理网卡,要是桥接模式还不行,就到虚拟网络编辑器里手动把VMnet0桥接到正确的物理网卡上。

3.2 手动修改VMnet8的子网和DHCP

有时候“还原默认设置”解决不了,尤其是VMnet8的IP段跟宿主机当前所在局域网冲突的场景。比如宿主机连的路由器是192.168.1.0/24,VMnet8默认也是192.168.1.0/24,那虚拟机里的路由就会乱套,甚至宿主机自己的网络也会被干扰。

这种冲突在宿舍网、公司网里非常常见。正确做法是把VMnet8改成一个不容易冲突的网段,比如192.168.88.0/24。具体操作:

  1. 打开虚拟网络编辑器,点击“更改设置”;
  2. 选中VMnet8那一行,确保模式是“NAT模式”;
  3. 下方“子网IP”改成192.168.88.0,子网掩码保持255.255.255.0;
  4. 点击“NAT设置”,确认网关是192.168.88.2;
  5. 点击“DHCP设置”,把起始IP地址改成192.168.88.128,结束IP地址改成192.168.88.254。

改完之后,VMnet8的虚拟网卡在宿主机里也会自动变成192.168.88.1(如果没变就重启一下VMware服务或禁用再启用VMnet8网卡)。之后进入虚拟机,把网卡改为DHCP获取,或者手动设置成192.168.88.x、掩码255.255.255.0、网关192.168.88.2,DNS填192.168.88.2或公共DNS都可以。

我个人的习惯是:只要不涉及复杂组网需求,就尽量保留VMnet8的DHCP分配。因为虚拟机总是频繁折腾,用静态IP一旦跟其他虚拟机冲突,反而更烦。

3.3 虚拟机内部固定IP踩坑记录

如果虚拟机内部配置了静态IP,那么NAT模式下最容易踩的坑有三个。

第一个是把网关写错了。VMnet8的网关在NAT模式下默认是192.168.xxx.2,不是192.168.xxx.1。为什么是.2?因为.1留给了宿主机上VMnet8虚拟网卡,而NAT服务挂在.2上。你如果把网关写成.1,很多时候也能ping通宿主机,但出去外网会走不通。

第二个坑是DNS没写好。很多场景下,只填网关不填DNS会导致“能ping通IP但打不开网址”。在NAT模式下,可以把DNS填成192.168.88.2,让NAT服务做DNS代理;也可以直接填公共DNS。推荐两者都试,以实际能解析为准。

第三个坑是Linux虚拟机的网络配置工具没生效。比如在Ubuntu里用netplan配置静态IP,写完之后忘了sudo netplan apply,或者YAML文件缩进写错,网络服务就起不来。排查时先跑sudo netplan apply,再用ip addr确认网卡是否真的拿到了地址。

Windows虚拟机的静态IP配置相对直观,重点还是确认“默认网关”和“DNS服务器”两个字段。配置完成之后,先ping网关,再ping外网IP,再ping域名,三步下来问题定位就很清楚了。

4. 常见问题与排查技巧实录

4.1 DHCP服务一直停/起不来

有段时间我的VMware DHCP服务一开机就是“已停止”,手动启动后过一会儿又停了。查日志发现是“VMware DHCP Service”和系统里另一个DHCP相关服务的端口发生了会话冲突。这类问题多见于同时安装了多个虚拟化软件,比如VirtualBox或Windows自带的Hyper-V。

处理办法:先以管理员身份运行命令行,把VMware DHCP服务设为自动启动再手动拉起。

sc config "VMware DHCP Service" start= auto net start "VMware DHCP Service"

如果再启动失败,查看“事件查看器”里VMware DHCP的错误日志,一般能定位到是端口被占用还是依赖服务缺失。如果是端口占用,可以换一个DHCP监听端口,比如在NAT设置的DHCP里把DHCP服务器地址从默认的255.255.255.255:67改成其他端口。不过这个操作门槛稍高,非必要不推荐。最简单保险的办法还是先把Hyper-V、VirtualBox这类可能占用网络栈的软件停掉,再启动VMware服务。

4.2 连通主机但上不了外网

有朋友遇到过这样的奇怪现象:虚拟机ping宿主机通,访问VMnet8网关也通,但就是上不了外网。这种一般要从三方面排查。

第一,宿主机本身有没有外网?如果物理机也掉线了,VMware再厉害也借不到网。先把宿主机的网络确认了再回头看虚拟机。

第二,Windows防火墙有没有拦住NAT转发。VMware的NAT服务需要依赖Windows的Internet连接共享底层机制,如果Windows防火墙策略过于严格,虚拟机发出的外网请求可能过不了宿主机这一层。临时测试时可以把Windows防火墙的专用网络配置设为允许,确认通了之后再针对性加规则。

第三,DNS解析问题。如果虚拟机可以ping通114.114.114.114这类公共IP,但ping不通baidu.com,那就说明DNS解析有问题。在虚拟机里手动把DNS改成公共DNS,比如223.5.5.5或119.29.29.29,再看是否能正常解析。

另外,有些朋友用随身WiFi或USB无线网卡给宿主机供网,这类设备在Windows下实际上会额外创建一个虚拟网卡。这时候VMware的桥接模式和NAT模式都需要重新检查,桥接模式很可能被桥接到了错误的网卡上,NAT模式则可能因为网络共享权限被系统限制而失效。我的建议是:用随身WiFi这类设备做网络源时,优先用NAT模式,并且把VMnet8的网段改得跟随身WiFi的内部网段完全不一样,减少冲突。

4.3 VMware Tools没装导致驱动异常

这个问题很隐蔽。很多人装了VMware虚拟机后没装VMware Tools,图形界面是能凑合用的,但虚拟网卡驱动可能没有正确加载。特别是Linux虚拟机里,如果安装时没有选择开启网络,安装完系统后网卡可能显示为“未识别的网络”或干脆没有eth0。

VMware Tools的作用不只是拖文件方便,它还会安装VMware专用的虚拟网卡驱动、SVM显示驱动和鼠标驱动。Windows虚拟机里没有VMware Tools,常见现象是网络适配器驱动带黄色感叹号。

安装步骤并不复杂:

  • 在VMware菜单栏点击“虚拟机”→“安装VMware Tools”;
  • Windows虚拟机里会弹出光驱,运行setup.exe即可;
  • Linux虚拟机需要手动挂载光驱,然后解压安装。
sudo mkdir -p /mnt/cdrom sudo mount /dev/cdrom /mnt/cdrom cd /mnt/cdrom tar zxpf VMwareTools-*.tar.gz -C /tmp cd /tmp/vmware-tools-distrib sudo ./vmware-install.pl -d

安装完重启虚拟机,再查看网卡状态。很多“装了系统就没网”的问题,其实不是VMware的锅,而是系统自带驱动在虚拟环境里没被正确激活。装好VMware Tools后,虚拟网卡的性能和使用体验都会正常很多。

4.4 VMware 17/网络升级后“玄学”掉网

VMware Workstation Pro 17发布之后,不少人反映升级到17.x之后原本好好的虚拟机突然没网了。我自己也遇到过类似情况:升级前Windows 10虚拟机走NAT正常,升级后虚拟机开机IP变成169.254.x.x,宿主机里VMnet8虽然存在,但IP段和之前不一样了。

常见原因是升级过程重新初始化了虚拟网络栈,导致原来的虚拟网卡配置被覆盖。解决办法是先到虚拟网络编辑器里还原默认设置,然后重新配置VMnet8. 如果还原后依然没网,把VMware完全卸载并清理再装一次,往往能彻底解决。卸载时不要只是用Windows“程序与功能”操作,建议用VMware InstallCleaner清除残留,避免旧服务和新服务打架。

还有一类情况跟虚拟机的硬件兼容性有关。升级后如果不小心把“虚拟机硬件版本”升得太新,旧驱动可能跟不上。出现这种情况,可以在虚拟机设置里把网卡的“设备状态”取消勾选再勾上,强制系统重新枚举一次设备。如果还是不行,就把虚拟机的网络适配器删掉,重新添加一块“VMware Accelerated AMD PCNet”或“VMware VMXNET3”网卡。VMXNET3性能更好,但要求装了VMware Tools;如果驱动本身有问题,先用PCNet也能凑合。

4.5 物理机网络本身出问题

排查VMware没网时一定要记住:宿主机网络是虚拟机网络的地基。很多新手把精力全放在VMware里,最后才发现是宿主机网卡驱动被Win更新搞坏了,或者是物理网线松了。

建议排查顺序是:

  1. 宿主机浏览器能不能正常打开网页;
  2. 宿主机命令行ping 网关通不通;
  3. 宿主机ipconfig /all看物理网卡IP是否有异常;
  4. 其他电脑连同一个局域网是否正常。

如果宿主机连的是WiFi,还要看看WiFi是否处于公共网络模式。Windows把网络类型设为“公用”时,通常会启用更严格的防火墙规则,VMware NAT服务可能存在被阻止的情况。这时可以到“网络和共享中心”里把网络类型改成“专用网络”,很多虚拟机没网的问题莫名其妙就好了。

如果宿主机本地连接显示“未识别的网络”,但实际能上网,也可能会干扰VMware的NAT判断。这种情况可以尝试给物理网卡指定一个跟路由器同一网段的静态IP,让Windows认为“网络已识别”,VMware的桥接和NAT都会更稳定。

5. 避坑要点与我的实操习惯

5.1 动手之前先拍快照

熟悉我的朋友都知道,我折腾虚拟机网络之前有个固定习惯:先给虚拟机拍快照。这个习惯救了我太多次了,因为网络配置改错之后,不一定马上出问题,可能过几天重启才发现虚拟机里某个服务起不来了。要是没有快照,只能凭记忆反推改了什么,非常痛苦。

拍快照的方法就两步:虚拟机开着的时候,菜单栏“虚拟机”→“快照”→“拍摄快照”,名字写清楚,比如“改网络前”;关着的时候也可以拍“关机状态快照”。等网络配置全部搞定、业务恢复正常之后,再删掉这个临时的快照就行。虚拟机网络折腾成本很低,但快照成本更低,别省这一步。

5.2 网络驱动与硬件设置的几个细节

虚拟机的网络硬件设置里,有个容易被忽略的选项叫“连接时连接”,勾选后启动虚拟机就自动连接网络;还有个“打开电源时连接”的设置,如果你取消勾选,开机后网卡相当于没插线。之前有位朋友说虚拟机没网,我远程一看,他是在创建虚拟机的时候把“网络连接”选成了“仅主机模式”,还取消了“打开电源时连接”——这当然永远没网。

另外,不同的操作系统对虚拟网卡的支持程度也不一样。Windows 11和较新的Linux发行版用默认的VMware Accelerated网卡通常没问题,但老系统如Windows XP或Windows Server 2003在VMware 17下偶尔会出现网卡无法识别的问题。遇到老系统,把网卡类型改成e1000之类的老型号往往更稳。在“虚拟机设置”里点开网络适配器,右边“设备状态”和“网络连接”各处都检查一遍,确认没有遗漏。

5.3 用“现象+场景”描述问题,比贴报错更有效

最后给个小建议:以后问问题或者搜索资料时,别只喊一句“VMware没网”。我平时被人问得最多的就是这句话,但回答之前必须先问对方“是NAT模式还是桥接?虚拟机是Windows还是Linux?宿主机能不能上网?IP地址是啥?”问题和背景信息越完整,解决路径越清晰。

我自己排查时,习惯把信息整理成一句话,比如:“VMware Workstation 17,Windows 11虚拟机,NAT模式,虚拟机能ping通192.168.88.2但ping不通外网,宿主机网络正常。”这种描述拿到哪儿都好使,别人一眼就知道问题大概率在DNS或NAT转发上,而不是在那里帮你从头问起。

说到底,VMware没网本质上就是“虚拟网卡—虚拟交换机—NAT/DHCP服务—宿主机网络”这条链路上某个环节掉链子了。只要按顺序把链路每一环都检查一遍,绝大多数问题都能定位。个人经验是:先还原默认设置,再查服务,最后才动手改虚拟机内部的IP,这个顺序至今没怎么失手过。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询