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

打印 上一主题 下一主题

主题 643|帖子 643|积分 1929

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

   在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的下令行版本


更新好了以后不会主动开启镜像网络,必要在“c:\users\用户名\”此路径下创建一个.wslconfig文件,在文件里添加以下参数
  1. [experimental]
  2. networkingMode=mirrored # 开启镜像网络模式
  3. hostAddressLoopback=true # 可以通过ip访问
复制代码
这里是一些其他的参数,必要可自行修改

   做完这些以后就开启了镜像网络模式了,但是如许做了以后就访问不了docker的容器了,缘故原由是docker采用了iptable来转发端口
  ####必要了解iptable的作用可以去看这篇博文因为要让docker可以访问必要禁用iptable
  iptables详解及docker的iptables规则_docker iptables-CSDN博客
  末了在/etc/docker/daemon.json(一般默认在这里)文件里添加,没有的话就创建一个daemon.json文件
  1. {
  2. "iptables": false
  3. }
复制代码
末了docker在创建容器的时间映射端口必要改一下
例如:

如果的是docker桌面版


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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

钜形不锈钢水箱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表