WSL2映射端口的改进

这两天使用wsl2,感觉性能不错,有个美中不足的问题就是linux客户机的ip是经过主机虚拟网卡dhcp的,并且还是不固定的!每次启动都会变!。。。。这产品也是没治了。

后来发现了一个映射端口的方法,https://github.com/yhl452493373/WSL2-Auto-Port-Forward.git

原理就是使用wsl命令,先获取到客户机的ip,然后再用使用netsh创建端口映射。其实有个点解决的不是很完美,就是需要先把getIP.sh上传到客户机,然后在windows下通过wsl调用才能获得客户端ip,这就比较啰嗦了。

研究了一下,联想到android的方法,先把文件上传到tmp目录,于是就试了一下:

::wsl -l -v
set linuxName=openSUSE-Leap-15-1

copy getIp.sh \\wsl$\openSUSE-Leap-15-1\tmp > nul

wsl -d openSUSE-Leap-15-1 -u root chmod +x /tmp/getIp.sh

for /F %%i in ('wsl -d %linuxName% -u root /tmp/getIp.sh') do ( set wslIp=%%i)

其中关键点:

通过\\wsl$\{Name}直接访问虚拟机,用copy命令把文件 复制到虚拟机的tmp目录,别的目录可能权限都不够,然后把文件设置成可执行权限,通过wsl执行getIp.sh脚本获取ip地址。

然后后面的流程就和原来脚本一样了,后面可能还有个问题,原脚本使用的ip是0.0.0.0,可能有问题,最好还是直接使用主机的ip,但是这个不确定。

最后通过 netsh interface portproxy show all 可以查看商品映射情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值