wsl2 无法上网解决方法
基本情况:
wsl2子系统,无法上网。子系统网络信息:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.99.213 netmask 255.255.240.0 broadcast 192.168.111.255
inet6 fe80::215:5dff:fe84:cd22 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:84:cd:22 txqueuelen 1000 (Ethernet)
RX packets 215 bytes 33333 (33.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 47 bytes 3480 (3.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
windows wsl网卡信息:
以太网适配器 vEthernet (WSL):
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #6
物理地址. . . . . . . . . . . . . : 00-15-5D-24-F5-79
DHCP 已启用 . . . . . . . . . . . : 否
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::ed96:bc12:16b8:67ba%274(首选)
IPv4 地址 . . . . . . . . . . . . : 192.168.96.1(首选)
子网掩码 . . . . . . . . . . . . : 255.255.240.0
默认网关. . . . . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 301995357
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-25-2F-0F-EB-80-FA-5B-72-5C-8E
DNS 服务器 . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
TCPIP 上的 NetBIOS . . . . . . . : 已启用
192.168.99.213与192.168.96.1相互能访问,但是wsl2子系统就是上不了网。
宿主机能上网。
Get-NetNat 是 PowerShell 中的一个命令,用于获取有关网络地址转换(NAT)配置的信息。这个命令是 NetNat
模块的一部分,用于管理 Windows 上的 NAT 规则和设置。以下是 Get-NetNat
命令的一些主要用途:
主要用途
-
查看现有的 NAT 配置
- 你可以使用
Get-NetNat
命令查看系统上配置的所有 NAT 规则。它会列出 NAT 名称、外部和内部 IP 地址前缀、超时设置等信息。
- 你可以使用
-
诊断网络问题
- 如果你的网络配置出现问题,
Get-NetNat
可以帮助你确认是否有相关的 NAT 规则配置,或者是否需要更新 NAT 规则。
- 如果你的网络配置出现问题,
-
管理 NAT 规则
- 了解当前的 NAT 配置是管理和修改 NAT 规则的第一步。通过查看现有的 NAT 配置,你可以决定是否需要添加、删除或修改 NAT 规则。
PS C:\Users\deng_2020> Get-NetNat
Name : WSLNat
ExternalIPInterfaceAddressPrefix :
InternalIPInterfaceAddressPrefix : 192.168.0.0/24
IcmpQueryTimeout : 30
TcpEstablishedConnectionTimeout : 1800
TcpTransientConnectionTimeout : 120
TcpFilteringBehavior : AddressDependentFiltering
UdpFilteringBehavior : AddressDependentFiltering
UdpIdleSessionTimeout : 120
UdpInboundRefresh : False
Store : Local
Active : True
“InternalIPInterfaceAddressPrefix : 192.168.0.0/24”这地方不对。
执行下面的命令:
Remove-NetNat -Name "WSL"
New-NetNat -Name "WSLNetworkNat" -InternalIPInterfaceAddressPrefix "192.168.96.0/20"
Restart-Service -Name "lanmanworkstation" -Force
故障解除。