把VMnet设置成VMnet8(NAT模式)并手动指定固定IP段,是主机与虚拟机互通最稳、最适合零基础用户的路子;如果你要模拟“局域网内独立电脑”的场景,再换VMnet0(桥接模式)也不迟。
我见过太多人折腾一晚上,虚拟机死活ping不通主机,或者主机连不上虚拟机里的服务,问题多半不是命令敲错,而是你根本没搞清楚VMnet0、VMnet1、VMnet8这三个虚拟网卡到底是干嘛的,这玩意儿就像你家门牌号:你住A栋,快递员却去了B栋,怎么送得到?下面我从配置顺序讲起,手把手把互通这件事捋明白。
先认识这三块“虚拟网卡”:vmnet0、vmnet1、vmnet8到底谁是谁
VMware Workstation装好后,会自动创建两块虚拟网卡(VMnet1和VMnet8),外加一个桥接用的VMnet0,很多教程直接甩命令让你改,但你不理解它们的角色,改了也白改,我用大白话拆给你看。
- VMnet0(桥接模式):相当于给虚拟机发了一张“和主机一模一样的身份证”,它直接蹭你物理网卡的IP,去路由器要地址,设置后虚拟机在局域网里的地位和主机平起平坐,别人能直接访问它。
- VMnet8(NAT模式):虚拟机和主机之间搭了个“私密小房间”,所有虚拟机共用一个出口去上网。重点:这个模式下,虚拟机默认走的是隐藏网段,想互通必须手动改同一网段。
- VMnet1(仅主机模式):把虚拟机跟外界彻底隔绝,只留一扇门跟主机通信,这个模式不能访问互联网,但你做实验、测内网服务时,它最干净。
行业共识认为,NAT模式是绝大多数场景下的“万金油”:既能上网,又不会和物理局域网撞IP,安全性还高,没有特殊要求,优先配VMnet8。
虚拟机vmnet设置,从0到1的完整实操步骤
咱们先走通“主机 ↔ 虚拟机”这条路,就按VMnet8来,请打开VMware Workstation,按顺序做:
第一步:关掉DHCP,手动定死VMnet8的子网IP
打开菜单栏“编辑 → 虚拟网络编辑器”,右下角点“更改设置”(弹出管理员授权直接确认),看到VMnet8那一行,先记下它默认的子网IP,通常是168.xxx.0,紧接着:
- 点击“NAT设置”,把网关IP记下来,常见的是168.xxx.2,这块儿别跳,后面网关要填。
- 回到主窗口,点击“DHCP设置”,看清楚地址池范围,比如168.xxx.100到192.168.xxx.254。
- 关键动作:取消勾选“使用本地DHCP服务将IP地址分配给虚拟机”,然后手动把子网IP改成一个你喜欢的、好记的段,比如168.66.0,子网掩码保持255.255.0,改完记得先点“应用”,再点“确定”保存。

这样做的原因是:DHCP自动分配的地址可能变,主机这边不好抓,手动控网段后,两台设备才能固定认亲。
第二步:给虚拟机指定静态IP,和VMnet8处在同一网段
这一步要在虚拟机内部操作,我以Ubuntu和Windows Server两种最常见系统举例,原则是:虚拟机的IP和网关,必须和VMnet8的“子网段+网关”对齐。
- Windows虚拟机的配法:进入“网络和Internet设置 → 更改适配器选项”,右键网卡选“属性”,双击“Internet协议版本4”,手动填:
- IP地址:168.66.100(只要不在DHCP池内都行,故意避开地址池更不容易冲突)
- 子网掩码:255.255.0
- 默认网关:168.66.2(就是刚才从NAT设置里抄的网关)
- 首选DNS:可以先填168.66.2,如果上不了网,换成5.5.5(阿里DNS)。
- Ubuntu虚拟机的配法:早期用老命令
/etc/network/interfaces,新版用nmtui更直观,终端输入nmtui,选“Edit a connection”,把IPv4配置从“Automatic”改成“Manual”,然后同样的套路填进去,改完systemctl restart NetworkManager死活不生效的话,直接reboot最快。
第三步:主机网卡不用动,但请顺手来一次“验货”
主机上那两块VMnet虚拟网卡的IP,你无需手动改,VMware会自动帮它们配好,但为了保险,打开主机的“控制面板 → 网络连接”,找到“VMware Network Adapter VMnet8”,双击看一下IPv4,只要它是自动获取IP,而且当前拿到的地址和你刚才设置的子网同段,就没毛病,不同段的话,禁用再启用一次这块网卡,让它刷新一下。
这时候打开两个窗口,先ping 192.168.66.100(主机ping虚拟机),再在虚拟机里ping 主机IP(比如192.168.1.5),通了你就有底了,不通?看下面。
主机和虚拟机互通的常见坑:为啥改了设置还是ping不通
大家遇到最多的坑,根本不是配置步骤,而是一些“看不见的隐形门”锁死了流量,我把它们列出来,命中一个就处理一个。
防火墙还开着“保护伞”
Windows主机的防火墙默认会拦截来自虚拟机的“陌生”ICMP请求,先把VMware的虚拟网卡都划入“专有网络”,再在“高级安全Windows Defender防火墙”里,把“文件和打印机共享(回显请求 – ICMPv4-In)”的入站规则启用,搞定这两件事,再不行就临时关掉防火墙试一发(注意是临时)。
vmnet0桥接模式网段怎么选才不冲突
如果你换了桥接模式,那就意味着虚拟机要直接和路由器打交道

