WSL 静态 DNS 设置

WSL Ubuntu24.04的DNS配置不在 /etc/systemd/resolved.conf,而在/etc/resolv.conf。

wsl 2 使用的 DNS 解析服务器设置在文件:/etc/resolv.conf 内设置,这是一个 link 文件,真正的文件路径是:/run/resolvconf/resolv.conf,这个文件是每次 wsl 启动时自动生成的,内容如下:

有时候分配的服务器地址是无效的,如:127.0.0.53,使用 ping 来测试发现提示无法解析地址。需要设置一个固定的 DNS 地址,方法如下:

  • 新建文件:/etc/wsl.conf,内容如下:
1
2
   [network]
   generateResolvConf = false

以上配置好就不会自动创建 /run/resolvconf/resolv.conf 文件了。

退出 wsl,关机然后重新启动:

1
2
3
exit
wsl --shutdown
wsl

然后编辑删除 link 文件:/etc/resolv.conf:

1
rm /etc/resolv.conf

然后新建 /etc/resolv.conf 文件,内容如下,可自定义 nameserver 地址:

1
nameserver 114.114.114.114

关闭 WSL 自动挂起

为了节约系统资源,如果您关闭了WSL的Console,实列会自动关闭。如果您没有系统资源的困扰的话,可以通过VBS打开WSL 实例,让它处于等待输入的状态,不再关闭。

方法如下:

打开记事本输入下列内容:(WSL版本需替换为你使用的发行版名称。版本可以使用wsl –list –verbose命令来查看)

1
2
set ws=wscript.CreateObject("wscript.shell")
ws.run "wsl -d WSL版本", 0

保存为WSL.vbs

之后需要启动WSL的时候直接运行这个VBS文件即可。如需随Windows开机自动启动,则WIN+R 运行 shell:startup 打开启动目录, 在此目录中创建文件 wsl-startup.vbs,内容同上。

使用wsl -t 【name】来关闭正在运行的WSL。

Clash 安装

user@localhost:~$ curl https://glados.rocks/tools/clash-linux.zip -o clash.zip #下载Clash

user@localhost:~$ unzip clash.zip

user@localhost:~$ cd clash

user@localhost:~$ curl <配置文件地址>  > glados.yaml #下载您的终端配置文件

user@localhost:~$ chmod +x ./clash-linux-amd64-v1.10.0

user@localhost:~$ /path/clash-linux-amd64-v1.10.0 -f <配置文件地址> -d /path

Clash 服务配置

root:~# vim /etc/systemd/system/clash.service [Unit] Description=Clash Daemon After=network.target

[Service] Type=simple ExecStart=/opt/clash/clash-linux-amd64-v1.10.0 -f /opt/clash/glados.yaml -d /opt/clash Restart=on-failure RestartSec=5 User=root LimitNOFILE=65535

[Install] WantedBy=multi-user.target

Clash使用

Windows在系统代理配置7890端口就行(http)。

桌面型Linux(如Ubuntu)请打开设置-网络-设置网络代理为SOCK5, 地址为 127.0.0.1, 端口为7891。