vmnet1导致宿主机网络异常的解决办法

    科技2023-11-07  133

    这两天电脑的网络总是断断续续,浏览器解析网页、QQ收发文件或消息贼慢。

    因为之前修改过VMware虚拟网卡的配置,所以猜测可能是vmware的虚拟网卡配置不当,导致了宿主机网络异常。于是把vmnet1和vmnet8适配器禁用,果然宿主机网络恢复正常。

    然后逐个排除,确认了是vmnet1导致的网络问题。

    想起来之前是修改过vmnet1的配置。但记不清具体修改哪里了。

    那就重置一下vmnet1吧。 在vmvare里 编辑-->虚拟网络编辑器-->更改设置-->还原默认设置 果然,宿主机网络就恢复正常了。

    这个方法,只是暂时解决了宿主机的网络问题。 但是还不知道产生这个问题的具体原理。


    今天同学也出现了这个问题,帮他去看了,发现是vmnet1网卡设置成固定ip,就会出现这个问题,设置回dhcp,就恢复正常。


    猜测原因可能是,因为一个pc只能设一个网关。给vmnet1网卡也设了网关,导致宿主机pc连接外网时,可能把vmnet1当作网关,此时传输数据会失败。而设置dhcp时,dhcp只是分配了ip,没有分配网关,所有往外网的数据都能正常转发,网络也就正常了(不确定,有待验证)


    更详细的原因猜测: 其实windows宿主机也可以看作一个路由器,里面也有路由表,所谓网关,其实就是路由表里的一个条目,这个条目的目的网络和目的子网掩码全0,下一跳是网关的ip,可以理解成这个条目是默认路由,若需要转发出的分组跟其他路由条目都不匹配,就按这条默认路由条目转发。 如果有两个网关的话,就有了两个花费和优先级都相同的路由条目了,分组往外网转发时,有时会转发到真正连外网的网关,有时会转发到到设了网关的虚拟网卡里。 若转发到虚拟网卡,连接自然失败。

    Processed: 0.017, SQL: 8