说在前面
- win10版本:22H2(不支持镜像模式网络)
创建虚拟交换机
-
搜索Hyper-V管理器`
-
选择右侧
虚拟交换机管理器
-
选择
外部
-
-
选择
创建虚拟交换机
-
名称可改为英文,例如
wsl_witch
-
网卡选择物理网卡
-
点击确定创建(可能会导致网络切换一下)
wsl2绑定虚拟交换机
- 使用该开源项目
- 下载
.exe
以及.pdb
- 保持
wsl
为开启状态 - 使用管理员打开
PowerShell
- 在下载目录运行以下指令
WSLAttachSwitch.exe "wsl_switch"
- 执行后,在wsl里执行以下指令,可以看到多了一个
eth1
的网卡
但是此时还没有分配ipip a
WSL2配置
- 如果没有设置过
root
密码,设置一下su passwd
- 切换到
root
用户su
- 安装
dhclient
# Debian/Ubuntu sudo apt update && sudo apt install isc-dhcp-client
- 配置dhcp
# 释放当前 IP(可选) sudo dhclient -r eth0 # 通过 DHCP 获取新 IP sudo dhclient -v eth1
- 这样就可以看到
eth1
有被分配ip地址了
配置路由规则
- 如果在分配ip之后发现该ip访问不了,可以使用
route -n
看下路由规则对不对
如果结果上发现route -n Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.208.1 0.0.0.0 UG 0 0 0 eth0 192.168.184.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.208.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
eth1
网段的ip对应的网关还是eth0
的,可以通过以下指令调整# 删除原有默认路由 sudo ip route delete default via 192.168.208.1 dev eth0 # 添加新默认路由(假设 eth1 的网关是 192.168.184.1) sudo ip route add default via 192.168.184.1 dev eth1 # 验证路由表 route -n
临时关闭防火墙
- 如果修改之后还是不行,可以尝试下把防火墙关闭
# 停用 ufw sudo ufw disable # 验证状态 sudo ufw status
其他
- 使用桥接之后好像有时候会让cuda相关的路径失效,不知道是怎么回事
- 本文部分内容由
deepseek
生成,如果你在外网,还有什么问题的话,直接把一些命令的结果贴给他,应该能很好的解决问题 - 被
WSL2
的网络搞死了 - 被
vllm
/sglang
的多机部署搞死了
参考
- 使用 WSL 访问网络应用程序
- 桥接网络模式的 WSL2 的安装与配置
安装这篇文章里的设置,卡在了netplan apply
那一步