修改Docker默认的网段

背景

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

排查内心路程

一、部署秘密武器以前,能够内外网;部署后,只能外网,看这么个症状就是网络防火墙问题,因而乎~~~
     1)iptables -F
     2)setenforce 0
     3)在AWS上把此服务器的安全组入站0.0.0.0(这纯粹是为了测试,正式环境千万别~~~)
 
二、这ssh不通难道是ssh的配置文件修改了,由于改了端口,难道ssh的配置文件里有控制内外网是否能够登陆的配置?因而乎~~~
      vim /etc/ssh/sshd_config   一顿瞎改(这里就体现了对ssh的认识不足,对配置文件不熟悉,得学习)
 
三、这什么玩意儿,网络是能够的,安全组没问题,不知为何脑壳里面想到了路由, 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登陆,哇~~~哇~~~能够了耶,好激动好激动噢~~~~
 
四、肯定了,就是那一条路由的问题,这个容器分配的网段与跳板机的网段冲突了,因而乎~~~~
     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网络部分的官方文档)
 
下次再见~~~
相关文章
相关标签/搜索