M1安装VMware Fusion13后无法连接虚拟网络/dev/vmnet8问题

问题

先说环境:Mac M1 Pro,macos Ventura 13.2.1 系统。

要安装软件版本:VMware Fusion13.0.1,安装后报错无法将“Ethernet0”连接到虚拟网络“/dev/vmnet8”

尝试重启电脑无果,尝试重新安装无果,经过一番搜索,发现大多数都是windows的解决方案,而且基本上没有 13 版本和 M1 的解决方案,自己尝试新建虚拟网络设备和重新添加网络适配器均无果,去官方的论坛里面查了查,没有得到一个有效的解决方案,搜了一下论坛的相关问题不是特别多,所以我猜测应该不是软件的 bug,可能是我自己的特例,尝试自己研究一下。

查找原因

首先分析问题原因,报错找不到 /dev/vmnet8 设备,这应该是一个虚拟网卡,使用 ifconfig -a 命令查询虚拟网卡,发现的确是没有。

image-20230316155040980

问题切入点有了,检查是什么原因导致的,猜测应该是在创建虚拟机的时候会创建虚拟网卡,重新打开虚拟机几次,使用火绒剑监控系统操作,均未找到创建虚拟网卡的操作。

后来搜索的过程中,发现大家都会检查 vmnet 服务是否启动,查了一下,发现我的服务压根没有启动,所以猜测可能是 vmnet 服务在启动过程中发生了问题,可能报错了,但是因为是后台启动,没有发现。

image-20230316155258193

我先去查了 Mac 的系统日志,因为没有报错,后台服务的日志可能在系统日志里面,但是没有查询到。

又猜测可能是在安装虚拟机的时候就创建了虚拟网络设备,遂使用火绒剑监控虚拟机安装操作,找到了这个脚本,猜测可能是服务初始化相关的服务。

image-20230316160925034

image-20230316155435219

发现在安装时会执行这个脚本,使用root权限手动执行

image-20230316155515081

发现无法创建 vmnet1 设备的报错,接近问题核心了,查看脚本内容,看看都做了什么。

image-20230316155840726

image-20230316155709452

发现是通过 vmnet-cli 程序启动网络服务的,先使用 --configure 执行了一遍,后使用 --start 参数执行,猜测这里可能报错了,手动执行一遍。

image-20230316160036147

发现的确是执行失败了,由于 vnmet-cli 程序是二进制程序,无法看到内部做了什么,去火绒剑过滤一下 vmnet 程序关联的操作,发现了这个下面的操作。

image-20230316160154662

结合报错信息,猜测 vmnet-cli 这个程序会通过图中 ping 几个 ip 地址的操作判断当前的几个ip段是否被占用,如果被占用,则报错失败(实际上是没有被占用的)执行过程中也发现这个程序运行了好几秒后才报错的,正好看到这里 ping 了好多个 ip 段,正好时间能对上。

手动执行一下 ping 请求 ip 地址。

image-20230316160350375

image-20230316160454853

问题根源

发现竟然是通的,但是这几个 ip 段的确没有被用到,后来想到可能是 ClashX 的原因,关掉增强模式,再 ping 一下。

image-20230316160555474

发现不通了,应该是通过 ping 命令检测 ip 段是否被占用导致了误判,重新安装 VMware Fusion13,安装成功,开启虚拟机,成功开启,没有报错,查看 vmnet 相关服务。

image-20230316160809586

成功开启服务,查看 vmware 日志,成功创建虚拟网卡,ifconfig 查看一下虚拟网卡,成功创建虚拟网卡!

image-20230317071504222

image-20230317072355032

最终验证了猜测是对的,vmnet-cli 会通过 ping 几个 ip 段来确定这几个 ip 段有没有被占用,如果被占用,则报错,无法启动 vmnet 相关服务并且虚拟机连接网络设备会报错。

总结

所以最终的解决方案是:安装 VMware Fusion13 的时候关掉 ClashX 的增强模式,由于我目前不清楚的原因,它的虚拟网络设备 tun0 会将一些不存在的 ip 段也正常响应 ping 命令,安装好之后再重新打开增强模式,无任何其他影响,问题解决!

参考链接

本文章首发于个人博客 LLLibra146’s blog
本文作者:LLLibra146
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!
本文链接https://blog.d77.xyz/archives/2663d26f.html