更改 WSL2 vEthernet 适配器的默认 IP 地址

Ste*_*fen 6 windows-subsystem-for-linux wsl2

WSL2 用于在每次重新启动后创建 IP 地址为 172.23.0.1 的“vEthernet (WSL)”适配器。到目前为止工作正常,直到我们公司决定在 172.23.0.0/20 上添加另一个网络并更新路由表。

问题

现在,往返于 WSL (Ubuntu) 的网络通信不再可能,因为到 WSL 的每个流量都会路由到不同的接口,因为新路由会迷失方向。我通过 Wireshark 观察到了这一点。更改路由不是一个选择 - 我需要访问新网络。

选项1

我正在寻找一种方法来告诉 WSL 在重新启动后(首次启动 WSL 时)创建“vEthernet (WSL)”适配器时使用不同的 IP 地址。不幸的是,它每次都会使用相同的 IP 地址重新创建适配器。我没有找到任何如何或在何处为 WSL 以太网适配器设置默认 IP 的信息。

选项2

我尝试根据https://gist.github.com/wlllmsash/1636b86eed45e4024fb9b7ecd25378ce为主机适配器和 Ubuntu 分配新的 IP 地址

  • 将 vEthernet (WSL) 适配器 IP 地址更改为 172.30.0.1,删除 172.23.0.1
  • 从 Ubuntu 中删除了 172.23.xx IP 地址并添加了 172.30.0.2
  • 将 Ubuntu 上的默认路由替换为 172.30.0.1

我也一直在尝试使用 vEthernet (WSL) 适配器上的入站/出站流量的防火墙规则。

结果:

  • 我可以从 Windows 主机成功 ping 通 Ubuntu 机器。
  • 我可以从 Ubuntu 计算机成功地连接到 Windows 主机 (172.30.0.1)(删除并读取防火墙规则后)。
  • 我无法从 Ubuntu 访问互联网。我只能在 vEthernet (WSL) 接口上看到从 Ubuntu 到 Windows 主机的流量,但在 Windows 主机的正常网络接口上看不到更多传出流量。

有什么提示缺少吗?我更喜欢关于选项 1 的解决方案,因为我并不真正期待在每次重新启动后更改 WSL 子系统的网络配置。

小智 1

WSL 以太网适配器的默认 IP(用于重新启动)可以在 regedit 中更改。请参阅此处的答案:https://learn.microsoft.com/en-us/answers/questions/1123820/set-wsl2-subnet