Windows server 2022安装配置——WSL2 访问

从局域网访问 wsl2

首先必须得知道这两个 ip 的含义。

  • 在 windows 下执行wsl hostname -i 命令,是通过 WSL 2 安装的 Linux 分发版 IP 地址(WSL2 VM 的地址)
  • 在 linux 子系统下执行cat /etc/resolv.conf 命令,是表示从 WSL2 子系统看到的 WINDOWS 系统的 IP 地址 (WSL 2 VM)

WSL2 已经支持在 windows 系统下 localhost 访问 wsl。

命令需要在管理员权限下执行

配置端口转发

在 powerShell 下使用 Netsh 命令添加端口转发,将 Windows 端口映射到 WSL 2 VM 的 IP 地址。

bash 复制代码
netsh interface portproxy add v4tov4 listenport=<yourPortToForward> listenaddress=0.0.0.0 connectport=<yourPortToConnectToInWSL> connectaddress=(wsl hostname -I)
  • <yourPortToForward>:Windows 转发代理的端口
  • listenaddress=0.0.0.0:表示将接受来自任何 IPv4 地址的传入请求,即多个网卡的 ip 皆可以访问到
  • <yourPortToConnectToInWSL>:wsl 需要被转发的端口
  • connectaddress:wsl 的 ip,通过在 powershell 下执行wsl hostname -i命令获取。刚说到 wsl2 已经支持 localhost 访问 wsl,因此可以使用 localhost 代替

如我需要将 wsl 的 8023 端口转发至 Windows 的 8023 端口,可以这样设置:

bash 复制代码
netsh interface portproxy add v4tov4 listenport=8023 listenaddress=0.0.0.0 connectport=8023 connectaddress=localhost

如果使用 IPv4 转发 IPv4 失效,可能 localhost 指向的是 IPv6 地址,这时候更改成 v4tov6 即可。如:

netsh interface portproxy add v4tov6 listenport=8023 listenaddress=0.0.0.0 connectport=8023 connectaddress=localhost
wsl2 暂时不支持 IPv6 访问

查看创建的转发

bash 复制代码
netsh interface portproxy show all

删除转发规则

bash 复制代码
netsh interface portproxy delete v4tov4 listenport=22 listenaddress=0.0.0.0

使用工具进行配置

目前了解到的工具,但博主暂未尝试使用,后期可能会补充,这里仅提供个思路。

github.com/HobaiRiku/w...

参考

使用 WSL 访问网络应用程序

相关推荐
爱学习的小囧10 分钟前
ESXi VMkernel 端口 MTU 最佳设置详解
运维·服务器·网络·php·虚拟化
程序员老邢1 小时前
【技术底稿 19】Redis7 集群密码配置 + 权限锁死 + 磁盘占满连锁故障真实排查全记录
java·服务器·经验分享·redis·程序人生·微服务
arronKler2 小时前
大数据量高并发的数据库优化
服务器·数据库·oracle
星辰_mya2 小时前
OSI 七层模型之“跨国诈骗集团”深度讲解
运维·服务器·后端·面试·架构师
实心儿儿4 小时前
Linux —— 基础IO - 文件描述符
linux·运维·服务器
clear sky .4 小时前
[linux]视频实时推流项目
linux·服务器·音视频
RisunJan4 小时前
Linux命令-nisdomainname(显示或设置系统的 NIS(Network Information Service)域名)
linux·运维·服务器
Wy_编程4 小时前
nginx测试
服务器·nginx
小此方4 小时前
Re:Linux系统篇(四)指令篇 · 三:两套打包压缩重要指令方法+剩余指令收尾
linux·运维·服务器
小宏运维有点菜5 小时前
服务器 BMC 管理 IP
服务器·tcp/ip·centos