当前位置: 首页 > news >正文

docker设置iptables=false后容器内部无法互相访问

起因:在centos7中,明明开启了firewalld,没有开放docker映射出来的端口,但是外部网络也能访问,这样会不安全!查资料说道:默认情况下, docker启动后参数中如果加了端口映射, 就会自动将端口开放给所有网络设备访问,并且这种情况下即使在本机的系统防火墙中加规则也无效, 因为docker会自动添加一个优先级最高的针对这个映射端口全开放规则。

禁用docker的iptables

  1. 停止docker

  2. 编辑docker.service

vi /usr/lib/systemd/system/docker.service

#在句尾ExecStart添加 --iptables=false

ExecStart=/usr/bin/dockerd --iptables=false
在这里插入图片描述

  1. 开启docker

启动容器服务时发现关联的容器之间访问不通

容器a会调用容器b的接口来启动,禁用docker的iptables之后,服务启动时报错访问不到容器b的接口

查到可能是:禁用docker的iptables之后,docker的端口就回被firewalld管理,开放端口出去就需要使用firewall-cmd命令添加
因为容器b映射出来的端口号还没在防火墙放行,所以容器a访问不到?但这个端口我并不想给外部人使用,不安全,所以想到把ip添加到白名单,先试试再说

查看docker的网络

发现个很奇怪的事情,每次重启docker服务,用ip ad都会发现这个虚拟网络ip递增
在这里插入图片描述
查看自己docker使用的网络

cd /opt/software/docker
docker compose config

在这里插入图片描述

固定docker的ip

接下来如何固定docker重启后这个虚拟ip不变更呢
查到一个很简单粗暴的方法
在/etc/docker/daemon.json中改变默认桥接网络的子网,配置完重启docker

{"bip": "172.23.0.1/16","fixed-cidr": "172.23.0.0/16"
}
  • bip(Bridge IP)
    把宿主机上 docker0 网卡的地址固定为 172.23.0.1/16,这样 Docker 默认网段就固定在 172.23.0.0/16,重启后不会漂移。
  • fixed-cidr
    限制 Docker 从这个 CIDR 范围内 给容器分配 IP,防止越界

firewalld添加网段白名单

firewall-cmd --zone=trusted --add-source=172.23.0.0/16 --permanent
firewall-cmd --reload

再启动容器发现服务正常能访问啦!

http://www.dtcms.com/a/303818.html

相关文章:

  • vue3组件通信的几种方法,详解
  • 工业补贴携手华为云,重塑汽车零部件供应链管理新趋势
  • B 站搜一搜关键词优化:精准触达用户的流量密码
  • 51c大模型~合集161
  • SQL注入SQLi-LABS 靶场less26-30详细通关攻略
  • Elasticsearch 深度分页问题与 `search_after` 解决方案
  • 从centos更换至ubuntu的安装、配置、操作记录
  • cpolar 内网穿透 ubuntu 使用石
  • 知识点梳理
  • 基于三台主机搭建 Web 服务环境:Nginx、NFS 与 DNS 配置全流程
  • Python实用代码示例大全
  • tcp通讯学习数据传输
  • Effective C++ 条款10:令operator=返回一个reference to *this
  • 渗透测试与漏洞扫描有什么区别?
  • napping靶机教程(超详细讲解)
  • Leetcode-3152 特殊数组 II
  • TCPDump实战手册:协议/端口/IP过滤与组合分析指南
  • 【Java面试题】面向对象
  • 站点到站点-主模式
  • 【C++基础】函数调用约定(x86/ARM 差异对比):面试高频考点与真题解析
  • 面试遇到的问题3
  • java String类
  • 打印机错误0x0000011B,0x00000709,0x00000BCD,修复工具下载。
  • ElasticSearch 的3种数据迁移方案
  • Nginx安装流程
  • Vue.js 指令系统完全指南:深入理解 v- 指令
  • 递归推理树(RR-Tree)系统:构建认知推理的骨架结构
  • 【C++】1. C++基础知识
  • 传媒行业视频制作:物理服务器租用是隐藏的效率引擎
  • 【Golang】Go语言Map数据类型