时间轴

2025-10-03

init


在 Win11 + WSL2 archlinux 的 mirrored 网络模式下,重启后有概率会触发无法 WSL 访问网络但 Windows 可以访问的问题。

环境

wsl 配置

1
2
3
4
5
6
7
8
9
[wsl2]
dnsTunneling=true # DNS隧道(解决某些网络问题)
firewall=true # 启用防火墙集成
autoProxy=true # 自动同步Windows代理设置
networkingMode=Mirrored

[experimental]
hostAddressLoopback=true
bestEffortDnsParsing=true

ping 网关

先确认能不能 ping 通网关。

  • 如果能 ping 通 IP 但不能访问域名 → 是 DNS 问题
  • 连 IP 都 ping 不通 → 是 网络转发 / 网卡 / 防火墙问题
1
ping -c 4 8.8.8.8

DNS 问题

1
2
3
4
sudo emacs /etc/resolve.conf
# 写入如下配置
nameserver 8.8.8.8
nameserver 1.1.1.1

为避免每次重启被覆盖,可以关闭自动生成

1
2
sudo bash -c "echo '[network]' > /etc/wsl.conf"
sudo bash -c "echo 'generateResolvConf = false' >> /etc/wsl.conf"

重启 WSL

1
wsl --shutdown

查看网络是否恢复

防火墙问题

打开 windows 安全中心的防火墙和网络保护:
防火墙和网络保护
点击允许应用通过防火墙,将 C:\Windows\System32\wsl.exe 加入。
再次查看网络是否恢复。