封面图

WSL2 vLLM serve 局域网访问配置

日期: 2025-04-12

LLM vLLM WSL2 局域网

场景说明: 在WSL2中运行vLLM服务,需要使局域网中的其他设备能够访问该服务。

1. 启动vLLM服务

在WSL2中启动vLLM服务,确保监听所有网络接口:

vllm serve \
  ./path/to/your/model.gguf \
  --tokenizer ./path/to/tokenizer_files \
  --enable-auto-tool-choice \
  --tool-call-parser hermes \
  --host 0.0.0.0

2. 获取必要的IP地址

Windows PowerShell中运行:

ipconfig

记录以下IP地址:

WSL2终端中运行:

ip a

记录WSL2的IP地址(通常是 172.x.x.x

3. 配置端口转发

以管理员权限打开PowerShell,运行以下命令:

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8000 connectaddress=<WSL2的IP> connectport=8000

验证端口转发配置:

netsh interface portproxy show all

4. 配置防火墙

添加防火墙入站规则:

New-NetFirewallRule -DisplayName "vLLM Server" -Direction Inbound -LocalPort 8000 -Protocol TCP -Action Allow

5. 客户端配置

在局域网其他设备上使用以下配置访问服务:

from openai import OpenAI

client = OpenAI(
    base_url="http://<Windows主机IP>:8000/v1",
    api_key="token-abc123",
)

故障排除

  1. 测试基本连通性:
    ping <Windows主机IP>
  2. 测试服务可访问性:
    curl http://<Windows主机IP>:8000/v1/completions
  3. 如需删除端口转发:
    netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=8000
注意: 如果WSL2重启或IP地址发生变化,需要重新配置端口转发规则。