WSL2 网络改为桥接模式

10 months ago
0 comment

警告:好像不好使

参考:Connecting to WSL2 server via local network [closed]

WSL2 默认是 NAT (网络地址转换)模式,这种模式下 WSL2 是能够访问宿主机所在的子网内的其他设备的,但是其他设备无法直接访问 WSL2,而需要在宿主机上进行端口转发。桥接模式则不存在该问题,因为桥接模式下 WSL2 在子网内拥有独立的 IP。

步骤

  1. 以管理员身份打开 Hyper-V Manager。如果找不到 Hyper-V Manager,请先去 "Turn Windows features on or off" 中检查自己是否已经开启了 Hyper-V。
  2. 选择你的主机名,然后右侧选择 "Virtual Switch Manager"。
  3. 在弹出的窗口左侧选择 WSL (Hyper-V firewall)。
  4. 右侧 Connection type 中选择 External network。
  5. 在下拉菜单中选中正确的网卡名称。
  6. 选择 OK 保存。
  7. 打开一个 WSL2 的终端,并配置一个未被占用的 IP,如:
sudo ip addr add 192.168.0.116/24 dev eth0
  1. 或者如果你的网络有 DHCP 服务器,则可以使用以下命令自动获取一个可用的 IP:
sudo ip addr flush dev eth0
sudo dhclient eth0

注意

  • 一开始在 Virtual Switch Manager 中找不到 WSL 的选项,通过启动了一下 WSL 解决了。
  • 手动配置 WSL IP 命令(第 7 步)在我这似乎没有发挥效果,我是通过 DHCP 获取的自动 IP 生效的。