解决WSL子系统DNS服务失效问题

首先向子系统的/etc/wsl.conf文件中写入如下内容:

1
2
[network]
generateResolvConf = false

这之后退出wsl,并彻底关闭系统

1
2
3
4
5
wsl --shutdown

#或者

wsl --terminate <Distro>

这之后重新进入系统

创建文件/etc/resolv.conf,并写入如下内容:

1
2
nameserver 1.1.1.1
nameserver 8.8.8.8

这之后最关键的来了

使用chattr命令将文件/etc/resolv.conf的属性设置为-i

1
sudo chattr +i resolv.conf

这样文件resolv.conf就无法被修改了。

参考文献

coltenkrauter/fix-wsl2-dns-resolution