为何处于不同子网的WSL(NAT)与VMware(NAT)虚拟机可互通?
不同NAT子网VMware与WSL虚拟机互通机制疑问
环境与配置信息
VMware Ubuntu虚拟机(NAT模式)
huang@ubuntu:~$ ip route show default default via 192.168.189.2 dev ens33 proto static metric 100 169.254.0.0/16 dev ens33 scope link metric 1000 192.168.189.0/24 dev ens33 proto kernel scope link src 192.168.189.128 metric 100 huang@ubuntu:~$ ifconfig ens33 Link encap:Ethernet HWaddr 00:0c:29:86:4f:5a inet addr:192.168.189.128 Bcast:192.168.189.255 Mask:255.255.255.0 inet6 addr: fe80::b981:8152:3a55:a3d3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:35787 errors:0 dropped:0 overruns:0 frame:0 TX packets:12747 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:13880641 (13.8 MB) TX bytes:995531 (995.5 KB)
WSL虚拟机(NAT模式)
DESKTOP-4CQS1TF :: ~ % ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.49.206 netmask 255.255.240.0 broadcast 192.168.63.255 inet6 fe80::215:5dff:fed8:21ae prefixlen 64 scopeid 0x20<link> ether 00:15:5d:d8:21:ae txqueuelen 1000 (Ethernet) RX packets 601 bytes 232083 (232.0 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 200 bytes 18258 (18.2 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
互通测试结果
两台虚拟机处于不同子网,但可互相ping通,测试输出如下:
# WSL ping VMware虚拟机 DESKTOP-4CQS1TF :: ~ % ping 192.168.189.128 PING 192.168.189.128 (192.168.189.128) 56(84) bytes of data. 64 bytes from 192.168.189.128: icmp_seq=1 ttl=63 time=1.19 ms 64 bytes from 192.168.189.128: icmp_seq=2 ttl=63 time=1.18 ms # VMware虚拟机ping WSL huang@ubuntu:~$ ping 192.168.49.206 PING 192.168.49.206 (192.168.49.206) 56(84) bytes of data. 64 bytes from 192.168.49.206: icmp_seq=1 ttl=128 time=5.83 ms 64 bytes from 192.168.49.206: icmp_seq=2 ttl=128 time=0.449 ms
疑问
我想了解上述跨子网互通现象背后的具体机制。此前了解到这可能与Hyper-V的隐式行为有关,但未得到明确的解释。若我遗漏了关键配置或环境信息,请指出。
内容的提问来源于stack exchange,提问作者jiaxiang huang
相关产品推荐
相关产品推荐

