WSL2子系统终于支持分配外部IP 需要手动配置虚拟交换器后使用
Windows Subsystem for Linux此前不支持分配外部IP即使用NAT进行虚拟,因此在实际使用过程中我们需要通过Windows主机访问,如果想要在局域网里直接访问特定端口虽然可以成功实现但非常麻烦,因此在WSL1时代就有开发者建议微软支持分配外部IP。
最近有开发者发现微软已经在WSL2预览版中实现桥接,但不知道为什么微软并没有对此功能发布公告,现在要使用桥接的开发者都可以通过手动配置文件的方式分配外部IP。
不过目前此功能仅支持WSL2预览版,所以在生产环境使用WSL2子系统的用户建议先等待,待正式版发布再说。
版本要求:WSL2 Preview 0.51.2 (通过Microsoft Store下载)
系统版本:Windows 10 Build 18362及更高版本,支持Windows 11
要使用桥接和分配外部IP需要启用Hyper-V虚拟机并创建外部虚拟交换机(switch),然后使用wsl --shutdown命令关闭WSL子系统,最后将修改.wslconfig配置文件添加以下命令:
[wsl2] networkingMode=bridged vmSwitch=替换成你创建的虚拟交换机名称
重新启动WSL子系统即可实现桥接并获得外部IP地址(路由器记得开启DHCP)