自己电脑做服务器搭网站,什么软件可以免费发广告,拘束 wordpress,摄影作品欣赏网站某天忽然WLAN变成地球图标#xff0c;上不了Internet#xff0c;搞了半天网络适配器#xff0c;仍然不行。回忆之前做过的操作#xff0c;曾经运行过ZoogVPN#xff0c;试着启动并连接#xff0c;然后退出#xff0c;WLAN神奇地恢复了连接#xff0c;可以上Internet了。…某天忽然WLAN变成地球图标上不了Internet搞了半天网络适配器仍然不行。回忆之前做过的操作曾经运行过ZoogVPN试着启动并连接然后退出WLAN神奇地恢复了连接可以上Internet了。 但WSL2仍然无法连接外网导致提交不了git。问了chatgpt以及参考了多篇wsl网络异常的文章附后试了DNS重置、wsl重装宿主机windows与wsl2之间已经能互相ping通宿主机windows在命令终端能正常ping外网如www.baidu.com)但wsl2里却仍然无法ping外网。 补充此时wsl2其实已经是能够ping外网了只是要等待10多20秒就能看到响应信息当时没有等待这么久就误以为wsl2仍然ping不通外网。后面的描述记录当时自己排查误入歧途的过程大家可以不看 WSL2网络原理
wsl2 可以理解为宿主机完整虚拟出来的一个完整的 Linux 虚拟机拥有自己的逻辑上独立的网卡也即拥有属于自己的独立网络栈。 上图描述了两者在逻辑上的关系从上图就可以看到 WSL2 要与外界进行通信就必须保证 WSL2 能正常访问宿主机 所以这里就存在宿主机的防火墙拦截问题 因为宿主机是其与外部进行通信的桥梁。要保证 WSL2 与宿主机的通信正常就要确认两者的IP地址是否在同一个网段 其次 WSL2 的默认路由必须是宿主机在同一网段的地址172.25.32.1/20
排查并解决
根据wsl2的网络原理在wsl2里执行ip route命令可以看到宿主机的虚拟网卡ip:172.17.240.1wsl2的虚拟网卡ip:172.17.253.160两者不在同一个网段。 补充两者其实是在同一个网段的 下图可以看出wsl2左侧的虚拟网卡ip:172.17.253.160子网掩码255.255.240.0宿主机右侧的虚拟网卡ip:172.17.240.1子网掩码255.255.240.0
知道了原因那就把wsl2的ip修改为与宿主机的ip同一网段好了。
$ sudo ifconfig eth0 172.17.240.100 netmask 255.255.240.0 退出wsl2再进入ping www.biadu.com就通了。但从公司回到家中又不通原来上面这条修改ip地址的命令语句不具有持久作用的。
最后动手计算了ip:172.17.253.160 netmask:255.255.240.0 与 ip:172.17.240.1 netmask:255.255.240.0这两者的ip地址其实是同一网段。在wsl2中ping www.baidu.com后耐心等待10来20秒左右终于看到ping通了。 这次排查故障是浪费了不少时间但从中也了解了宿主机与wsl2之间的网络原理特此记录下来。
参考 WSL2 网络异常排查 [ping 不通、网络地址异常、缺少默认路由、被宿主机防火墙拦截]