我的问题: 在 nat 网络连接模式下,虚拟机可以通过物理网卡 ip 以及虚拟网卡 VMnet1 的 ip 使用主机 clash 的网络代理,但无法使用虚拟网卡 VMnet8 的 ip 使用代理。所以好奇 vmnet8 在虚拟机网络连接中承担的角色,以及这个问题是否出在 clash ,还是 VMware 的网络连接机制。
我做出的尝试: 上述虚拟网卡的 ip 均能 ping 通,通过 wireshark 对网卡 vmnet8 抓包,发现大量 TCPSYN 包,但没有收 SYN-ACK 响应。网络搜索代理的教程也发现有同样的问题,但并没有发现解释,大多选择使用其他网卡进行代理连接。
![]() |
1
body007 15 天前 ![]() vmnet8 你就当作是个路由器,你的虚拟机通过这个路由器上网。你能 ping 通虚拟机 ip 是因为本机有 vmnet8 网卡的 ip ,和你虚拟机 ip 同属局域网。你可以看看 vmnet8 的 NAT 设置的网关 IP ( 192.168.1.2 ),本机 ip ( 192.168.1.1 ),然后虚拟机的 ip ( 192.168.1.x ),并且虚拟机的网关是( 192.168.1.2 )
我是这样理解的。 |
![]() |
2
ysc3839 14 天前 ![]() Windows 防火墙问题。VMware 把虚拟网卡的类型改了,Windows 不会去识别属于什么网络,然后默认就使用公用网络的防火墙配置。需要把类型改回去,然后 Windows 会识别成无法识别的网络,再用 PowerShell 直接改该接口的网络类型,改成专用网络。
|
![]() |
3
ysc3839 14 天前 ![]() 参考这个说明操作,但是要把 *NdisDeviceType 删掉,之后 PowerShell 执行下面的命令设置网络类型
https://knowledge.broadcom.com/external/article?legacyId=1004813 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318} Set-NetConnectionProfile -InterfaceIndex (Get-NetConnectionProfile | Where {$_.InterfaceAlias.EndsWith('VMnet8')}).InterfaceIndex -NetWorkCategory Private |
4
iX8NEGGn 14 天前 ![]() 桥接模式:
物理网卡 <---> 虚拟网桥 <---> 虚拟交换机 <---> 虚拟机 1 、虚拟机 2 、虚拟机 3 Host Only 模式, 情况 1 (物理网卡和 VMnet1 虚拟网卡关闭共享): 物理网卡 VMnet1 虚拟网卡 <---> 虚拟交换机 <---> 虚拟机 1 、虚拟机 2 、虚拟机 3 Host Only 模式,情况 2 (物理网卡和 VMnet1 虚拟网卡开启共享): 物理网卡 <---> VMnet1 虚拟网卡 <---> 虚拟交换机 <---> 虚拟机 1 、虚拟机 2 、虚拟机 3 NAT 模式: 物理网卡 <---> 虚拟 NAT <---> 虚拟交换机 <---> 虚拟机 1 、虚拟机 2 、虚拟机 3 、VMnet8 虚拟网卡 你的误区在于认为虚拟机是靠 VMnet8 联网的,但实际上它是靠的 “虚拟 NAT” 联网,禁用 VMnet8 后,虚拟机依然能联网。 VMnet8 只是用来方便和虚拟机 1 、虚拟机 2 、虚拟机 3 等虚拟机通信,把 VMnet8 看成成一台 “特殊虚拟机” 就好理解了。 |
5
iX8NEGGn 14 天前
你开头的 “nat 网络连接模式下,虚拟机可以通过物理网卡 ip 以及虚拟网卡 VMnet1 的 ip 使用主机 clash 的网络代理 ” 描述,感觉就有点问题,NAT 模式下,理应虚拟机是无法直接和物理网卡、VMnet1 互通的,不知道你是怎么做到的。
|
6
iX8NEGGn 14 天前
NAT 模式,应该这样子画,可能更好理解一点:
物理网卡 <---> 虚拟 NAT <---> 虚拟交换机 <---> 虚拟机 1 、虚拟机 2 、虚拟机 3 VMnet8 虚拟网卡 <---------------------^ |