,这时候网段选择就是门学问:你物理Wi-Fi/网线用的网段是192.168.1.x,那VMnet0没得选,只能蹭这个网段,但有个特别容易翻车的点桥接模式下,虚拟机的IP不能和主机一样,也最好避开路由器的DHCP起始范围。
- 如果是光猫拨号,主机IP常在192.168.1.1-192.168.1.100之间,给虚拟机设192.168.1.150就很稳。
- 如果公司或校园网做了MAC地址和白名单绑定,桥接模式直接失败,因为你的虚拟机网卡是“初来乍到”的陌生人这种情况老老实实回VMnet8,别跟IT较劲。
vmware workstation虚拟机互通设置的网段规划细节
很多新手喜欢把子网IP改来改去,结果虚拟机里的旧IP残留和新IP冲突,我的建议是:先把虚拟机系统里的IP改成固定地址,再回头改VMnet8的子网,顺序颠倒,你再怎么配置都是鸡同鸭讲,VMnet8里面的“NAT设置”里的网关地址,千万别乱填一个网段外的IP,否则虚拟机上网会抽风,但主机和虚拟机之间反而能通这种“半通”状态最容易迷惑人。
- 想要上网和互通两不误:NAT网关必须是VMnet8子网内一个未占用的IP。
- 只想互通不想上网(比如测内网漏洞):给虚拟机的IP掩码改成255.255.0,不填网关,直接通信,顺便断网,效率极高。
从“能互通”到“好互通”:进阶优化建议
如果你只是ping通就收工,那你错过了太多,现在我把痛点一一补上,让虚拟机扮演好“搭档”的角色。
给虚拟机固定一个“专属IP”,别让它漂流不定
配静态IP不光是为了省事,更是为了局域网互访的稳定性,你跑个MySQL或Web服务,虚拟机IP一变,主机这边的数据库连接全部断线重来,据我观察,稳定运行了几个月的老虚拟机,十有八九都是手工指定静态IP的,虚拟机开机自启服务,主机定时连过去备份,这种自动化场景根本离不开固定IP。
多层网段连通:两个虚拟机+NAT网络怎么一起玩
如果你开了两个VM,想要“VM1主机互通”的同时,再扩展一条“VM1访问VM2”的链路,这里有个快车道:在虚拟网络编辑器里点“添加网络”,创建一个新NAT(比如VMnet10),然后给另一台虚拟机挂到这个网卡上,需要注意,一台虚拟机不能同时将两个NAT网的网关设为同一个IP,否则路由混乱,正确设置方式是VM1用192.168.66.x,VM2用192.168.77.x,跨子网访问的话,老老实实加路由命令,Windows下在VM2里这样操作:
route add 192.168.66.0 mask 255.255.255.0 192.168.77.2
这条命令的意思是:VM2要访问66网段的数据包,全部发给网关77.2,也就是VM1的网卡,行业共识认为,跨网段场景没有比静态路由更直白的解法。

桥接模式下虚拟机的MAC地址随机化
桥接模式有个很隐蔽的副作用:VMware在每次开机时,虚拟网卡有时会随机生成MAC地址,你公司局域网如果绑定了IP和MAC,虚拟机就会突然从固定IP变成“黑户”,解决办法:在虚拟机的.vmx配置文件里加上一行 ethernet0.addressType = "static",别让它自由发挥,省下来的时间你都能看完半集剧。
主机和虚拟机互通之后,记得组一个共享文件夹
VMware Tools装好之后,“共享文件夹”就是文档协作的救星,把本地的D:/project共享给Ubuntu虚拟机挂载到 /home/user/project,这样两边改代码、传脚本的效率,比你拖拽文件高一百倍,上传下载频繁的活儿,谁用谁知道。
主机与虚拟机互通的知识边界:VMnet设置常见的三个问答
问:虚拟机和主机能通的条件下,为什么虚拟机访问不了外网?
答:最先排查Vnet8里的NAT网关,试试ping 网关IP,网关通了,再看DNS:把虚拟机的DNS改成5.5.5或114.114.114,多数情况下是运营商默认DNS拖后腿,如果网关都ping不通,大概率就是VMware的NAT服务掉了,打开Windows服务管理器(Win+R输入services.msc),找“VMware NAT Service”,右击重启它,然后回到虚拟网络编辑器里重新“应用”一次配置即可。
问:VMnet1能不能用来上网?
答:不能,VMnet1的定位就是“纯隔离”,它的物理网卡上没有NAT转发服务,VMware官方默认行为是把VMnet1和宿主机做成一个仅互通的封闭网络,如果你把VMnet1的子网掩码改成255.255.255.0,网关就想都别想配了,因为根本没有网关这道门,想上网又想隔离别人?那不是VMnet1该扮演的角色,请给它换剧本:用VMnet8再加防火墙规则。
问:nat模式虚拟机设置完成但局域网内其他电脑访问不到,怎么回事?
答:因为NAT模式本身就不构建局域网广播域,虚拟机对于局域网里的其他物理机是隐身状态,主机只是它的“中间人”,如果你需要局域网伙伴直接找上虚拟机,最合理的做法就是把虚拟机改成桥接模式,并且给它分配一个和宿主机同网段、且不冲突的静态IP,这个配置在虚拟网络编辑器里选“桥接模式(自动)”就能完成,记得去vmx文件里锁定MAC地址防止漂移。
最后压实一句话:把VMnet8当成默认首选,手动控好子网IP,按“关DHCP → 设网关 → VM固定IP → 放行防火墙”的顺序操作,主机与虚拟机互通是必然结果。 配置成功后,记得把VMware Network Adapter VMnet8的属性截图存下来,下次重装系统时你就能照着抄作业了。