虚拟机安装后网络不通,九成是网络模式选错或虚拟网卡配置没跟上,按下面的排查顺序操作,最快五分钟解决。
先搞清楚你的虚拟机用的哪种网络模式
虚拟机网络不通,第一件事不是瞎改配置,而是确认当前连接方式,VirtualBox和VMware里最常见的三种模式分别是NAT、桥接、仅主机(Host-Only),它们对应不同场景。
- NAT模式:虚拟机通过宿主机上网,宿主能联网,虚拟机就能上外网,但外部设备访问不到虚拟机。
- 桥接模式:虚拟机直接占用局域网IP,像一台独立电脑,能和局域网内其他设备互相访问。
- 仅主机模式:只能和宿主机通信,不能上外网。
如果想快速判断问题方向,看一个现象就行:虚拟机里能ping通宿主机IP但不通外网,多半是NAT的网关或DNS有问题;如果连宿主机都ping不通,先看虚拟网卡是否启用。
虚拟机网络设置里最常见的三个坑
以VMware和VirtualBox为例,新手踩坑基本集中在这三处。
网卡没有正确连接到虚拟网络
VMware里,右键虚拟机 → 设置 → 网络适配器,确保勾选了“已连接”和“启动时连接”,VirtualBox则在设置 → 网络 → 启用网络连接,很多情况下,克隆或导入的虚拟机默认就是断开状态,系统内自然看不到网卡。
虚拟网络编辑器被改动过
VMware的“虚拟网络编辑器”里,NAT模式的VMnet8和桥接模式的VMnet0如果被误删或改乱了,虚拟机里无论怎么设置都白搭,打开编辑 → 虚拟网络编辑器,查看是否有VMnet0(桥接)、VMnet8(NAT),如果没有,点击“还原默认设置”重建一次。
使用了错误的桥接网卡
有线和无线网卡共存时,桥接模式选错物理网卡非常常见,比如笔记本同时有以太网和Wi-Fi,虚拟网络编辑器里桥接模式却绑定了有线网卡,实际用的是Wi-Fi,那肯定不通,对策是桥接网卡选择“自动”或者明确指定当前实际联网的网卡。
按这个顺序排查,先软件后硬件
从最简单的操作开始,避免一上来就重启服务浪费时间,下面的步骤适用于Windows宿主机 + VMware/VirtualBox,Linux宿主逻辑类似。
第一步:重启虚拟网络服务
很多时候只是服务卡住了,重置一下就好。
- 以管理员身份运行命令提示符,输入
services.msc,找到VMware NAT Service和VMware DHCP Service(VirtualBox对应VirtualBox DHCP Server)和VirtualBox NAT Service,全部重启。 - 或者直接关掉虚拟机,重启宿主机,这个方法能解决相当一部分“突然断网”的情况。
第二步:检查宿主机上的虚拟网卡IP配置
打开控制面板 → 网络和共享中心 → 更改适配器设置,找到VMware Network Adapter VMnet8(对应NAT),右键属性 → IPv4,确认IP和子网掩码是否与虚拟网络编辑器里的子网一致。
举例:虚拟网络编辑器里NAT子网是192.168.88.0,掩码255.255.255.0,那VMnet8的IP应该设成192.168.88.1,掩码相同,VirtualBox的Host-Only网卡也是同样逻辑,如果IP变成169.254开头的自动私有地址,说明DHCP没拿到IP,手动指定一次即可。
第三步:检查虚拟机内的IP与网关
进入虚拟机系统,打开终端或命令行:
- Windows虚拟机:
ipconfig - Linux虚拟机:
ip addr或ifconfig
重点看两件事:是否拿到了与虚拟网卡同网段的IP,以及默认网关是否正确,NAT模式下网关通常是虚拟网卡的IP(如192.168.88.1),DHCP服务器会自动分配,如果IP是空白的,执行dhclient(Linux)或禁用再启用网卡(Windows)重新获取。
第四步:ping测试定位断点
按顺序执行下面三个ping命令,结果能直接告诉我们问题在哪:
ping 127.0.0.1不通说明TCP/IP协议栈坏了,重装虚拟机系统或重置网络组件。ping 网关IP不通说明虚拟网卡或宿主防火墙拦截,检查宿主机防火墙是否禁用了ICMP。ping 8.8.8.8通则说明外网连接正常,问题在DNS解析,检查/etc/resolv.conf或Windows网络设置里的DNS。
第五步:重置虚拟机网卡MAC地址
虚拟机克隆或快照恢复后,MAC地址冲突也会导致网络不稳定,关闭虚拟机,在VMware里编辑虚拟机设置 → 网络适配器 → 高级 → 修改MAC地址为“已生成”或点一下“生成”按钮,VirtualBox在设置 → 网络 → 高级 → MAC地址右侧带绿色箭头的按钮,点击重新生成。
桥接模式连不上网怎么处理
桥接模式不通,大多数情况不是虚拟机的问题,而是宿主机网络环境太苛刻,比如校园网、公司内网有MAC地址绑定和认证,桥接出来自然上不了网。
解决办法分两种:
- 改用NAT模式:只要宿主机能上网,NAT就能上,适合临时下载、安装软件。
- 手动配置静态IP:桥接模式下,如果路由器开启了DHCP,虚拟机一般能自动拿到IP,拿不到的话,手动指定一个与宿主机同网段的IP、掩码、网关,DNS填路由器的网关地址。
如果必须用桥接且宿主机是无线网卡,部分无线网卡驱动不支持桥接转发,这时换个有线网络,或者改用VirtualBox的“桥接”模式并勾选“混杂模式:全部允许”。
NAT模式下能ping通IP但打不开网页
这个现象说明网卡、网关、路由都正常,卡在DNS解析,解决方法很简单:
- 在虚拟机内把DNS改成公共DNS,比如
5.5.5(阿里)或29.29.29(腾讯)。 - Windows虚拟机:网络适配器 → IPv4属性 → 使用下面的DNS服务器地址。
- Linux虚拟机:编辑
/etc/resolv.conf,添加nameserver 223.5.5.5,保存后立即生效。
如果改了DNS还不行,检查宿主机是否能正常解析域名,宿主机正常而虚拟机不行,看虚拟网络编辑器里“NAT设置”中的DNS服务器是否被手动改成了无效地址。
所有排查无效时,直接重置虚拟网络
当上述步骤全部做完仍然不通,别折腾了,直接重置网络配置,VMware用户:打开虚拟机 → 菜单栏“编辑” → 虚拟网络编辑器 → 左下角“还原默认设置”,它会删除所有虚拟网络并重建,重置后之前手动分配的IP信息全部清空,需要重新按上面步骤检查一遍。
VirtualBox用户:关闭所有虚拟机,然后在全局设置 → 网络 → 主机网络,删除所有Host-Only网卡后重新添加,NAT模式不需要额外重置,删除后重新安装扩展包(Oracle VM VirtualBox Extension Pack)可以修复NAT服务异常。
行业共识认为,重置虚拟网络能解决大约八成以上编译器层面无法解释的“玄学网络问题”。
虚拟机不同网络模式怎么选
根据用途选择,不用每种都精通:
- 日常学习Linux、安装软件、测代码 NAT模式够用,省心。
- 搭网站、做服务器、局域网文件共享 桥接模式最合适。
- 安全测试、隔离环境 仅主机模式,配合嗅探工具使用。
- 同时用多个虚拟机组集群 可以用VirtualBox的“内部网络”或者VMware的自定义VMnet2,这样虚拟机之间互通但不影响宿主机。
常见使用场景对比:
| 场景 | 推荐模式 | 原因 |
|---|---|---|
| 普通用户上网学习 | NAT | 配置简单,宿主机能上网虚拟机就能上 |
| 部署Web服务给局域网访问 | 桥接 | 获得局域网独立IP,外部可访问 |
| 离线隔离测试 | 仅主机 | 虚拟机之间可以通信,与外网隔离 |
| 下载大文件耗流量 | NAT | 共享宿主机带宽,不占用额外IP |
常见问题解答
VirtualBox里桥接模式选不到真实网卡怎么办
打开VirtualBox管理器 → 文件 → 主机网络管理器,查看是否创建了Host-Only网卡,选不到真实网卡通常是因为VirtualBox未以管理员权限运行,退出后右键“以管理员身份运行”再试,关闭宿主机防火墙或多个虚拟网卡服务冲突,也能让下拉列表恢复正常。
VMware虚拟机NAT模式下无法上网且宿主机正常
先检查宿主机上VMware NAT Service是否运行,服务里设为自动并启动,然后看虚拟网络编辑器里NAT子网是否和宿主机现有网段冲突,比如宿主机IP是192.168.88.1,NAT子网也是192.168.88.0,就会冲突,把虚拟网络编辑器的NAT子网改成其他网段,比如192.168.99.0,再重启虚拟机即可。
为什么虚拟机克隆后网络经常不通
克隆的虚拟机带有原系统的网卡MAC地址,和原虚拟机同时在线时会产生地址冲突,删除/etc/udev/rules.d/70-persistent-net.rules(CentOS 6)或使用nmcli connection reload(CentOS 7+),Windows系统直接在设备管理器里卸载网卡再扫描硬件变更,让系统重新生成配置。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/613788.html





