侧边栏壁纸
博主头像
Blog博主等级

行动起来,活在当下

  • 累计撰写 211 篇文章
  • 累计创建 94 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

局域网中其他主机访问本机wsl2中的服务

前言

由于我使用的ubuntu20.04中docker所启动的服务除了本机能访问,局域网中其他设备都无法访问。容器端口和windows本机端口不相通,需要windows开启端口转发。网上找了好多资料发现有位github用户开发的脚本简单易用并且能完美解决端口转发问题。

windows上使用

链接

下载wslpp.exe即可使用,默认所有IP都能访问本机的docker生成的服务端口,并且不用配置。

linux中使用

环境

wsl中必须安装net-tools工具

sudo apt-get install net-tools

在Windows PowerShell中, 将其clone到本地:

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

在WSL2中, 编译此项目,注意,是需要Go的环境的, 而且这一步骤需要在Windows的管理员模式进行

sudo apt install golang-go
cd /mnt/c/Users/`windows-user-name`/wsl2-auto-portproxy/
make build

配置wslpp的配置文件, 在WSL中执行

mkdir /mnt/c/Users/14408/.wslpp
vim  /mnt/c/Users/14408/.wslpp/config.json
​
输入:
{
  "onlyPredefined": true,
  "predefined": {
    "tcp": [
      "22:22"
    ]
  },
  "ignore": {
    "tcp": [
      445
    ]
  }
}:

回到Windows PowerShell中, 执行:

cd .\wsl2-auto-portproxy\dist\
.\wslpp.exe

此外, WSL操作Windows的文件,是需要在管理员模式下进行的.

0

评论区