1. 先搞清楚三种网络模式到底在干什么很多人装完 VMware 之后虚拟机里 ping 不通外网、宿主机 ping 不通虚拟机、虚拟机之间互相也 ping 不通第一反应就是“网络坏了”。其实十有八九不是坏了而是你根本没搞清楚 VMware 这三种网络模式各自在干什么。我见过太多人在这上面卡了一整天最后发现只是选错了模式。先把最核心的认知建立起来VMware Workstation 的三种网络模式本质上是三套不同的“虚拟网络拓扑”。你选哪种模式就等于把虚拟机接入了哪种“虚拟交换机”而这个虚拟交换机怎么跟你的物理网卡、宿主机、外网打交道三种模式完全不同。NAT 模式虚拟机躲在一个虚拟路由器后面通过宿主机上网。虚拟机可以访问外网但外网默认访问不到虚拟机。桥接模式虚拟机直接“搭”在物理网卡上跟宿主机平起平坐在局域网里拥有独立 IP外网也能直接访问它。仅主机模式虚拟机只跟宿主机通信完全隔离在一个封闭的小网络里上不了外网。这三句话看起来简单但真正出问题的时候症状往往很迷惑。比如 NAT 模式下虚拟机 ping 不通宿主机桥接模式下虚拟机拿不到 IP仅主机模式下宿主机 ping 不通虚拟机。每一种症状背后都有一串可能的原因而排查的关键在于你要先确认虚拟机的网络链路到底断在哪一段。我一般的排查顺序是这样的先看虚拟机网卡有没有识别到、有没有拿到 IP再看虚拟交换机VMnet的配置对不对然后看宿主机这边的虚拟网卡状态最后才去查防火墙和路由。这个顺序很重要因为如果你一上来就怀疑防火墙很可能把时间浪费在一个根本不是问题的地方。下面这张表可以先帮你快速定位方向模式虚拟机能否上外网宿主机能否 ping 通虚拟机局域网其他机器能否 ping 通虚拟机典型用途NAT能通常能不能日常上网、测试桥接能能能服务器模拟、对外提供服务仅主机不能能不能隔离实验、内网测试注意这张表是“默认配置下”的典型情况实际能不能通还取决于你有没有手动改过 VMnet 配置、宿主机防火墙有没有放行、物理网络有没有做端口隔离。2. NAT 模式 ping 不通的排查思路NAT 模式是大多数人装完虚拟机后的默认选择因为它最省事——虚拟机自动获取一个内网 IP通过宿主机 NAT 转发上网不需要你手动配什么。但省事不代表不出问题NAT 模式下的 ping 不通通常集中在几个固定的点上。2.1 先确认虚拟机有没有拿到 IP这是最基础的一步但也是最容易被跳过的一步。很多人一上来就 ping 外网结果虚拟机压根没拿到 IPping 什么都是白搭。在 Linux 虚拟机里执行ip addr show或者老一点的系统用ifconfig你要看的是虚拟网卡通常是 ens33、eth0 之类有没有 inet 地址。如果只有 lo 回环地址说明网卡没拿到 IP。这时候先检查虚拟机里的网络服务有没有起来systemctl status NetworkManager如果是 Ubuntu Server 版本可能用的是 netplancat /etc/netplan/*.yaml确认配置里写的是 dhcp4: true。如果配置没问题但就是拿不到 IP那问题大概率出在 VMware 的 DHCP 服务上。2.2 检查 VMware DHCP 和 NAT 服务有没有启动这是 NAT 模式最经典的坑。VMware Workstation 在 Windows 宿主机上会安装两个服务VMware DHCP Service和VMware NAT Service。这两个服务如果没启动NAT 模式基本就是废的。在 Windows 宿主机上按 WinR输入 services.msc找到这两个服务确认状态是“正在运行”。如果没运行手动启动并且把启动类型改成“自动”。我遇到过好几次用户说“昨天还好好的今天就不行了”一问就是 Windows 更新之后这两个服务被禁用了。所以如果你用的是 Windows 宿主机这个点一定要优先排查。2.3 确认 VMnet8 的配置是否正确NAT 模式对应的是 VMnet8 这个虚拟网络。在 VMware Workstation 里点“编辑”-“虚拟网络编辑器”选中 VMnet8看一下几个关键配置子网 IP通常是 192.168.x.0比如 192.168.100.0子网掩码255.255.255.0NAT 设置网关地址通常是 192.168.x.2DHCP 设置分配的地址范围通常是 192.168.x.128 到 192.168.x.254如果虚拟机的 IP 不在这个网段里那肯定 ping 不通。比如虚拟机拿的是 169.254.x.x 这种地址说明 DHCP 没拿到系统自动分配了一个链路本地地址这种情况下什么都通不了。2.4 宿主机 ping 不通虚拟机的特殊情况NAT 模式下宿主机 ping 虚拟机通常是能通的因为宿主机上有一个 VMnet8 的虚拟网卡IP 通常是 192.168.x.1。但有时候你会发现宿主机 ping 不通虚拟机原因可能是宿主机防火墙拦截了 ICMPWindows 防火墙默认可能不允许来自 VMnet8 网段的 ICMP 请求。你可以临时关闭防火墙测试一下如果关了就能通那就是防火墙规则的问题。虚拟机防火墙拦截了 ICMPLinux 虚拟机的 firewalld 或 iptables 可能默认不允许 ping。可以临时放行# CentOS/RHEL 系 firewall-cmd --add-icmp-block-inversion --permanent firewall-cmd --reload # 或者直接临时关闭 systemctl stop firewalld虚拟机网卡没有正确连接到 VMnet8在虚拟机设置里网络适配器要选“自定义特定虚拟网络”然后选 VMnet8。如果选的是“仅主机模式”或者别的那自然不通。2.5 NAT 模式下 ping 外网域名不通但 ping IP 通这个症状很典型ping 8.8.8.8 能通但 ping www.baidu.com 不通。这说明网络链路是通的问题出在 DNS 解析上。检查虚拟机的 DNS 配置cat /etc/resolv.conf如果里面没有 nameserver或者 nameserver 指向了一个不可用的地址那就手动加一个nameserver 114.114.114.114 nameserver 8.8.8.8但要注意/etc/resolv.conf 在某些系统上重启后会被覆盖。如果是 NetworkManager 管理的系统应该在网卡配置里加 DNSnmcli con mod ens33 ipv4.dns 114.114.114.114 8.8.8.8 nmcli con up ens33实操心得NAT 模式下 DNS 问题非常常见尤其是你换了网络环境之后。我一般会在虚拟机里直接写死两个公共 DNS省得每次换网络都要排查一遍。3. 桥接模式 ping 不通的排查思路桥接模式是三种模式里最“真实”的一种虚拟机就像局域网里的一台独立机器有自己的 IP能被其他机器访问。但正因为如此它受物理网络环境的影响也最大出问题的概率反而比 NAT 模式高。3.1 桥接模式的核心原理桥接模式下VMware 会在宿主机上创建一个虚拟网桥把虚拟机的网卡“桥接”到宿主机的物理网卡上。虚拟机的网络流量会直接走物理网卡出去跟宿主机在同一个二层网络里。这意味着虚拟机的 IP 必须跟宿主机在同一个网段否则就不通。比如宿主机是 192.168.1.100那虚拟机也得是 192.168.1.x。如果虚拟机拿的是 192.168.100.x那肯定 ping 不通。3.2 桥接模式最常见的坑桥接到了错误的网卡这是桥接模式第一大坑没有之一。现在的笔记本往往有多个网络接口有线网卡、无线网卡、蓝牙网络、虚拟网卡等等。VMware 默认的桥接设置是“自动”它会自己选一个物理网卡来桥接。但它的选择逻辑有时候很迷可能桥接到一个根本没连网的网卡上。解决办法在“虚拟网络编辑器”里选中 VMnet0桥接模式对应的虚拟网络把“桥接到”从“自动”改成你实际在用的那块物理网卡。比如你用的是 Wi-Fi就选无线网卡用的是有线就选有线网卡。注意如果你用的是 Wi-Fi有些无线网卡驱动不支持桥接模式或者桥接后不稳定。这种情况下NAT 模式反而是更稳妥的选择。3.3 虚拟机拿不到 IP 怎么办桥接模式下虚拟机通常也是通过 DHCP 获取 IP。如果物理网络里有 DHCP 服务器比如路由器虚拟机应该能拿到一个跟宿主机同网段的 IP。但如果拿不到可能的原因有物理网络的 DHCP 地址池满了这种情况在小路由器上偶尔会遇到重启路由器或者手动给虚拟机配静态 IP。桥接到了错误的网卡上面已经说了检查桥接设置。物理网络做了 MAC 地址过滤有些企业网络会限制未注册的 MAC 地址接入虚拟机的 MAC 地址不在白名单里自然拿不到 IP。无线网络的客户端隔离有些 Wi-Fi 开启了 AP 隔离设备之间不能互相通信虚拟机虽然连上了但拿不到 IP。手动配静态 IP 的方法以 Ubuntu 为例# 编辑 netplan 配置 sudo vim /etc/netplan/01-netcfg.yaml内容改成network: version: 2 ethernets: ens33: dhcp4: no addresses: - 192.168.1.200/24 gateway4: 192.168.1.1 nameservers: addresses: [114.114.114.114, 8.8.8.8]然后执行sudo netplan apply3.4 宿主机能 ping 通虚拟机但虚拟机 ping 不通宿主机这个症状说明虚拟机的网络链路是通的但宿主机的防火墙可能拦了 ICMP。Windows 防火墙默认会阻止来自其他网段的 ping 请求。你可以这样检查在 Windows 宿主机上打开“高级安全 Windows Defender 防火墙”找到“入站规则”启用“文件和打印机共享回显请求 - ICMPv4-In”这条规则。或者临时关闭防火墙测试。如果关了防火墙就能通那就说明是防火墙问题你可以针对 VMnet0 网段单独放行而不用整个关掉防火墙。3.5 桥接模式下虚拟机之间 ping 不通如果你有多台虚拟机都用了桥接模式它们应该像局域网里的独立机器一样能互相通信。如果 ping 不通检查两台虚拟机的 IP 是否在同一网段两台虚拟机的防火墙是否放行了 ICMP物理网络是否做了端口隔离有些交换机默认开启端口隔离同一交换机下的设备不能互通4. 仅主机模式 ping 不通的排查思路仅主机模式是最“封闭”的一种模式虚拟机只能跟宿主机通信不能上外网。很多人用仅主机模式来做隔离实验比如测试病毒样本、搭建内网靶场。但正因为封闭它的配置也最容易出问题。4.1 仅主机模式的核心配置仅主机模式对应的是 VMnet1 这个虚拟网络。在“虚拟网络编辑器”里你可以看到 VMnet1 的配置子网 IP通常是 192.168.x.0子网掩码255.255.255.0DHCP 设置是否启用 DHCP关键点宿主机上会有一个 VMnet1 的虚拟网卡IP 通常是 192.168.x.1。虚拟机的 IP 必须在这个网段里才能跟宿主机通信。4.2 宿主机 ping 不通虚拟机的常见原因VMnet1 虚拟网卡被禁用了在 Windows 的“网络连接”里找到 VMware Network Adapter VMnet1确认它是启用状态。有时候系统更新或者网络重置会把它禁用。虚拟机的 IP 不在 VMnet1 网段如果虚拟机手动配了一个别的网段的 IP那肯定不通。DHCP 没有启用如果 VMnet1 的 DHCP 没启用虚拟机又设的是自动获取那就拿不到 IP。要么启用 DHCP要么手动配静态 IP。防火墙拦截跟前面一样检查宿主机和虚拟机的防火墙。4.3 仅主机模式下虚拟机 ping 不通宿主机反过来如果虚拟机 ping 不通宿主机除了防火墙之外还要检查宿主机的 VMnet1 网卡有没有 IP。有时候 VMnet1 网卡虽然启用了但没有分配到 IP这时候宿主机自己都不知道自己的地址虚拟机自然 ping 不通。可以在宿主机上执行ipconfig找到 VMnet1 的适配器看它的 IPv4 地址是不是 192.168.x.1。如果不是可以在“虚拟网络编辑器”里点“还原默认设置”让 VMware 重新配置。4.4 仅主机模式下想上外网怎么办仅主机模式默认不能上外网但如果你确实需要可以在宿主机上做网络共享。Windows 下可以这样操作打开“网络连接”找到你用来上网的物理网卡右键 - 属性 - 共享勾选“允许其他网络用户通过此计算机的 Internet 连接来连接”在下拉框里选择 VMnet1这样虚拟机就能通过宿主机的网络共享上外网了。但要注意这种方式下虚拟机的网关要指向 VMnet1 的宿主机 IP192.168.x.1DNS 也要手动配。5. 通用排查工具和命令速查不管哪种模式排查网络问题的基本工具和命令都是通用的。这一节我整理了一份速查表你可以直接抄作业。5.1 虚拟机内部排查命令命令作用关键看什么ip addr查看网卡和 IP网卡有没有 UP有没有 inet 地址ip route查看路由表默认网关是否正确ping 网关IP测试到网关的连通性通不通ping 8.8.8.8测试外网 IP 连通性通不通ping www.baidu.com测试 DNS 解析通不通cat /etc/resolv.conf查看 DNS 配置有没有 nameserversystemctl status NetworkManager查看网络服务状态是否 runningnmcli con show查看连接配置网卡是否 connected5.2 宿主机排查命令Windows命令作用ipconfig /all查看所有网卡配置包括 VMnet1 和 VMnet8ping 虚拟机IP测试到虚拟机的连通性arp -a查看 ARP 表确认虚拟机 MAC 是否解析route print查看路由表services.msc查看 VMware 相关服务状态5.3 宿主机排查命令Linux命令作用ip addr查看 VMnet1/VMnet8 网卡状态brctl show查看网桥配置桥接模式iptables -L -n查看防火墙规则systemctl status vmware查看 VMware 服务状态6. 那些年我踩过的坑和独家经验这一节不讲理论只讲实战中遇到的真实问题和解决办法。有些坑你可能正在踩有些坑你迟早会踩。6.1 虚拟机克隆后网络不通这是超级常见的坑。你装好一台虚拟机配置好网络然后克隆了一台新的。结果新虚拟机网络不通或者 IP 跟原来那台冲突。原因克隆的时候VMware 会保留原来的 MAC 地址导致两台虚拟机 MAC 地址相同。在同一个网络里MAC 地址冲突会导致网络异常。解决办法克隆完成后在虚拟机设置里找到网络适配器点“高级”然后点“生成”一个新的 MAC 地址。或者在虚拟机里手动改 MAC 地址。6.2 换了网络环境后 NAT 模式不通你带着笔记本从公司回到家NAT 模式的虚拟机突然上不了网了。这是因为公司的网络网段和家里的不一样VMware 的 NAT 配置可能还停留在原来的网段。解决办法在“虚拟网络编辑器”里点“还原默认设置”让 VMware 重新根据当前网络环境生成配置。或者手动改 VMnet8 的子网 IP改成跟当前网络不冲突的网段。6.3 桥接模式在 Wi-Fi 下不稳定前面提过有些无线网卡对桥接模式支持不好。表现是有时候能通有时候不通或者速度很慢。如果你遇到这种情况别折腾了直接用 NAT 模式。NAT 模式在 Wi-Fi 下稳定得多。6.4 虚拟机 ping 不通但 SSH 能连这个症状很迷惑ping 不通但 SSH 能连上。这说明网络是通的只是 ICMP 被拦了。很多云服务器默认就是这样只放行特定端口不放行 ICMP。如果你在虚拟机里也遇到这种情况检查防火墙规则看看是不是只放行了 TCP 而没放行 ICMP。6.5 仅主机模式下 DHCP 分配了错误网段的 IP有时候 VMnet1 的 DHCP 配置被改过分配了一个跟 VMnet1 子网不匹配的 IP。比如 VMnet1 是 192.168.100.0/24但 DHCP 分配的是 192.168.200.x。这种情况下虚拟机肯定不通。解决办法在“虚拟网络编辑器”里检查 DHCP 设置确保分配的地址范围在 VMnet1 的子网内。6.6 虚拟机网卡显示“网络电缆被拔出”这个提示通常出现在 Windows 虚拟机里。原因是虚拟机的网卡没有连接到任何虚拟网络。检查虚拟机设置里的网络适配器确认勾选了“已连接”和“启动时连接”并且选对了网络模式。7. 一套完整的排查流程最后我把整个排查流程串起来给你一套可以直接照着走的步骤。不管你遇到的是哪种模式的问题都可以按这个流程来。7.1 第一步确认虚拟机网卡状态在虚拟机里执行ip addr确认网卡是 UP 状态并且有 IP 地址。如果没有 IP先解决 IP 问题。7.2 第二步确认网络模式在虚拟机设置里确认网络适配器选的是哪种模式。然后确认对应的 VMnet 配置是否正确。7.3 第三步测试到网关的连通性在虚拟机里 ping 网关。NAT 模式的网关通常是 192.168.x.2桥接模式的网关是物理网络的网关仅主机模式的网关是 192.168.x.1。如果 ping 不通网关说明虚拟机和虚拟网络之间的链路有问题。7.4 第四步测试到外网的连通性ping 8.8.8.8。如果通说明网络链路没问题问题在 DNS。如果不通说明 NAT 转发或者路由有问题。7.5 第五步测试 DNS 解析ping www.baidu.com。如果不通但 ping 8.8.8.8 通那就是 DNS 问题检查 /etc/resolv.conf。7.6 第六步检查宿主机侧在宿主机上 ping 虚拟机的 IP。如果不通检查宿主机的虚拟网卡状态、防火墙规则、VMware 服务状态。7.7 第七步检查物理网络如果是桥接模式检查物理网络有没有做 MAC 过滤、端口隔离、DHCP 限制等。这套流程走下来基本上 90% 的网络问题都能定位到。剩下的 10% 可能是驱动问题、系统 bug 或者硬件兼容性问题那就需要具体问题具体分析了。我个人在实际操作中的体会是网络排查最忌讳的就是瞎猜。不要一上来就怀疑防火墙也不要一上来就重装 VMware。按照链路一层一层往下查从虚拟机内部到虚拟网络再到宿主机最后到物理网络每一步都有明确的检查点。这样排查效率最高也最不容易漏掉问题。另外再分享一个小技巧如果你实在搞不定某种模式不妨换一种模式试试。比如 NAT 模式搞了半天不通换成桥接模式可能五分钟就通了。反过来也一样。三种模式总有一种能适合你当前的网络环境没必要在一棵树上吊死。
企业数字化 ERP 产品动态
相关推荐
iperf3 打流测试软件安装指南:跨平台网络吞吐与带宽测速实践 你要是干过网络运维、弱电集成或者服务器交付,应该对“打流”这个词不陌生。两台设备之间网络到底能不能跑满带宽、延迟是不是正常、有没有丢包,光靠 ping 大包和复制文件根本说明不了问题。这时候就得请出 iperf3 这个老牌工具,专门用来做网… · 2026/9/26 12:49:22
LDD3 深度解读:Linux 设备驱动开发入门与内核模块实操指南 1. 为什么一本二十年前的驱动开发书至今还在被反复翻出来如果你在嵌入式或者内核开发圈子里待过一阵子,大概率会听到有人提到这本书——《LINUX设备驱动程序》第三版。圈内人一般直接叫它LDD3,全称是 Linux Device Drivers, 3rd Edition。它最早由 OReil… · 2026/9/26 12:49:22
算法解决不了的人类问题:目标函数、价值判断与人机协作的边界 1. 算法统治区:为什么有些问题天生就该交给机器 在工作里被人问到“能不能用算法解决”时,我通常不会立刻去想模型选型、特征工程或者复杂度分析,而是先反问一句:这个问题本身是什么?这听起来像废话,但实际… · 2026/9/26 12:49:16
cPanel到宝塔迁移指南:WordPress网站搬家避坑全流程 1. 迁移前先摸清两边的环境差异,别等搬完才哭1.1 不是复制粘贴那么简单:cPanel与宝塔的底层逻辑差别很多人第一次做cPanel到宝塔的迁移,下意识以为就是"打包下载,上传解压"这两步。真这么干,大概率会在站点打… · 2026/9/26 13:20:46
Seedance2真人脸适配四大核心瓶颈与工程化破局方案 1. 这不是“换脸”,而是可控的人脸驱动——Seedance2真人脸适配的本质问题Seedance2作为当前主流的AI舞蹈生成工具,其核心能力在于将静态人物图像转化为具有自然肢体动作与节奏感的动态视频。但很多人在首次尝试时会发现:上传自己清晰正脸照后… · 2026/9/26 13:20:46
OpenTelemetry Demo C++ 服务编译全攻略:从环境准备到排错实践 说实话,第一次在 OpenTelemetry Demo 里翻currencyservice的源码目录时,我愣了一下——整个 Demo 项目十几个服务,Java、Go、Python 都有现成的容器镜像,唯独这个 C 写的货币转换服务,想跑起来得先自己搞定一堆依赖。最… · 2026/9/26 13:20:46
风力发电机组电器件详解:变桨、变流与主控系统实战指南 干了这么多年风电运维,经常被新同事问同一个问题:风机里到底哪些算电器件,它们各自是干嘛的?说实话,风机虽然本质上是一台“发电机器”,但真正让风轮转起来的能量变成可并网电能的,恰恰是机舱、… · 2026/9/26 13:20:46
TypeScript属性与参数装饰器:执行时机、元数据与依赖注入实战 属性装饰器和参数装饰器,在 TypeScript 装饰器体系里一直属于“文档看过就忘”的角色。类装饰器有 Module ,方法装饰器有 Get ,属性装饰器呢?好像就只能在表单验证里加个 IsNotEmpty() 的样子。参数装饰器更惨,很… · 2026/9/26 13:20:46
PDF内容提取合流设计:原生文字、图片与OCR统一处理实战 1. 为什么PDF内容提取需要“合流”而不是“单干”做过PDF解析的人都有一个共同感受:单看某一类内容,方案满地都是;一旦把原生文字、混排图片、图内文字放在一起,输出就开始打架。我最早做合同批量入库时,用的是最朴素的… · 2026/9/26 13:20:40
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46