修改Docker默认的网段

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
简介: 修改Docker默认的网段 背景 一同事在研究他的安全大业,需要在AWS服务器上部署他的秘密武器,秘密武器通过Docker来部署;在部署前可以通过跳板机的内外网ssh登录上这台服务器;部署后只能通过外网ssh登录这台服务器.

修改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 修改默认网段
478 0
|
Docker 容器 网络安全
Docker如何修改默认网段
我们在局域网中使用Docker,最常遇到的一个困惑,就是有时候跨网段结果出现网络不通。原因是因为Docker默认生成的网关和我们的局域网网段有时候是冲突的,比如在172.16网段的机器上部署Docker,结果生成的docker0网桥是172.17网段,那么就和真实环境中使用该网段的机器冲突了(即ping不通172.17网段的机器)。
3353 0
|
12天前
|
Ubuntu Linux pouch
Docker容器管理工具
文章介绍了Docker容器管理工具,以及早期使用的LXC容器管理工具,包括它们的安装、使用和相关技术特点。
40 10
Docker容器管理工具
|
12天前
|
监控 数据管理 pouch
Docker容器技术概览
关于Docker容器技术的概览,包括Docker的优势、劣势、核心技术、容器所依赖的技术,以及Docker容器的管理和编排工具。
43 7
Docker容器技术概览
|
12天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
12天前
|
NoSQL 应用服务中间件 Redis
Docker跨宿主机容器通信-通过网络跨宿主机互联
这篇文章介绍了Docker容器跨宿主机通信的实现方法,包括Docker的四种网络模式(host、none、container、bridge)以及如何通过修改网络配置和添加路由规则来实现不同宿主机上的容器之间的互联。
37 0
Docker跨宿主机容器通信-通过网络跨宿主机互联
|
12天前
|
应用服务中间件 nginx Docker
Docker同一台宿主机容器通信-通过容器名称互联
本文详细介绍了如何通过容器名称实现同一宿主机上容器间的互联,并提供了实战案例。首先,文章解释了容器间通过自定义名称访问的原理,随后演示了创建并连接Tomcat与Nginx容器的具体步骤。此外,还讨论了配置中可能出现的问题及解决方案,包括避免硬编码IP地址和使用自定义容器别名来增强系统的灵活性与可维护性。通过这些实践,展示了如何高效地配置容器间通信,确保服务稳定可靠。
21 1
Docker同一台宿主机容器通信-通过容器名称互联
|
1天前
|
运维 Docker 微服务
掌握 Docker Compose:简化你的多容器应用部署
在微服务架构和容器化技术普及的今天,管理多容器部署变得颇具挑战。Docker Compose 通过一个 YAML 文件定义和运行多容器应用,简化了部署和运维。本文介绍其基本概念、使用方法及优势,包括服务、项目、卷和网络等核心概念,并提供从安装到管理服务的详细步骤,助你轻松掌握 Docker Compose,提高开发效率和应用运维质量。