服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-11-10 简米科技 4,614 字 11 分钟阅读

虚拟机没有网络怎么办?虚拟机连不上网怎么解决

导读虚拟机没网络,大概率是网络模式选错、虚拟网卡配置失配或宿主网络服务未启动,按顺序排查即可解决,日常维护服务器集群或者在本机跑开发环境时,虚拟机突然断网是让人最头疼的故障之一,明明宿主机网络正常,虚拟机里却显示“网络电缆被拔出”或者“未识别的网络”,多数情况下,问题不是系统崩溃,而是虚拟化软件的网络栈卡在了半路……

虚拟机没网络,大概率是网络模式选错、虚拟网卡配置失配或宿主网络服务未启动,按顺序排查即可解决。

日常维护服务器集群或者在本机跑开发环境时,虚拟机突然断网是让人最头疼的故障之一,明明宿主机网络正常,虚拟机里却显示“网络电缆被拔出”或者“未识别的网络”,多数情况下,问题不是系统崩溃,而是虚拟化软件的网络栈卡在了半路,与其反复重启虚拟机,不如花几分钟按下面的顺序定位。

先别急着重装系统,三分钟定位虚拟机网络故障点

虚拟机网络异常的根因通常藏在你平时不留意的地方,我处理过的案例里,虚拟机ping不通宿主机、浏览器打不开网页的情况,超过一半是宿主机的虚拟网卡或后台服务掉了,开始动虚拟机之前,先确认三条链路。

检查宿主机能否正常上网

  • 在宿主机上打开命令行,输入ping 223.5.5.5,确认外网连通,如果宿主机本身没网,虚拟机自然会跟着遭殃。
  • 再输入ping 路由器网关地址,确认内网通断,这一步能快速区分是运营商问题还是本地路由问题。
  • 顺手关掉宿主机上可能抢占带宽或端口的安全软件,部分国产杀毒会干扰虚拟网卡的通信。

确认当前虚拟机的网络模式

虚拟机的网络模式是“桥接模式”还是“NAT模式”,很多人根本记不住,进入虚拟机的“虚拟机设置”界面,查看“网络适配器”一栏,看看勾选的是哪种,大多数默认安装会选择NAT模式,如果之前手动改过但没完全改对,就容易出现虚拟机没网络的现象。

查看虚拟网卡在宿主机上的状态

在宿主机上打开“控制面板网络和 Internet网络连接”,找到VMnet1、VMnet8或桥接对应的物理网卡,如果显示“已禁用”,右键启用;如果显示“未识别”,大概率是虚拟网络编辑器里的子网IP段和实际网段冲突了。

如果以上三步都没发现问题,但虚拟机还是连不上网,继续往下看。

虚拟机桥接模式设置说明:让虚拟机像物理机一样接入局域网

桥接模式是让虚拟机直接使用宿主机的物理网卡进行通信,虚拟机和局域网内其他设备处于同一个网段,很多场景下,比如搭建内部测试环境或者让同事直接访问你的虚拟机,桥接模式更有优势,但“桥接模式设置后还是不能上网”是搜索热度很高的问题,原因往往很固定。

桥接模式连不上网,先查这三处

  • 物理网卡没有正确桥接:在VMware的“虚拟网络编辑器”里,桥接模式的“桥接到”选项必须指向真实的物理网卡,而不是无线热点或虚拟网卡,插着网线就选有线网卡,连Wi-Fi就选无线网卡,选错了自然没网。
  • IP地址冲突:桥接模式下,虚拟机相当于局域网内一台独立设备,如果它的IP被其他设备占用,就会出现间歇性断网或者完全无法通信,登录路由器后台,看看DHCP客户列表里有没有重复地址。
  • 路由器开启了AP隔离:部分家用路由器默认开启“无线隔离”功能,连接Wi-Fi的设备之间无法互相访问,有线桥接不受影响,但如果虚拟机桥接在无线网卡上,需要登录路由器关闭隔离开关。

