如何通过局域网访问WSL2中的服务

假设局域网上有两台主机A和B。主机A的IP:192.168.1.2,并且WSL2开启了Redis服务,端口为6379。现在主机B如何才能访问主机A上的Redis服务呢?

第一步:配置端口转发

1. 以管理员权限打开PS,输入命令:

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=6379 connectaddress=localhost connectport=6379

listenaddress: 监听地址, 0.0.0.0 表示匹配所有地址。

listenport:监听的Windows端口。

connectaddress:要转发的地址。这里设置为 localhost, 是因为我们可以通过 localhost 来访问WSL2。

connectport: 转发的WSL2端口。

2. 通过以下命令,查看当前所有的转发设置。

netsh interface portproxy show all

也可以通过以下命令来删除转发设置:

netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=6379 

第二步:配置防火墙入站规则

给主机A的Win端口:6379,添加入站规则。

 

至此,主机B能够通过192.168.1.2:6379 访问主机A上的Redis服务了。

参考资料

如何在局域网的其他主机上中访问本机的WSL2 - 知乎 (zhihu.com)

使用 WSL 访问网络应用程序 | Microsoft Learn

posted @ 2023-08-25 15:51  天行健君子以自强  阅读(2985)  评论(0)    收藏  举报