本地做测试环境,需要劫持dns解析,所以在本地搭dns解析服务,用来劫持域名解析流量,需要将本地dns服务器地址配到127.0.0.1,如图,但是 wsl 中,却没有变化,依然是原来的dns,原因是
修改了宿主机的dns地址后,要重启 wsl,使用命令 wsl --shutdown,关闭wsl服务,后重新打开wsl即可
修改后再windows宿主机中能够成功解析劫持的域名,但是在wsl2 ubuntu中不能解析,了解发现,在ubuntu中配置dns域名的文件是 `/etc/resovle.conf`,这个文件是wsl自动生成的跟随宿主机的配置而变化,并且即使修改了,在重启wsl2后仍然会被还原,源文件内容如下,
1、如果需要手动指定wsl中的dns,则需要用 /etc/wsl.conf 文件将此文件覆盖掉,
2、如果需要跟随宿主机变化,则宿主机修改之后要重启 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 202.101.xxx.xxx
nameserver 202.101.xxx.xxx
```