wsl2 windows11 网络问题汇总

问题一:wsl2终端获取windows IP(注意这个ip是动态的),ping不通windows IP

wsl2终端获取windows IP
cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }'

原因:windows防火墙
解决:

  1. 管理员模式打开powershell
  2. 添加防火墙规则,允许wsl2访问
    New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow

问题二:主机访问wsl服务

wsl2中获取wsl2 IP,终端,输入
ip addr | grep eth0
或者windows获取wsl2服务
wsl -- hostname -I
然后就可以在windows通过端口访问服务了

问题三:非本机windows设备局域网访问wsl2

windows实现ip转发,用于局域网访问本机wsl2中启动的服务
局域网内设备访问 WSL 2

需要windows作端口映射

点击查看代码
# listenaddress 要监听的ip地址,也就是最终要访问的ip地址。
# connectadress 要链接的服务器地址,也就是RealServer
# port 端口。
netsh interface portproxy add v4tov4 listenaddress=10.5.6.180 listenport=8167 connectaddress=172.23.237.75 connectport=8167
-----------------------------------------------------
# 要查看所有的侦听端口
netsh interface portproxy show all
-----------------------------------------------------
# 删除某条规则
netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=80
-----------------------------------------------------

到这一步就可以成功了,如果失败,需要手动打开 ip helper服务
windows系统下 计算机管理-服务-IP Helper 启用 或者重新启动

posted @ 2023-01-10 17:46  九鹤  阅读(1648)  评论(0)    收藏  举报