桥接模式正确配置步骤

  • 打开VMware“编辑”菜单下的“虚拟网络编辑器”,点击右下角“更改设置”以获取管理员权限。
  • 选择“VMnet0”,勾选“桥接模式”,并在下拉框中指定正确的物理网卡。
  • 进入Windows虚拟机系统,把IPv4地址设置为和宿主机同一网段,比如宿主机是192.168.1.5,虚拟机就设为192.168.1.6,子网掩码和网关与宿主机保持一致。
  • DNS服务器地址建议填写路由器的网关地址,或者常用公共DNS如223.5.5.5,避免因DNS解析失败出现“虚拟机没网络但能ping通IP”的怪象。

即使以上配置全部正确,桥接模式跨虚拟机互访时还可能遇到另一个坑。

虚拟机NAT模式无法上网:多半是DHCP服务或虚拟网卡驱动在偷懒

NAT模式通过宿主机的虚拟网卡(VMnet8)实现地址转换,虚拟机共享宿主机IP上网,正常情况下,NAT模式比桥接模式更省心,因为它不依赖外部网络环境,虚拟机NAT模式无法上网依然高发,尤其是Windows更新或VMware升级之后,行业共识认为,NAT模式故障的根因集中在VMnet8网卡、NAT服务和DHCP服务三个组件上。

NAT模式的依赖链,逐个排查

  • VMnet8网卡被禁用或IP丢失:在宿主机网络连接里找到VMnet8,确保其为“已启用”状态,并检查其IPv4地址是否和虚拟子网在同一段(默认是192.168.xx.1),如果发现是“自动获取IP”,常常说明虚拟网卡驱动没正常工作。
  • VMware NAT Service服务停止:在Windows中按下Win+R运行“services.msc”,找到“VMware NAT Service”和“VMware DHCP Service”,确认服务状态为“正在运行”,如果意外停止,请右键启动并把启动类型设为“自动”。
  • 虚拟子网网段和实际局域网冲突:VMware默认NAT网段可能是192.168.88.0,但恰好你的公司局域网也是这个网段,就会出现路由混乱,进入“虚拟网络编辑器”,选中VMnet8,点击“NAT设置”和“DHCP设置”,把子网IP改成不冲突的网址段,比如192.168.180.0。

在虚拟机里执行三条命令强制刷新网络

排查宿主机后,进入虚拟机系统执行以下命令,效果立竿见影。

  • Windows虚拟机:打开管理员CMD,依次执行“ipconfig /release”“ipconfig /renew”,让虚拟机重新向DHCP索取地址。
  • Linux虚拟机:执行“sudo systemctl restart NetworkManager”,或者“sudo dhclient -r”和“sudo dhclient”,重新获取IP租约。
  • 重启虚拟网卡适配器:在Windows虚拟机的“设备管理器”中禁用再启用网络适配器,能解决驱动层面的假死。

如果以上操作后虚拟机NAT模式仍然不通,尝试删除虚拟机网络配置重建。

重建虚拟网络配置

  • 关闭所有虚拟机,在虚拟网络编辑器中点击左下角“还原默认设置”,等待VMware重建所有虚拟网卡。
  • 注意此操作会清空你自定义的网段,重建后需要重新配置桥接和静态IP。

NAT模式重建后,还有一个高频场景需要单独处理。

虚拟机静态IP怎么设置:固定地址防重启失效的关键操作

在虚拟机里部署数据库、Tomcat或者搭建集群时,动态IP会让服务中断因为重启后IP变了,其他节点就找不到它了,设置静态IP是运维基本操作,但很多人总在配置细节上出错。

Windows虚拟机配置静态IP的两种方式

  • 图形化界面操作:在虚拟机内打开“网络和共享中心更改适配器设置”,右键网卡选择“属性”,双击“Internet协议版本4(TCP/IPv4)”,选择“使用下面的IP地址”,填入固定IP、子网掩码和默认网关。
  • 命令行快速配置:打开管理员PowerShell,输入以下命令,注意替换实际网卡名称:
