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 命令的一些主要用途:

主要用途

  1. 查看现有的 NAT 配置

    • 你可以使用 Get-NetNat 命令查看系统上配置的所有 NAT 规则。它会列出 NAT 名称、外部和内部 IP 地址前缀、超时设置等信息。
  2. 诊断网络问题

    • 如果你的网络配置出现问题,Get-NetNat 可以帮助你确认是否有相关的 NAT 规则配置,或者是否需要更新 NAT 规则。
  3. 管理 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

故障解除。

相关推荐
程序猿大帅2 小时前
别再只当调包侠了:用 Spring AI 落地 Function Calling,我被大模型硬生生砸出了三个大坑
java
谷子在生长2 小时前
纯血鸿蒙自定义弹窗最佳实践:从「到处复制」到「一行调用」
前端·harmonyos
壹方秘境2 小时前
我用Go语言开发了一个跨平台的HTTPS抓包和调试工具
前端·后端·ios
神秘面具男2 小时前
HarmonyOS 6.0跨端远程控制
前端·后端
枫树下x2 小时前
NestJS基础框架
前端
胡志辉2 小时前
从v8源码和react深入浅出理解 JavaScript 作用域链与闭包
前端·javascript
天蓝色的鱼鱼2 小时前
React Router v8 来了:react-router-dom 没了,老项目该怎么迁移?
前端·react.js
程序员晓琪3 小时前
约定大于配置:基于 Java 包名自动生成 API 版本路由的最佳实践
java·spring boot·后端
Flittly3 小时前
【AgentScope Java新手村系列】(11)中断与恢复
java·spring boot·spring
闪闪发光得欧3 小时前
前端提效新思路:Gemini 3.5 自动化定位 CSS 异常
前端·css