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

第一步:配置端口转发

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

1
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、 通过以下命令,查看当前所有的转发设置。

1
netsh interface portproxy show all

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

1
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=6379 

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

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

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

参考资料

如何在局域网的其他主机上中访问本机的WSL2

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