VMware网络配置焚诀【100%解决】理论+实操+拓扑图
简介:
- 焚决:介绍解决VMware网络配置的终极解决办法,80%的概率能够解决问题
- 介绍VMware三种网络模式的配置方法
- 介绍如何自定义VMware网络,理解VMware网络的组成后,能够形成自己的排错思路
- 介绍VMware网络故障排查的思路,以及解决方法
如果你的需求只是想要让虚拟机连接到网络或者能够ssh远程连接到虚拟机,并且没有自定义过VMware网络,那么请直接食用焚决。
焚决
虚拟机无法联网大概率是你的网络配置错误了,所以为了省事,可以直接一键重置虚拟机的网络配置。
首先打开虚拟网络编辑器
点击更改设置
再点击还原默认设置,稍等片刻,VMware的网络就还原为初始状态了。
请注意,网络重置完成后,VMware的各个虚拟网卡的网段可能会发生变化。
如果你虚拟机使用的是DHCP模式,那么无需变动。
如果你虚拟机中配置的是静态IP的方式,请检查一下虚拟机配置的IP地址是否和对应网络模式(桥接、仅主机、NAT)的网卡(无论网卡、VMnet1、VMnet8)的IP地址在同一个网段,以及虚拟机的网关的DNS是否配置正确。
不知道如何改网络配置,或者是重置网络后仍然没有解决问题,可以继续往下看。
我会以三台虚拟机(Ubuntu22.04、Kali2026、Windows11)为例,分别配置不同网络模式,
讲清楚各种网络模式应该如何配置,以及如何拍错
一、三种网络模式的基础配置方法
这部分将讲解在使用默认的VMware网络的情况下,如何配置虚拟机的网络,以及故障排查的思路。
默认情况下,虚拟机有三种网络模式:
- 桥接模式:虚拟机能够上网和访问宿主机
- 仅主机模式:虚拟机间能够互访,虚拟机和宿主机也能互访,但虚拟机无法上网
- NAT模式:虚拟机能够互访,虚拟机和宿主机也能互访、虚拟机也能上网
想要更深入的了解虚拟机的网络模式和原理可以查看:
B站视频讲解:www.bilibili.com/video/BV1Jw…
博客文章讲解:VMware虚拟网络详解 | chuangのblog
接下来分别介绍各个模式下,虚拟机的网络改如何配置
1.1 桥接模式
默认情况下,桥接模式下的虚拟机和宿主机共用一个物理网卡,所以首先得确保宿主机能够上网。
另外,部分网络环境(例如校园网),桥接模式下的虚拟机可能无法上网,可切换为手机热点尝试。
1.1.1 将虚拟机更改为桥接模式
“复制物理网络连接状态”是什么意思:勾选后,如果你的物理网卡断开连接(比如WIFI断开了,或者把网线拔了),那么虚拟机中的网卡也会自动断开连接(显示未连接到网络)
在桥接模式下虚拟机的网络配置方式和宿主机一样,下面将分别演示Ubuntu和win11的配置方法。
1.1.2 Ubunutu的配置方法
按照下图所示,打开设置,找到网络配置
默认情况下,网络配置就是 自动(DHCP),这种情况下,只要你宿主机能够联网,虚拟机也就能够联网,不需要多余的配置
配置静态IP
如果想要使用静态IP,首先得查看宿主机的IP地址和网关地址
在宿主机命令行中执行命令 ipconifg,查看宿主机的网卡,找到电脑上网的网卡,我这里是以太网,如果是笔记本连WIFI,名称可能叫WLAN。
由于桥接模式下,虚拟机和宿主机是共用一张网卡的,所以虚拟机的IP地址必须和宿主机在同一个网段,网关要配的和宿主机的一样。
例如,按照我的虚拟机网络情况,将虚拟机的网络配置为
# IP地址
192.168.31.184
# 子网掩码
255.255.255.0
# 默认网关
192.168.31.1
为了防止虚拟机的IP地址与局域网中的其他主机的IP冲突,所以,更改前需要先测试一下
在宿主机中使用ping命令测试,如果ping不同,那么说明这个IP没有被使用,可以设置给虚拟机。
ping 192.168.31.183
配置静态IP的方法如下图
DNS可以配置为网关地址,也可以配置为真实的DNS服务器
应用后,还需要将网络关闭再打开才能生效
在命令行中,使用 ip add查看配置是否生效
测试与主机的的联通性,以及虚拟能否上网
1.1.3 Win11的配置方法
先在VMware中将虚拟机的网络模式改为桥接模式
在Windows11虚拟机中,通过Windows搜索框搜索网络连接,打开
右键网络适配器,打开属性面板
双击IPv4选项,后可以看到当前的网络配置。
和Ubuntu一样,默认情况下,网络配置就是 自动(DHCP),这种情况下,只要你宿主机能够联网,虚拟机也就能够联网,不需要多余的配置
配置静态IP也是和Ubuntu类似的
IP地址要和宿主机一个网段(ipconfig命令查看宿主机的网卡信息),且不能和局域网中其他主机的IP地址冲突(通过ping命令测试),虚拟机的网关也要和宿主机的网关一一致。
配置示例
宿主机的信息:
虚拟机配置
Windows虚拟机网卡配置完成后会自动重启网卡,在命令行中输入 ipconfig命令就查看是否生效
1.2 仅主机模式
仅主机模式中的虚拟机无法访问互联网,其配置要点是:必须保证虚拟机所在的网段和VMnet1网卡在同一个网段。
由于仅主机模式中的无法访问其他网段的主机,所以网关地址和DNS可以不配
在虚拟网络编辑器中查看VMnet1网卡网段信息
在命令行中使用 ipconfig命令查看VMnet1网卡的IP地址
在仅主机模式中,宿主机通过虚拟的VMnet1网卡来实现与虚拟机的通信
根据图中的信息可以得出:
- VMnet1网卡的IP地址为
192.168.100.1所在的网段为192.168.100.0/24 - 仅主机模式中开启了DHCP,自动分配的IP地址范围为:
192.168.100.128 - 254 - 如果要配置静态IP,那么可选的范围为
192.168.100.2 - 127
在默认情况下,Linux系统和Windows系统都是使用DHCP获取IP,也就是说不需要对虚拟机进行任何操作,就能实现虚拟机之间(同为仅主机模式)的互访以及虚拟机和宿主机的互访。
如果要配置静态IP,那么和上面所演示的一样,查看网卡信息,分析出可配置的IP的范围,然后配置静态IP就行了。
Ubuntu22.04和Win11配置静态IP的方法在“桥接模式”中已经介绍过,这里就只演示Kali虚拟机的配置。
1.2.1 Kali虚拟机配置静态IP
确保虚拟机处于仅主机模式
打开设置
打开高级网络配置
双击编辑网卡
- 网关和DNS可以不用填,因为也用不到
保存后关闭页面
在右上角找到网络连接,将网络断开再重新连接
通过命令行查看IP地址是否更改成功
13 NAT模式
首先确保虚拟机处于NAT模式
同样的,在NAT模式中,如果虚拟机和VMnet网络适配器都是默认配置(DHCP),那么虚拟机是能够正常访问虚拟机、宿主机和互联网的。
接下来就着重介绍静态IP的配置方式
同样的,也是在虚拟网络编辑器中查看NAT模式的配置信息
在宿主机命令行中查看VMnet8网卡的IP地址
在NAT模式中,宿主机通过VMnet8网卡来和虚拟机通信
由图中信息我们可以得出:
- VMnet8网卡的IP地址为
192.168.50.1所在的网段为192.168.50.0/24 - 网关IP为
192.168.50.2(NAT模式下的虚拟机的网关都应该配置为这个) - 仅主机模式中开启了DHCP,自动分配的IP地址范围为:
192.168.50.128 - 254 - 如果要配置静态IP,那么可选的范围为
192.168.100.3 - 127
注意:与仅主机模式不同的是,NAT模式中多了一个“网关IP”,需要将虚拟机的网关地址配置为这个“网关IP”,虚拟机才能上网
信息梳理完毕,那么配置也简单了
例:
现在,三种网络模式的配置方法已经介绍完毕。
不过上面的配置都是根据VMware默认的配置来去修改虚拟机的配置。
实际上VMware的网络还有很多可玩性,你可以自定义每个模式的网段,以及是否启用DHCP,或者指定DHCP分配的IP地址池。
接下来这部分将介绍如何自定义VMware的网络。
二、自定义VMware网络
请注意,在自定义网络前,请确保你将要设置的网段没有和你电脑中现有的网段冲突!否则可能导致虚拟机无法上网,甚至连宿主机都无法上网。
可通过 ipconfig命令查看电脑中所有网络适配器的信息,判断当前已存在哪些网段。
另外,还有一种情况也可能产生冲突。比如你切换了WIFI或者使用手机热点等,连接的网络发生了变化,而变化后的网络又刚好和你在VMware中设置的网络冲突了,就看导致无法上网。
2.1 桥接模式
默认情况下,桥接模式会自动桥接到宿主机的上网卡。
但是,如果宿主机有多块网卡,VMware桥接到了没有使用的网卡上,可能会导致虚拟机无法上网。
或者你想要让虚拟机桥接到指定的网卡,就需要到VMware虚拟网络编辑器中更改。
桥接模式除了自定义桥接的网卡之外,就没啥可讲的了,接下来讲解可玩性最大的仅主机模式。
2.2 仅主机模式
实际上,VMware中可以通过添加多个网络来实现一个虚拟的组网,你甚至可以通过VMware组出一个虚拟的局域网,并将虚拟机接入到这个虚拟的局域网中。
上图中:
- 第一点必须勾上,否则宿主机无法与虚拟机通信
- 第二点DHCP,就算你不用,也不建议关闭。在DHCP设置中能更改DHCP地址池以及更改租期时间等操作。
- 这里可以自定义仅主机模式下的的子网信息(更改完子网信息后,记得打开DHCP设置,将里面的IP地址池也同步更改)
比如,我想要将DCHP地址池的范围缩小到 200-254
问什么说不建议关闭DHCP呢?
因为VMnet1网卡默认是使用DHCP来获取IP地址的,默认情况下它获的IP地址为
192.168.X.1(这里的X,每个人的都不一样,可能你的是50,我的是100,但是他的主机号是确定的,默认就是子网中第一个主机地址)如果你将DHCP禁用,之后再重启一下VMnet1网卡,就会发现它的IP地址为空,这时你的宿主机和虚拟机之间就无法通信了。
当然,你也可以将VMnet1网卡设置为静态IP地址(比如 192.168.100.254),这样即使关闭DHCP也不会有影响。
比如,我就习惯将所有的虚拟机都设置为静态的地址(就不用每次ssh时都要输入IP地址了),同时将VMnet1网卡设置为静态IP地址 192.168.X.254。(注意更改完网卡配置后,如果没有生效,那就将网卡禁用再启用一下)
按照我的配置,可以梳理出逻辑拓扑图如下:
2.3 NAT模式
NAT模式的自定义,也是和仅主机模式差不多。
宿主机通过VMnet8网卡与NAT模式下的虚拟机进行通信,默认情况下,VMnet8的IP地址为 192.168.X.1,NAT设置中的网关IP为 192.168.X.2。
在NAT设置中,可以更改网关IP。
我习惯于将网关设置为 192.168.X.254,VMnet8网卡改为静态IP地址 192.158.X.253。
VMnet8网卡不需要配置网关地址
按照我的配置,可以梳理出逻辑拓扑图如下:
三、故障排查方法和思路
3.1 排查思路
本节将介绍VMware网络故障的排查思路和步骤,具体操作和解决方法附后。
注:如果是将虚拟机设置为静态IP地址,或者是将VMware的虚拟网卡更改为静态IP地址,那么搭配“自定义VMware部分”,能更好的理解你自定义的IP地址是否正确。
基础排查:
- 检查VMware相关服务是否已启用。确保相关服务已启用且正在运行
- 检查VMware虚拟网卡是否启用。确保网卡已启用且配置正确(默认情况下虚拟网卡都使用DHCP模式,不需要任何配置,如果你给虚拟网卡设置了静态IP,请见前文中的“自定义VMware网络”部分)
- 检查宿主机中各个网卡(包括虚拟网卡)网段是否冲突
- 检查宿主机本身是否能够上网
- 如果复制了两台虚拟机,请修改其中一台的MAC地址防止冲突
针对虚拟机:
- 在虚拟机中检查虚拟机的网卡是否启用、网络是否已连接
- 检查虚拟机的网络是否配置正确
- 检查更改后的网络配置是否生效(Linux用
ip add,Windows用ipconfig),且配置正确 - 检查虚拟机防火墙是否关闭,确保防火墙已关闭,防止数据包被拦截
- 虚拟机是否禁ping(只有Windows会出现,而且很不常见,基本可以忽略)
针对桥接模式:
- 检查桥接模式桥接到正确的网卡(通常是用来上网的物理网卡,更改方法见:“自定义VMware网络中的桥接模式部分”)
- 如果使用DHCP模式,需确保路由器没有限制“端口限接一台设备”,如无法上网,可切换到手机热点尝试
- 如果使用静态IP,请确保虚拟机的IP地址和宿主机的物理网卡在同一个网段,且网关和宿主机相同
针对仅主机模式:
- 如果是DHCP模式,请确保仅主机模式已开启DHCP,且DHCP地址池配置正确
- 如果是静态IP模式,请确保虚拟机和VMnet1网卡处于同一网段,且没有IP冲突
针对NAT模式:
-
如果是DHCP模式,请确保仅主机模式已开启DHCP,且DHCP地址池配置正确
-
如果是静态IP模式:
- 请确保虚拟机和VMnet8网卡处于同一网段
- 确保虚拟机IP、VMnet8网卡IP、网关IP没有冲突
- 检查虚拟机的网关和DNS是否配置正确
3.2 检查VMware服务
宿主机中按 Win+R打开运行窗口,输入 services.msc,回车
在服务中找到VMware开头的这几个服务,确保它们是启用的,且正在运行
3.3 检查虚拟网卡状态和配置
在Windows搜索中搜索 网络连接,打开
查看虚拟网卡是否已启用
右键属性,属性面板中双击IPv4选项,查看网卡配置(如何配置?可查看“自定义VMware网络”部分)
3.4 检查各网卡网段是否冲突
宿主机中打开命令行,输入 ipconfig查看各网卡的网段是否冲突。
网卡太多懒得看的话,直接扔给AI
3.5 修改虚拟机MAC地址
复制虚拟机后,MAC地址也跟着复制了过来,如果两台虚拟机都启动,那么就可以造成MAC地址冲突。
复制完虚拟机后,别忘了重新生成一下MAC地址
3.6 查看虚拟机网络是否已连接
一般在虚拟机的右上角或者右下角可以看到网络是否启用已经连接状态,当然,也可以在设置中或者通过命令行查看,不同系统各有差别。
另外还需要额外查看一下,VMware右下角的网卡连接状态是否已连接(绿色小点)
3.7 检查虚拟机防火墙是否关闭
以Ubuntu为例:
# 查看防火墙状态
sudo systemctl status ufw
# 停止服务
sudo systemctl stop ufw
# 禁用开机自启
sudo systemctl disable ufw
其他系统也都差不多,两三条命令即可解决。
3.8 检查Windows是否禁ping
如果虚拟机ping宿主机ping不通,或者宿主机ping Windows的虚拟机不通,那么可能是Windows禁ping了,导致Windows虽然收到了ping包,但是没有回应。
搜索 允许应用通过防火墙,打开
找到文件和打印机共享,确保共用和专用网络都是打勾的
搜索防火墙,打开Windows Defender防火墙面板
在入站规则中找到带有 ICMP回显字眼的选项,有些系统可以是以 文件和打印机共享开头的,确保它们都是启用状态。
事实上,一般情况下Windows关闭防火墙之后就能够ping通了,不到万不得已,没必要改这里。
如图中所示,我这里的规则并没有启用,但是仍然能够ping通。
在我测试时,我宿主机和虚拟机都是Windows11,且防火墙都没有关闭,这里的规则也没有启用。虚拟机能够ping通宿主机,宿主机不能ping通虚拟机,当我把虚拟机的防火墙关闭后,两者都能互通了。
3.9 检查是否已开启DHCP
在虚拟网络编辑器中可以查看VMware各模式的配置情况,如果你没有给VMware虚拟网卡和虚拟机配置静态IP,而是使用DHCP自动分配,那么请务必保证DHCP是开启的。
DHCP的起始和结束IP地址必须和子网IP在同一个网段中。
3.10 查看VMware各网卡的IP地址
宿主机中打开命令行,输入 ipconfig查看所有网卡的配置信息
3.11 查看NAT模式下虚拟机的网关
在虚拟网络编辑器中查看
虚拟机的网关地址应当配置为这里的网关IP,否则虚拟机无法上网
还有疑问的朋友欢迎评论区留言或私信,我看到都会一一解答