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

故障解除。

相关推荐
涛涛ing4 小时前
乱序HTML流正式进入浏览器:前端流式渲染的“框架特权”被终结了
前端
Smoothcloud润云4 小时前
GPU服务器租用实例DNS与HTTPS下载排障实战
大数据·运维·服务器·人工智能·https·gpu算力
yuniko-n4 小时前
【JUC】wait 和 sleep
java·开发语言
__sjfzllv___4 小时前
在职前端Leader学习/转行 AI Agent -DAY73
前端
用户1733598075374 小时前
纯前端 PDF 压平避坑指南:压平后表单字段变了?
前端·javascript·vue.js
知守观4 小时前
18年老兵的十条开发军规:每条背后都是一个翻车现场
java·后端·程序员
nyaomaru4 小时前
将一个真实的 TypeScript OSS 库从 tsup 迁移到 tsdown
前端·typescript
Apipi*4 小时前
30天速通Linux 第五章Linux 进程管理
linux·运维·服务器
胡写代码4 小时前
雪花 ID 传到前端就变了个数?我用全局 Long 转 String 一次收口
前端·后端
BBmmo4 小时前
我的 Java 学习笔记 · 第 11 篇:Condition.await 为什么必须放在 while 里
java