Windows server 2022安装配置——WSL2 访问
  2HEoRN7cP1l9 2023年11月02日 54 0

从局域网访问 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 地址。

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 端口,可以这样设置:

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

再比如我需要远程 ssh 连接 wsl,

若 wsl 尚未安装 ssh,需要先安装 ssh 服务

  1. sudo apt-get upgrade
  2. sudo apt-get update
  3. sudo apt-get install openssh-server
  4. sudo service ssh start

如果想通过公私钥对登录,可以生成公私钥对,比密码登录安全,一切为了服务器安全着想。

  1. cd ~/.ssh :不存在则自己创建
  2. ssh-keygen:使用默认选项(全部直接回车),生成公钥/私钥 RSA 密钥对
  3. cat id_rsa.pub >> authorized_keys :将密钥追加到 authorized_keys 文件
  4. chmod 640 authorized_keys :更改文件读写权限
  5. sudo service ssh restart :重启 ssh,使得更改生效
  6. ssh localhost :通过 localhost 访问测试
netsh interface portproxy add v4tov4 listenport=22 listenaddress=0.0.0.0 connectport=22 connectaddress=localhost

wsl2 暂时不支持 IPv6 访问

查看创建的转发

netsh interface portproxy show all

删除转发规则

netsh interface portproxy delete v4tov4 listenport=22 listenaddress=0.0.0.0

使用工具进行配置

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

https://github.com/HobaiRiku/wsl2-auto-portproxy

参考

使用 WSL 访问网络应用程序

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
2HEoRN7cP1l9