linux下
在ubuntu上,使用
cat /etc/resolv.conf | grep nameserver | cut -d' ' -f2
能得出宿主的IP,这和在windows的命令行中ipconfig看到的一致。
如果你ping 172.28.64.1,如果是通的就不用看本文了。如果不通,就要在windows防火墙中添加入站规则。
windows下
有两种办法,建议使用命令行(并且是管理员权限下)。
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
如果你执行时权限不够,要确认你的登陆是否为管理员。
一般宿主都是可以ping到linux上。所以,当执行上面命令成功后,到linux上ping一下那个网站,应该是通的了。
到此,完全可以把数据库等主要占资源的软件部署在windows这边了。
从github上查到的示例:
PS C:\WINDOWS\system32> $myIp = (Ubuntu1804 run "cat /etc/resolv.conf | grep nameserver | cut -d' ' -f2")
PS C:\WINDOWS\system32> $myIp
172.21.0.1
PS C:\WINDOWS\system32> New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -LocalAddress $myIp -Action Allow