netsh interface ip set address name="以太网" static 192.168.1.88 255.255.255.0 192.168.1.1
netsh interface ip set dns name="以太网" static 223.5.5.5

命令行方式便于在批量初始化虚拟机时快速统一网络配置。

Linux虚拟机配置静态IP的推荐路径

  • Ubuntu 18.04以上使用netplan:编辑“/etc/netplan/00-installer-config.yaml”,将dhcp4改为static,再指定addresses、routes和nameservers,最后执行“sudo netplan apply”让配置生效。
  • CentOS或Rocky Linux则编辑“/etc/sysconfig/network-scripts/ifcfg-ens33”,把BOOTPROTO改成“static”,添加IPADDR、GATEWAY、NETMASK和DNS1,保存后执行“systemctl restart network”。
  • 修改之前,先用“ip route show default”确认当前网关地址,避免填错导致虚拟机没网络。

静态IP设置失败的常见BUG

  • 网关填成了宿主机IP而不是路由器IP,导致只能访问宿主机,无法访问外部网络。
  • 没有关闭网络管理器的自动接管,图形界面和命令行配置冲突,重启后配置被覆盖。
  • DNS只填了内网地址,无法解析外网域名,出现能发微信但打开不了网页的怪象。

跨场景排查:虚拟机ping不通宿主机,或宿主机ping不通虚拟机

很多同事问我,虚拟机网络连接正常,但就是ping不通宿主机,这到底算不算故障?真相是:它可能只是Windows防火墙拦截了ICMP请求,如果你需要联调服务,不必纠结ping的通通,直接测试业务端口更实在。

测试虚拟机业务端口的连通性

  • 在宿主机命令行输入“telnet 虚拟机IP 8080”,如果端口能通,说明网络完全正常。
  • 如果telnet提示无法连接,去虚拟机里检查服务是否监听在0.0.0.0上。
  • 对于Windows防火墙拦截,可临时执行“netsh advfirewall set allprofiles state off”验证,测试完成后务必重新开启。

据工信部近年来的通报数据显示,虚拟化相关安全漏洞多数源于防火墙被长期关闭,所以临时关闭防火墙只用于故障定位,不能作为常规手段。

虚拟机ip地址老变,绑定MAC才是根治之法

  • 登录路由器后台,找到“DHCP服务器静态地址分配”,通过虚拟机的MAC地址绑定固定IP。
  • 在虚拟机内查看MAC:Windows执行“ipconfig /all”,Linux执行“ip addr show”,找到物理地址。
  • 绑定后重启虚拟机,IP依然会生效,同时减少前面静态配置出错的概率。

Q&A:虚拟机没网路的高频疑问集中解答

Q1:VMware虚拟机桥接模式怎么设置才能让局域网其他电脑访问?

先确认虚拟网络编辑器里VMnet0桥接到了正确的物理网卡,再把虚拟机的IP设成和宿主机同一网段,子网掩码、网关保持一致,比如宿主机是192.168.1.10/24,虚拟机就设为192.168.1.20/24,设置完成后,局域网内其他电脑用浏览器或远程桌面访问192.168.1.20即可,如果无法访问,检查宿主机和虚拟机各自的防火墙是否放行了相关端口。

Q2:虚拟机没网络但宿主机正常,NAT模式和桥接模式哪个更适合日常使用?

大多数办公场景推荐NAT模式,它不占用外部IP资源,且宿主机的网络环境变化(比如换Wi-Fi)不会立即影响到虚拟机,只要VMnet8网卡正常,虚拟机就能保持网络可用,桥接模式更适用于需要虚拟机作为独立节点参与局域网通信的场合,比如搭建内部Web服务器或做网络实验,如果NAT模式下无法上网,优先确认VMware NAT Service服务是否在运行,以及虚拟子网网段是否与公司网络冲突,通常排查完这两个点,问题就能解决。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