风险提示:虚拟货币不具有法定货币等同的法律地位,参与虚拟货币投资交易存在法律风险,继续浏览代表你同意以上所有声明,否则请立即关闭本站!

默认不行:WSL2 运行在虚拟网卡中,局域网(LAN)内其他电脑通常无法直接访问 WSL 的内网 IP。要实现访问,需要通过 Windows 主机 进行端口转发或配置镜像网络。

做法一:在 Windows 上做端口转发(最通用)

  1. 配置服务监听地址: 在 WSL 内部,确保服务监听地址为 0.0.0.0(而不是仅绑定 127.0.0.1),例如端口 11434
  2. 查找 WSL IP:Windows(使用管理员权限的 PowerShell) 中,运行以下命令查看 WSL 的 IP 地址:

wsl hostname -I

请记下返回的第一个 IP 地址,例如 172.x.x.x

  1. 设置端口转发规则: 将本机所有网卡上的目标端口转发到 WSL 的内网 IP(示例端口 11434):

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=11434 connectaddress=172.x.x.x connectport=11434

  1. 放行 Windows 防火墙: 必须创建入站规则,允许外部访问该端口:

New-NetFirewallRule -DisplayName "WSL Forward 11434" -Direction Inbound -LocalPort 11434 -Protocol TCP -Action Allow

  1. 外部访问方式: 其他电脑的浏览器或客户端应访问:

http://<这台 Windows 的局域网 IP>:11434


做法二:Windows 11 的「镜像网络」(若版本支持)

如果您的系统支持,可以在 %UserProfile%\.wslconfig 文件中开启镜像模式。开启后,WSL 与 Windows 将共用网络栈,这会极大地简化局域网访问的复杂度(具体配置请以您系统的官方文档为准)。此模式特别适合需要长期作为“局域网服务器”的场景。


注意事项

  • 监听地址要求: 服务必须监听 0.0.0.0。如果只监听 127.0.0.1,则外部网络/局域网将无法访问。
  • IP 地址动态性: WSL 重启后 IP 地址可能会变化。推荐的固定做法是编写脚本,在每次启动后自动更新 portproxy 规则,或者采用镜像网络模式。
  • 安全范围: 上述方法仅适用于局域网内的访问。如果需要将服务暴露到公网,请务必在端口转发和应用层增加额外的认证和防火墙策略。

如果您告知我需要访问的是 Ollama 还是其他特定端口,我可以为您编写一整段可直接粘贴使用的 PowerShell 脚本。

评论已关闭