Docker默认网段的正确修改步骤

 更新时间:2019年03月12日 11:06:43   作者:Captain_Li  
这篇文章主要给大家介绍了关于Docker默认网段修改的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

背景

一同事在研究他的安全大业,需要在AWS服务器上部署他的秘密武器,秘密武器通过Docker来部署;在部署前可以通过跳板机的内外网ssh登录上这台服务器;部署后只能通过外网ssh登录这台服务器.......;症状就是这么个症状,怎么下药就得看医术了.....

排查心里路程

1、部署秘密武器之前,可以内外网;部署后,只能外网,看这么个症状就是网络防火墙问题,于是乎~~~

     1)iptables -F

     2)setenforce 0 

    3)在AWS上把此服务器的安全组入站0.0.0.0(这纯粹是为了测试,正式环境千万别~~~)

2、这ssh不通难道是ssh的配置文件修改了,因为改了端口,难道ssh的配置文件里有控制内外网是否可以登录的配置?于是乎~~~

      vim /etc/ssh/sshd_config   一顿瞎改(这里就体现了对ssh的认识不足,对配置文件不熟悉,得学习)

3、这什么玩意儿,网络是可以的,安全组没问题,不知为什么脑袋里面想到了路由,route -n 先看看,哇~~噢,这么多条路由,看到这些路由的时候,其中有一条172.29.0.0(我们跳板机的网段跟这个很像),就隐隐约约觉得这里有问题(女人的直觉不只在判断男朋友是否在外面有狗,还爱不爱上;在这里直觉也还是挺准,哈哈);于是乎~~~

 route -n
 route del -net 172.22.32.0 netmask 255.255.255.0
 route del -net 172.23.32.0 netmask 255.255.255.0
 ......

     只要是与容器有关的路由全部干掉,然后再从跳板机去内网ssh登录,哇~~~哇~~~可以了耶,好激动好激动噢~~~~

4、确定了,就是那一条路由的问题,这个容器分配的网段与跳板机的网段冲突了,于是乎~~~~

 route add -net 172.22.32.0 netmask 255.255.255.0
 ......

     把刚刚删了的路由除了那一条冲突的,又傻不拉几的加上,接下来就是解决这个问题的时候了

当时的解决办法

想了想,既然冲突了,那我肯定就是把这个容器的网段给改了,怎么改呢,用了一个及其愚蠢的办法,我把这个容器停掉删除,重新用docker-compose重启启动了一个,就重新分配了一个新的网段,就不冲突了。

根本解决办法

在启动容器之前就把整个docker的网络改为与我们自己的网段不冲突的,这样docker永远只分配我们给他设置的

操作步骤:修改docker.json,使得整个docker的网络网段都改掉,原来是172网段,现在我要改为192

1)vim /etc/docker/daemon.json(这里没有这个文件的话,自行创建)

{
 "bip":"192.168.0.1/24"
}

2)重启docker 

systemctl restart docker

3)在重新看网段

注:在使用docker容器最初规划的时候就要想到这一点,要规划好使用什么样的网段;上面的这种办法得重启docker,重启容器的;

疑问

还没有其他更好的办法呢,在不停止容器不删除容器的前提下,修改网段?(待我研究好了,再来补充)

总结

1:对ssh的配置文件不熟悉(这个得找个时间系统的过一遍)

2:对网络这块熟悉,尤其是路由这些,说实在的,到现在还是说不出路由的具体作用,只可意会的那种,只知道没他不行(等这段时间把PMP考完了,开始看思科那几本书,不说考证,先把那几本书好好看看,加强网络)

3:对Docker网络模式不熟悉(接下来这段时间好好看Dokcer网络部分的官方文档)

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

相关文章

  • Docker容器数据卷的基本操作

    Docker容器数据卷的基本操作

    为了能保存数据在docker中我们使用卷,本文主要介绍了Docker容器数据卷的基本操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Jenkins+docker发布Springbot服务的实现

    Jenkins+docker发布Springbot服务的实现

    本文主要介绍了Jenkins+docker发布Springbot服务的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Dockerfile中multi-stage(多阶段构建)详解

    Dockerfile中multi-stage(多阶段构建)详解

    在2017年5月3日即将发行的 Docker 17.05.0-ce 中,Docker 官方提供了简便的多阶段构建 (multi-stage build) 方案,下面这篇文章主要给大家介绍了关于Dockerfile中multi-stage(多阶段构建)的相关资料,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-03-03
  • 开启Docker的TCP通信端口方式

    开启Docker的TCP通信端口方式

    这篇文章主要介绍了开启Docker的TCP通信端口方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Docker 部署RocketMQ的详细操作

    Docker 部署RocketMQ的详细操作

    这篇文章主要介绍了Docker 部署RocketMQ的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • docker部署应用的三种方式

    docker部署应用的三种方式

    越来越多的前端团队选择用Docker部署前端项目,本文主要介绍了docker部署应用的三种方式,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Next.js Docker镜像私有部署从零实现

    Next.js Docker镜像私有部署从零实现

    这篇文章主要为大家介绍了Next.js Docker镜像私有部署从零实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 详解Docker挂载本地目录

    详解Docker挂载本地目录

    这篇文章主要介绍了详解Docker挂载本地目录,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Docker容器内应用服务自启动的方法示例

    Docker容器内应用服务自启动的方法示例

    这篇文章主要介绍了Docker容器内应用服务自启动的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 使用docker compose搭建一个elk系统的方法

    使用docker compose搭建一个elk系统的方法

    这篇文章主要介绍了使用docker-compose搭建一个elk系统的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08

最新评论