当前位置: 首页 > ds >正文

允许别的电脑连接我电脑wsl下5001、5002端口

为了使其他电脑能够访问你电脑上WSL中的5001和5002端口,请按照以下步骤操作:

步骤1:在WSL中配置服务

确保你的服务在WSL中监听所有网络接口(0.0.0.0),而不仅仅是本地(127.0.0.1)。例如,使用Python Flask时,启动命令应为:

flask run --host=0.0.0.0 --port=5001
 

步骤2:允许Windows防火墙入站连接

以管理员身份打开PowerShell,运行以下命令允许端口:

New-NetFirewallRule -DisplayName "允许WSL端口5001-5002" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 5001,5002
 

步骤3:设置端口转发(手动)

  1. 获取WSL的IP地址:在WSL终端中执行:

    hostname -I | awk '{print $1}'
     

    或从PowerShell中获取:

    wsl hostname -I | ForEach-Object { $_.Trim() }
     
  2. 设置转发规则(替换<WSL_IP>为实际IP):

    netsh interface portproxy add v4tov4 listenport=5001 listenaddress=0.0.0.0 connectport=5001 connectaddress=<WSL_IP>
    netsh interface portproxy add v4tov4 listenport=5002 listenaddress=0.0.0.0 connectport=5002 connectaddress=<WSL_IP>
     

步骤4:处理WSL IP变化(可选)

每次WSL重启后IP可能变化,可通过脚本自动化:

  1. 创建PowerShell脚本(如wsl_port_forward.ps1):

    $wsl_ip = wsl hostname -I | ForEach-Object { $_.Trim() }
    netsh interface portproxy reset
    netsh interface portproxy add v4tov4 listenport=5001 listenaddress=0.0.0.0 connectport=5001 connectaddress=$wsl_ip
    netsh interface portproxy add v4tov4 listenport=5002 listenaddress=0.0.0.0 connectport=5002 connectaddress=$wsl_ip
     
  2. 设置计划任务,在每次登录时运行脚本:

    • 任务计划程序中创建新任务,触发器设置为“登录时”。

    • 操作设置为启动PowerShell,参数:-ExecutionPolicy Bypass -File "路径\wsl_port_forward.ps1"

    • 勾选“使用最高权限运行”。

步骤5:测试连接

其他电脑使用Windows主机的IP地址(非WSL的IP)访问服务:

curl http://<Windows_IP>:5001
 

验证端口转发状态

在PowerShell中运行:

netsh interface portproxy show all
 

注意事项

  • 管理员权限:所有命令需在管理员权限下运行。

  • 网络环境:确保设备在同一网络,且无路由器/防火墙阻拦。

  • WSL版本:上述步骤适用于WSL2。若使用WSL1,无需端口转发,直接使用Windows的localhost即可。

完成以上步骤后,外部设备即可通过Windows主机的IP连接到WSL的指定端口。

http://www.xdnf.cn/news/4962.html

相关文章:

  • 枚举 · 例13-【模板】双指针
  • 《Scala基础》
  • DeepSeek 赋能金融:从智能分析到高效服务的全链路革新
  • WHAT - react-query(TanStack Query) vs swr 请求
  • VUE——自定义指令
  • LabVIEW 2019 与 NI VISA 20.0 安装及报错处理
  • IEEE PRMVAI Workshop 17 | 智能医疗数据分析与应用
  • Baklib云中台赋能企业内容智管
  • Kubernetes外部访问服务全攻略:生产级方案详解
  • 12.hbase 源码构建
  • PFC(Power Factor Correction)功率因数校正电路
  • 金蝶api对接沙箱环境python代码调试
  • SEMI E40-0200 STANDARD FOR PROCESSING MANAGEMENT(加工管理标准)-(一)
  • 【Bluedroid】蓝牙 SDP(服务发现协议)模块代码解析与流程梳理
  • linux动态占用cpu脚本、根据阈值增加占用或取消占用cpu的脚本、自动检测占用脚本状态、3脚本联合套用。
  • java使用MinIO,虚拟机时间异常
  • 低秩适应(LoRA)与量化LoRA(QLoRA)技术解析
  • ‌CDGP|数据治理:探索企业数据有序与安全的解决之道
  • Web 自动化之 HTML JavaScript 详解
  • OpenCV-Python (官方)中文教程(部分一)_Day22
  • 云服务如何简化物联网设备生命周期(How Cloud Services Simplify IoT Device Lifecycles)?
  • 摄像头模组AF、OIS模组
  • 接口-DAO模式
  • 65.微服务保姆教程 (八) 微服务开发与治理实战
  • 车载网络TOP20核心概念科普
  • Go使用Gin写一个对MySQL的增删改查服务
  • JS 问号(?)运算符避免中间报错
  • VNC windows连接ubuntu桌面
  • 涨薪技术|0到1学会性能测试第52课-Tomcat调优技术
  • 从回调到 Promise:异步编程进化史