WSL - 解决虚拟专用网络连接下无法访问网络的问题

本文详细介绍了当公司电脑连接VPN后,WSL中的Ubuntu实例无法访问外部网络的常见问题及其解决方案。通过修改WSL Ubuntu内部的/etc/wsl.conf文件,成功解决了网络连接和域名解析的难题,确保WSL Ubuntu在VPN环境下也能顺畅地访问外部资源。

当公司电脑连接到虚拟专用网络后,WSL的Ubuntu就无法访问外部网络。

1. 查看WSL版本

cmd 复制代码
> wsl --version

WSL version: 2.6.1.0
Kernel version: 6.6.87.2-1
WSLg version: 1.0.66
MSRDC version: 1.2.6353
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.26200.6584

2. 升级WSL

先关闭WSL再升级。

cmd 复制代码
> wsl --shutdown
> wsl --upgrade

3. 创建WSL配置文件

在Windows系统下,创建C:\Users\USER_NAME\.wslconfig。内容如下:

cmd 复制代码
[wsl2]
networkingMode=mirrored
dnsTunneling=true

再重新打开WSL的终端,看可否ping通外部网络。我可以ping通8.8.8.8,但是在sudo apt update的时候无法连接到镜像服务器。报错显示的无法解析镜像服务器的域名。

4. 查看Windows防火墙

以Admin身份打开Powershell。

powershell 复制代码
PS C:\WINDOWS\system32> Get-NetFirewallHyperVVMSetting -PolicyStore ActiveStore -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'


Name                  : {40E0AC32-46A5-438A-A0B2-2B479E8F2E90}
Enabled               : True
DefaultInboundAction  : Block
DefaultOutboundAction : Allow
LoopbackEnabled       : True
AllowHostPolicyMerge  : True

如果DefaultOutboundAction的行为是Block的话就需要设置为Allow。我的是没有问题的。

Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultOutboundAction Allow

5. 查看WSL内的WSL配置

将最后一项的generateResolvConf改成true。

bash 复制代码
> cat /etc/wsl.conf

[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"

[interop]
enabled = true
appendWindowsPath = true

[network]
generateResolvConf = false

关闭WSL并重新打开WSL的终端,网络就通了。

📚 延伸阅读

更多内容持续更新于我的博客:https://www.zenseek.site

相关推荐
2601_962364973 小时前
红外活体模组,Windows 设备安全身份入口解析
windows·安全·电脑
易点云徐源4 小时前
(已解决)Photoshop 2020 点击“选择主体”闪退:不用重装,1 个配置切回旧算法解决
windows·photoshop
云计算练习生4 小时前
什么是系统调用?为什么程序访问硬件必须经过它
linux·windows·操作系统·系统调用·操作系统原理
其实防守也摸鱼11 小时前
DeepSeek Harness 开源贡献手记:从入门到合入主线
服务器·数据库·windows·https·ssl
qqww15512 小时前
Win11更新后Edge卡顿掉帧?隐私窗口流畅解决办法
windows·edge·优化·卡顿
其实防守也摸鱼13 小时前
堆叠注入(Stacked Injection)详解
服务器·数据库·windows·https·ssl
郝学胜-神的一滴13 小时前
C++20模板元编程 05:吃透变参模板,解锁编译期万能参数能力
服务器·开发语言·c++·windows·vscode
是店小二呀15 小时前
鸿蒙PC_Dart-Sass-ohos适配全记录
linux·运维·windows
2601_962364971 天前
不止指纹和人脸:Windows Hello如何重塑PC生物识别安全?
windows·安全·电脑
ι:1 天前
单相桥式全控整流仿真从零复现教学
windows·学习·matlab·simulink