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网络局部的官方文档)
好了,以上就是这篇文章的全部内容了,但愿本文的内容对大家的学习或者工作拥有一定的参考学习价值,感谢大家对脚本之家的支撑。