tec*_*e11 5 networking vpn wsl2
我的 Windows PC 上的网络配置如下:
Ethernet adapter Ethernet 2:
Description . . . . . . . . . . . : Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64
...
IPv4 Address. . . . . . . . . . . : 172.27.31.15(Preferred)
Default Gateway . . . . . . . . . : ::
172.27.0.1
...
Ethernet adapter vEthernet (Default Switch):
...
IPv4 Address. . . . . . . . . . . : 172.22.128.1(Preferred)
...
Ethernet adapter vEthernet (WSL):
...
IPv4 Address. . . . . . . . . . . : 172.28.48.1(Preferred)
...
Wireless LAN adapter Wi-Fi:
...
IPv4 Address. . . . . . . . . . . : 192.168.2.13(Preferred)
Default Gateway . . . . . . . . . : 192.168.2.1
...
Run Code Online (Sandbox Code Playgroud)
我的 WSL:
# ip addr|grep 'inet '
inet 127.0.0.1/8 scope host lo
inet 172.28.50.28/20 brd 172.28.63.255 scope global eth0
# ip route
default via 172.28.48.1 dev eth0
172.28.48.0/20 dev eth0 proto kernel scope link src 172.28.50.28
Run Code Online (Sandbox Code Playgroud)
当 Windows PC 连接到 VPN 时,从 WSL2 内 ping IP 会得到以下结果:
172.27.0.1 (Unreachable)
192.168.2.1 (Unreachable)
172.28.48.1 (Unreachable)
172.22.128.1 (Unreachable)
Run Code Online (Sandbox Code Playgroud)
当 Windows PC 与 VPN 断开连接时,从 WSL2 内 ping IP 将得到以下结果:
192.168.2.1 (YES)
172.28.48.1 (YES)
172.22.128.1 (Unreachable)
Run Code Online (Sandbox Code Playgroud)
基本上,当 Windows PC 连接到 VPN 时,WSL2 与除自身以外的任何 IP 完全隔离。如何解决这个问题?
Windows PC上“route print”显示的路由情况如下(我省略了Gateway=192.168.2.1、Interface=192.168.2.13的大部分行):
IPv4 Route Table
=================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.2.1 192.168.2.13 35
0.0.0.0 0.0.0.0 172.27.0.1 172.27.31.15 2
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
172.22.128.0 255.255.240.0 172.27.0.1 172.27.31.15 2
172.22.128.0 255.255.240.0 On-link 172.22.128.1 271
172.22.128.1 255.255.255.255 On-link 172.22.128.1 271
172.22.143.255 255.255.255.255 On-link 172.22.128.1 271
172.27.0.0 255.255.192.0 On-link 172.27.31.15 257
172.27.31.15 255.255.255.255 On-link 172.27.31.15 257
172.27.63.255 255.255.255.255 On-link 172.27.31.15 257
172.28.48.0 255.255.240.0 On-link 172.28.48.1 271
172.28.48.0 255.255.240.0 172.27.0.1 172.27.31.15 2
172.28.48.1 255.255.255.255 On-link 172.28.48.1 271
172.28.63.255 255.255.255.255 On-link 172.28.48.1 271
192.168.2.0 255.255.255.0 172.27.0.1 172.27.31.15 2
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 192.168.2.13 291
224.0.0.0 240.0.0.0 On-link 172.28.48.1 271
224.0.0.0 240.0.0.0 On-link 172.27.31.15 257
224.0.0.0 240.0.0.0 On-link 172.22.128.1 271
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 192.168.2.13 291
255.255.255.255 255.255.255.255 On-link 172.28.48.1 271
255.255.255.255 255.255.255.255 On-link 172.27.31.15 257
255.255.255.255 255.255.255.255 On-link 172.22.128.1 271
Run Code Online (Sandbox Code Playgroud)
小智 7
https://github.com/sakai135/wsl-vpnkit
这为我解决了使用工作 VPN 的公司系统的问题。
登录此处希望修复搜索引擎索引(每次尝试搜索修复此特定问题时,我都会点击此线程)
这是企业 VPN 的一个已知限制。WSL2 在 Hyper-V 交换机后面的单独虚拟网络上运行。我假设连接到 VPN 后您也无法访问本地网络上的任何其他设备。从 Windows 的角度来看,WSL2 网络是一个“单独的设备”/网络。
两种选择:
首先,如果您的用例支持,请在连接到 VPN 时使用 WSL1 实例。由于它与 Windows 共享网络接口,因此当 VPN 连接到 Windows 中时,它仍然可以访问网络(以及 VPN 上的资源)。
其次,如果您使用的是 Windows 11(我知道不太可能使用企业设备),那么有一个可能的解决方法。WSL2 网络领域的改进目前正在预览中。Windows 11 用户可以安装 Microsoft Store 中提供的 WSL Preview,并按照此处的说明打开桥接网络。
在此模式下,我的理解(尽管我无法测试)是桥接设备可能能够在启用 VPN 的情况下连接到网络。不过,如果您需要从 WSL2 内连接到 VPN,则需要使用 Linux 客户端。
归档时间: |
|
查看次数: |
15739 次 |
最近记录: |