WSL2中设置DNS后重启终端又失效的解决方法

转载地址:https://www.xieshasha.love/wsldns.iiMemory
WSL2 用着是挺好的,就是发现了一个问题,郁闷了好久,修改/etc/resolv.conf可以自己设置 dns,但重启 WSL 以后,手动设置的 DNS 就会被重置为默认的,细心看了一下默认的文件以后发现了问题的关键。WSL 自动在启动时自动根据系统的虚拟交换机WSL生成 /etc/resolv.conf文件。如下为默认的/etc/resolv.conf文件的内容

# 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.27.96.1

根据默认文件的描述,首先sudo vim /etc/wsl.conf添加etc/wsl.conf 文件,文件内容为:

[network]
generateResolvConf = false

保存以后 Powershell 或 Windows Terminal 内wsl --shutdown 关机 WSL,然后重新打开 WSL

手动编辑 /etc/resolv.conf文件,手动设置新的 DNS 即可,例如:

nameserver 8.8.8.8

重启试一下,手动设置的 DNS 已经生效

上一篇:CoreDNS Error:[FATAL] plugin/loop: Loop


下一篇:Ubuntu下设置DNS的方法 和国内公共DNS汇总