升级wsl后,windows上运行的服务无法从wsl2 ubuntu访问

rsaldnfx  于 2023-10-17  发布在  Windows
关注(0)|答案(1)|浏览(377)

“我有一个在Windows上运行的服务,以前成功连接到WSL 2 Ubuntu中的服务器。但是,我现在无法使用curl或telnet通过/etc/resolv. conf中指定的WSL主机IP地址访问此服务。但我可以在使用Wi-Fi适配器IP时访问
例如,我正在Windows上运行python3 -m http.server 3457。当我尝试使用命令curl http://172.25.x.x:3457从WSL Ubuntu访问此服务时,我收到一个“连接超时”错误(curl:(28)在133480毫秒后无法连接到172.25.128.1端口3457)。
当我使用与Wi-Fi关联的IP地址(telnet 10.131.x.x 3457)时,它按预期工作。
我很困惑为什么WSL适配器主机IP不能正常工作。我已将所有通信配置为依赖此主机IP。我将非常感谢任何帮助。
我还通过powershell启用了Windows和wsl之间的防火墙-
谢谢,LN”

oxf4rvwz

oxf4rvwz1#

我看到了同样的问题。Windows文档一如既往地不完整。
他们建议,如果您执行以下所有步骤,您将能够运行systemctl list-units --type=service --state=running

$ sudo /etc/wsl.conf

并增加:

[boot]
 systemd=true

然后你进入powershell并重新启动wsl,使用:wsl --shutdown
但是,您可以运行systemctl list命令这一事实只是告诉您启用了什么,它并不指向可以查询进程状态或运行进程的工作systemd。因此,即使Windows文档指定的systemctl目标正在工作,在某些系统上也会收到总线错误。所以还有其他的考虑是更虚幻的。一个考虑因素是,有一些特定的Windows 11安装没有解决这些问题。
我的系统在满足Windows最终目标的同时产生故障的规格是Windows 11戴尔安装,WSL 2:

$ wsl --version
WSL version: 1.2.5.0
Kernel version: 5.15.90.1
WSLg version: 1.0.51
MSRDC version: 1.2.3770
Direct3D version: 1.608.2-61064218
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22621.2134

相关问题