You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL 2 Ubuntu 20.04域名解析异常及pip/git访问缓慢问题求助

问题根本原因
  • WSL2的虚拟网络架构和WSL1不同,WSL1直接复用宿主机网络栈,WSL2是走独立的虚拟网卡NAT网络,默认会自动同步宿主机的DNS配置。升级后出现解析失败,通常是因为虚拟网卡适配异常,无法正确拉取宿主机的DNS列表,或是宿主机连接企业VPN时,WSL2没有继承内网DNS规则,导致内网、公网域名均无法解析。
配置1.1.1.1生效但访问缓慢的逻辑
  • 1.1.1.1是Cloudflare提供的公共DNS服务,可以正常解析公网域名,所以添加后能解决基础的网络访问失败问题;但它无法解析你公司的内网Gitlab域名,且如果你身处国内,该公共DNS的节点延迟很高,同时缺少内网DNS的配置,系统解析域名时会先尝试公共DNS解析内网域名超时后再回退,就会出现命令执行前长时间等待的问题。
完善解决方案

步骤1:获取正确的DNS地址

在Windows系统的命令提示符中执行ipconfig /all,找到当前在用的物理网卡(WiFi/有线)、VPN虚拟网卡对应的DNS服务器地址,优先记录企业内网DNS地址,再记录公网DNS地址。

步骤2:修正WSL2的DNS配置

确认/etc/wsl.conf已有如下配置,禁止系统自动覆盖resolv.conf:

[network]
generateResolvConf = false

修改/etc/resolv.conf,按优先级填写你刚才获取的DNS地址,示例如下:

nameserver 企业内网DNS地址
nameserver 223.5.5.5
nameserver 114.114.114.114

执行命令锁定resolv.conf防止被篡改:
sudo chattr +i /etc/resolv.conf

步骤3:优化网络延迟

如果修改后还是存在访问慢的问题,检查WSL2虚拟网卡的MTU值和宿主机是否匹配:

  • 在Windows命令提示符执行netsh interface ipv4 show subinterfaces,查看当前在用网卡的MTU值
  • 在WSL2中执行sudo ip link set dev eth0 mtu 对应MTU值,如果需要永久生效,可将该命令写入~/.bashrc或/etc/profile文件末尾

步骤4:生效配置

在Windows命令提示符执行wsl --shutdown关闭WSL实例,重新打开WSL后配置即可生效。

内容的提问来源于stack exchange,提问作者shaun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:24:03