钜形不锈钢水箱 发表于 2024-6-9 13:28:27

这里做一篇关于wsl2更新到最新版本使用镜像网络,但是docker创建的容器不能

媒介:####如有出错还请帮忙指出

   在windows2023年9月的一次更新中,wsl2支持了新的网络模式镜像模式,他可以或许通过localhost地址从wsl2内部毗连到windows的127.0.0.1地址
##相当于是和当田主机拥有同一个ip

原wsl2是不支持的,虽说是net网络模式,可访问主机,主机也可访问wsl2,同时也可上网,但是不能被网络访问,如果要做反弹shell这一类的就没有办法,而镜像网络就办理了这个问题。
更新到WSL2 2.0往上的版本


[*]首先必要有win11 23H2或更高版本的体系
[*]安装了wsl2先前的版本
如果满足以上要求则可以更新到最新版

[*]以管理员打开windows下令指示符或者是powershell
[*]运行下令 wsl --update --pre-release
这里我使用的是docker的下令行版本

https://img-blog.csdnimg.cn/direct/e4a95c7e44864c8285cdd9580af79157.png
更新好了以后不会主动开启镜像网络,必要在“c:\users\用户名\”此路径下创建一个.wslconfig文件,在文件里添加以下参数

networkingMode=mirrored # 开启镜像网络模式
hostAddressLoopback=true # 可以通过ip访问 这里是一些其他的参数,必要可自行修改
https://img-blog.csdnimg.cn/direct/3e7d8cf3f79443d1b25182a53b57a9f3.png
   做完这些以后就开启了镜像网络模式了,但是如许做了以后就访问不了docker的容器了,缘故原由是docker采用了iptable来转发端口
####必要了解iptable的作用可以去看这篇博文因为要让docker可以访问必要禁用iptable
iptables详解及docker的iptables规则_docker iptables-CSDN博客
末了在/etc/docker/daemon.json(一般默认在这里)文件里添加,没有的话就创建一个daemon.json文件
{
"iptables": false
} 末了docker在创建容器的时间映射端口必要改一下
例如:
https://img-blog.csdnimg.cn/direct/d85ba5131d124846a7688d968975e8d1.png
如果的是docker桌面版


[*]方法1:
可以直接升级到最新版,已经修复了可以支持镜像网络
[*]方法2:
在.wslconfig里添加 ignoredPorts 来设置你必要访问的应用的端口
例如:
ignoredPorts=9999,8888


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 这里做一篇关于wsl2更新到最新版本使用镜像网络,但是docker创建的容器不能