终于解决了WSL的网络问题

问题描述

在开启 Mirrored 模式的 WSL 中,执行 apt update 成功,但是 sudo apt update 却出现了 DNS 解析问题。

解决办法

使用 -E 选项,强制 sudo 保留当前的环境变量:

1
sudo -E apt update

分析

在 Linux 中,不同用户的环境变量是不同的。

查看 root 用户 / 当前用户 的环境变量:

1
2
sudo env | grep -i proxy # root
env | grep -i proxy # 当前用户
  • env 显示环境变量。
  • grep -i 忽略大小写进行正则表达式匹配。

其中,第一条命令没有输出;第二条命令输出了 Windows 中配置的系统代理端口:

1
2
3
4
5
6
7
huarun@laptop-huarun233:~$ env | grep -i proxy
no_proxy=192.168.*,172.31.*,172.30.*,172.29.*,172.28.*,172.27.*,172.26.*,172.25.*,172.24.*,172.23.*,172.22.*,172.21.*,172.20.*,172.19.*,172.18.*,172.17.*,172.16.*,10.*,127.*,localhost
https_proxy=http://127.0.0.1:7897
NO_PROXY=192.168.*,172.31.*,172.30.*,172.29.*,172.28.*,172.27.*,172.26.*,172.25.*,172.24.*,172.23.*,172.22.*,172.21.*,172.20.*,172.19.*,172.18.*,172.17.*,172.16.*,10.*,127.*,localhost
HTTPS_PROXY=http://127.0.0.1:7897
HTTP_PROXY=http://127.0.0.1:7897
http_proxy=http://127.0.0.1:7897

所以原因在于:没有为 root用户设置代理。使用 -E 选项让 sudo 继承当前用户的环境变量即可。


终于解决了WSL的网络问题
https://blog.huarun.moe/2026/02/28/终于解决了WSL的网络问题/
作者
huarun
发布于
2026年2月28日
许可协议