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

故障解除。

相关推荐
萧瑟余晖8 分钟前
Java深入解析篇三十之Java日志框架
java·开发语言
TonyLee01714 分钟前
Claude Code + DeepSeek:服务器安装与使用笔记
linux·服务器·deepseek·claude code
St_rive15 分钟前
Pytest skip&&skipif跳过⽤例
运维·服务器·pytest
buhuizhiyuci26 分钟前
【Linux 篇】数字世界的水流蓄水池 —— IO 缓冲区机制深度实战解析
linux·运维·服务器·c++
骇客野人34 分钟前
Linux 服务器 Python 版 MCP 服务部署整体方案(适配 Claude/Cursor/自研Agent)
linux·服务器·python
无糖可可果38 分钟前
从零读懂一个 Next.js 全栈笔记应用
前端
Maxkim39 分钟前
DeepSeek Harness 源码深度分析:像 VS Code 一样插件化的 Agent 框架
前端·架构
喜欢睡觉43 分钟前
从零看懂一个 Next.js 笔记应用
前端
cindershade1 小时前
从零实现画布「双击创建节点」:一个 VueFlow 项目的交互全记录
前端
YHL1 小时前
🚀 SSE 服务器发送事件与 BFF 层实战
前端·后端