wsl2 无网络解决办法及dns设置
1.wsl 2 使用的 DNS 解析服务器设置在文件:/etc/resolv.conf 内设置,这是一个 link 文件,真正的文件路径是:/run/resolvconf/resolv.conf,这个文件是每次 wsl 启动时自动生成的,内容如下:
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf: # [network] # generateResolvConf = false nameserver 172.24.144.1
2.nameserver 后面的就是指定的 DNS 服务器地址。我发现有时候分配的服务器地址是无效的,如:127.0.0.53,使用 ping 来测试发现提示无法解析地址。需要设置一个固定的 DNS 地址,方法如下:
新建文件:/etc/wsl.conf,内容如下:
[network] generateResolvConf = false
以上配置好就不会自动创建 /run/resolvconf/resolv.conf 文件了。
3.退出 wsl,关机然后重新启动:
exit wsl --shutdown wsl
4.删除 link 文件:/etc/resolv.conf:
rm /etc/resolv.conf
5.然后新建 /etc/resolv.conf 文件,内容如下,可自定义 nameserver 地址:
nameserver 8.8.8.8 114.114.114.114
6.再次退出 wsl,关机然后重新启动:
exit wsl --shutdown wsl
7.查看 /etc/resolv.conf 文件是否是之前自定义的地址:
cat /etc/resolv.conf
8。测试网络服务:
ping www.baidu.com
参考链接:https://github.com/microsoft/WSL/issues/5256#issuecomment-666545999