当前位置:首页 » 安全设置 » wsl网络设置

wsl网络设置

发布时间: 2023-08-23 01:39:21

Ⅰ WSL2与Windows间的网络互访

我的WSL2使用的是ubuntu 20.04.2.LTS, Windows是10专业版 Build: 19043.1526。本文只讨论应用级别通过网络互相访问的问题,不涉及文件互访。

由于多物理网卡,虚拟机网卡等原因,Windows会有多个IP Address,我们需要找出能与WSL2连同的那个。

启动WSL2,键入如下命令:

输出中nameserver 后面的地址即是我们要找的地址。

如:

172.27.160.1 就是我们要找的Windows的IP Address,后面会以 <win-ip> 引用

启动WSL2,键入如下命令:

输出举例:

172.27.170.146 就是我们要找的WSL2的IP Address,后面会以 <wsl-ip> 引用

默认情况下Windows的防火墙会阻止WSL2中应用对Windows的网络访问(see: Add "allow" rule to Windows firewall for WSL2 network · Issue #4585 · microsoft/WSL (github.com) ),解决办法是添加一条防火墙规则允许WSL2对Windows的访问。请以管理员身份打开PowerShell并键入以下命令:

输出举例:

命令成功执行后,我们会在Windows的防火墙高级设置的入站规则里会看到一条名为 WSL 的新规则:

以上配置好后,我们就可以在WSL2中通过 <win-ip> 和 <端口> 访问Windows中的应用程序。

我们可以在Windows中通过 <wsl-ip> 和 <端口> 访问WSL2中的应用程序。

Ⅱ WSL2 X-Server 网络问题

从WSL1升级WSL2之后,X-Server 出现问题,Ubuntu图形界面弹出不来。DISPLAY没起作用。

Ubuntu环境里面可以联通外网,ping 和 apt 都没有问题,ping局域网内其他主机也没有问题。

Ubuntu环境ping主机IP无法ping通。

升级WSL2 之后, 开启了虚拟化,有虚拟网卡。 看起来是虚拟机环境的网卡被block了,而且单单无法ping通主机。

直接放开WSL虚拟网卡的访问:

New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow

https://lengthmin.me/posts/wsl2-network-tricks/
https://github.com/microsoft/WSL/issues/4585