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 223.5.5.5
重启试一下,手动设置的DNS已经生效