Windows 11 网络 Web 服务器

Windows 11 网络 Web 服务器

我是 Windows 11(或任何版本)的新手,无法弄清楚网络:

  • 我有一个稳定的 Diffusion 服务器在 7860 端口本地运行

  • 我在 WSL2 上的 3000 端口(随便什么)上运行着一个 nodejs 服务器

  • 我可以在本地浏览器中打开它们,在 Windows 上通过http://localhost:{PORT}

  • 我可以从我的 Mac ping Windows IP 并获取 pongs

但是,我无法通过我的 macbook 浏览器访问这些网址

  • 我尝试完全禁用 Windows 防火墙,但无济于事

我该如何修复此问题?

答案1

172.17.219.156:3000,我可以在 Windows 上本地访问该地址,但不能从其他机器访问

WSL2 作为 Hyper-V VM 运行,默认情况下,它位于与物理 LAN 分开的虚拟网络上。主机本身知道 172.17.219.x 网络在哪里,但 LAN 的其余部分才不是。

(通常,主机操作系统和 WSL2 VM 也有自己单独的“本地主机”,但 WSL 会自动将所有“本地主机”连接从主机转发到客户机上的侦听器,使其看起来像单个系统。)

似乎您可以将 WSL2 配置为使用“外部”Hyper-V 桥接器,将 VM 直接放置在物理网络中,如下所示此 GitHub 评论

适用于本地主机的示例.wslconfig

[wsl2]
# Bridged networking
networkingMode=bridged
vmSwitch=WSL_external
dhcp=true

# Turn off default connection to bind WSL 2 localhost to Windows localhost
localhostforwarding=true

/etc/wsl.conf

[boot]
systemd=true
[network]
generateResolvConf = false

/usr/lib/systemd/network/wsl_external.network

[Match]
Name=eth0

[Network]
Description=WSL
DHCP=true

我见过的另一种方法是使用 Windows 的内置 TCP 代理支持,netsh interface portproxy让主机自动将某些连接转发给客户机。

相关内容