Docker与Firewalld冲突怎么办?教你几招搞定docker网络

2023-05-16

docker-ce默认会采用桥接网络,它会通过iptables来管理它的容器之间的通信和容器与宿主机的通信,如果同时启用了firewalld服务,他们都会对iptables里面的转发链写入规则,而让人头疼的是,firewalld每次启动或者重启都会强制覆盖docker的转发链,同时,docker也会通过更高优先级的策略使firewalld里面配置的条目失效。

具体冲突的原因见Docker官方文档:点此进入。官方也在这篇文章中提供了在docker节点中自定iptables规则的有效方式,也提供了一些坑的细节。

以下提供了几种解决方案,相信总有一种适合你:

第一种方式:按顺序重启firewalld与docker

仅限于利用firewalld限制docker映射之外的端口,如果是docker使用了该端口,则firewalld配置无效,如果想要对docker使用的端口进行限制,这种方式是不合适的。当启动firewalld出现冲突的时候,首先重启firewalld,然后重启docker,注意顺序不可以反过来。这是最垃圾的一种方式,当然如果它能解决燃眉之急的话也不错。

第二种方式:在DOCKER-USERchain中添加规则

DOCKER-USER 链中添加的规则会先于DOCKER链生效,因此在这个链中手动添加规则将会生效。这是最推荐的方式,没有之一。

1、不要尝试去手动修改DOCKER链,这样可能会使docker网络出现问题。
2、注意添加的规则要插在DOCKER-USER链的顶部,默认情况下所有到达docker主机的连接都会被允许。
3、限制条件就是,如果端口不是在Docker中开放的,比如22端口,那么在DOCKER链中插入规则不会生效,需要在INPUT链中设置规则。

几个示例:

## 限制 192.168.3.0/24 网络防止3306端口
iptables -I DOCKER-USER -s 192.168.3.0/24 -p tcp --dport 3306 -j DROP
## 拒绝来自所有主机的连接,除了192.168.1.1,注意修改外网卡地址
iptables -I DOCKER-USER -i eth0 ! -s 192.168.1.1 -j DROP
## 当然也可以只允许一部分IP
iptables -I DOCKER-USER -i eth0 ! -s 192.168.1.0/24 -j DROP
iptables -I DOCKER-USER -m iprange -i eth0! --src-range 192.168.1.1-192.168.1.3 -j DROP

第三种方式:最新版本的Docker支持与firewalld共存

前提:Docker版本大于等于 20.10.0,
Docker在最新的版本里自动创建了一个名为docker的 firewalld zone,并把它的所有网络接口(包括docker0)加入到了这个区域里面,执行下面的命令将你的docker0接口移到docker区域。

# Please substitute the appropriate zone and docker interface
firewall-cmd --zone=trusted --remove-interface=docker0 --permanent
firewall-cmd --reload

几个大坑

  • Docker节点可以做路由节点?NO!Docker默认将FORWALD链的规则设置为DROP,所有转发链最终都通向思路。如果实在是要做路由功能,尝试执行下面的命令。
iptables -I DOCKER-USER -i src_if -o dst_if -j ACCEPT

当然最好不要用docker节点做路由,它承担的太多了。

  • 你可以在docker 的配置文件daemon.js中设置iptables选项为false来阻止docker 使用iptables,但是这个选项并不适用于大多数用户,它会使得docker的容器网络变得更脆弱,更容易崩溃
  • 你可以通过设置 --ip 来改变docker 监听的地址,但是这并没有什么作用,它只是改变了默认值而已
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker与Firewalld冲突怎么办?教你几招搞定docker网络 的相关文章

  • 《Design Patterns》FactoryMethod.积跬步系列

    FactoryMethod xff1a 工厂方法模式 先代码 父类或接口类 xff1a span class token keyword package span h span class token punctuation span ld
  • Java基础总结二

    Java关键字 xff08 特点及关键字作用 xff09 xff1a xff08 1 xff09 被Java语言赋予特殊含义的单词 xff08 53个含两个保留字 xff09 xff08 2 xff09 关键字都是小写 xff08 3 xf
  • SVN快速使用入门

    协同开发时 xff0c 我们时常会听说SVN这个词 xff0c 那么SVN到底是什么 xff1f 又是怎么玩的 xff1f 笔者在初探SVN后进行一个简单的总结 SVN xff1a Subversion的简称 xff0c 是一个开放源代码的
  • 解决Red Hat6.0以上使用yum命报错Loaded plugins: product-id, refresh-packagekit, security, subscription-manager

    什么是yum xff1a Yum xff08 全称为 Yellow dog Updater Modified xff09 是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器 基于RPM包管理 xff0c 能够从
  • Cause: org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found

    org apache ibatis exceptions PersistenceException Error updating database Cause org apache ibatis executor ExecutorExcep
  • [Linux] 记录一次批量开关机操作

    最近公司需要停一部分机器测试下业务稳定性 关停很简单 ansible 就可以了 xff0c 一句命令 ansible guanji m command a 34 shutdown h now 34 定义的关机组 guanji 过了两周 xf
  • 生活篇

    春天 xff0c 一个诗情画意的季节 xff0c 一个生机勃勃的季节 春天 xff0c 为我们带来了温暖 xff0c 为大地带来了生机 在这个春意盎然的季节 xff0c 大自然也开始了她们的春天交响曲 我喜欢三月 xff0c 我也讨厌三月
  • WebStorm 2023.1 最新变化【附带ChatGPT教程】

    ChatGPT开源公众号 xff1a https gitee com wy521a astar weixin mp 观看更新概览视频 在浏览器中打开更新变化 WebStorm 2023 1 最新变化 框架和技术 Astro 支持 备受期待的
  • Ubuntu18.04解决gnome-tweak-tool安装后shell主题提示user-theme extension没有启用的问题

    换用Ubuntu18之后 xff0c 桌面又回到了gnome xff0c 因此找到了gnome tweak tool对桌面进行美化 1 安装gnome tweak tool sudo apt get install gnome tweak
  • 多生产者和多消费者问题

    题目描述 桌子上有一个盘子 xff0c 每次只能向其中放入一个水果 爸爸专门向盘子里面放苹果 xff0c 妈妈专门向盘子里面放橘子 xff1b 只有盘子为空时 xff0c 爸爸或妈妈才可以向其中放入水果 xff1b 仅当盘子里有自己需要的水
  • ssh远程连接服务器常用命令

    命令行下 xff0c 使用ssh 远程登录服务器 ssh 39 用户名 39 64 39 IP地址 39 不用加 39 号 xff0c 这里是为了作区分 39 用户名 39 64 39 IP地址 39 39 s password xxx 项
  • 记录在安卓webview上,gif,apng,pixi.js,lottie-web动画导致闪屏问题

    随着公司项目对动画要求越来越高 xff0c 从由美术提供简单的gif 或者css js开发简单动画变成了使用渲染引擎pixi js使用序列帧动画 xff0c 或者使用龙骨 xff0c spine等更加复杂炫酷的动画 但是发现屏幕在播放动画的
  • 黑苹果_万能OpenCore_0.8.4_EFI

    对于喜欢折腾黑苹果的人来说 xff0c 安装Mac系统就是家常便饭 xff0c 其中最重要的就是EFI的配置 xff0c 配置出一个适合自己电脑的EFI很重要 xff0c 今天发布这篇文章就是为了提供给新加入的伙伴们 xff0c 让更多的伙
  • 黑苹果_OpenCore_0.8.4各项功能精解

    黑苹果已经延续有些年了 xff0c 引导也更新换代过好几次 xff0c 安装黑苹果的第一个条件就是需要拥有一个支持引导苹果系统的EFI xff0c 否则 xff0c 连苹果皮都看不到 xff0c 虽然网上可以直接下载EFI xff0c 但是
  • Github域名解析连接慢问题

    Github域名解析连接慢问题 1 Github访问慢问题2 Github连接解决方案2 1 使用 Gitee 的镜像仓库2 2 配置本地的 hosts 文件 3 DNS域名解析分析3 1 根域名服务器3 1 顶级域名服务器3 1 域名解析
  • C++判断素数(求素数)

    素数又称质数 所谓素数是指除了 1 和它本身以外 xff0c 不能被任何整数整除的数 xff0c 例如17就是素数 xff0c 因为它不能被 2 16 的任一整数整除 思路1 xff1a 因此判断一个整数m是否是素数 xff0c 只需把 m
  • Directx工具修复工具,专注修复C++动态链接DLL文件

    问题 xff1a 方法一 xff1a 可以直接去360管家中搜索DirectX xff0c 然后下载 xff0c 进行修复 方法二 xff1a 如下 xff1a DirectX修复工具最新版 xff1a DirectX Repair V3
  • shell脚本实现在任意虚拟机上 一键重启/关闭 多台虚拟机

    shell脚本实现在任意虚拟机上 一键重启 关闭 多台虚拟机 span class token operator span span class token operator span bin span class token operat
  • ChatGPT体验地址,超多功能,附公众号源码

    GPT 说明效果演示地址体验公众号源码 说明 ChatGPT是一种基于深度学习的自然语言处理 xff08 NLP xff09 技术 xff0c 它可以实现自然的文字对话 ChatGPT是基于预训练的语言模型 xff0c 使用大量的数据和计算
  • Android Native内存泄漏案例

    文章目录 背景现状malloc debugLeakTracer综合评估功能性能稳定性治理实践 案例 使用Raphael 定位内存泄漏 项目中遇到一个内存泄漏的情形 xff1a usb camera预览时出现了内存泄漏 xff0c 但内存泄漏

随机推荐

  • 【The 2017 BAPC】C题-Collatz Conjecture ---- GCD+优化去重

    题意 给你一个大小为n的序列 xff0c 让你求里面所有子串的GCD xff0c 求里面最多有多少不同的GCD 思路 xff1a 利用集合set tmp维护 到当前子串的最后一个元素的所有GCD xff0c set ans保存所有不同种类的
  • WGS84与大地2000坐标转换(Java,C#,Dart)

    一 坐标转换的必要性 平面坐标在道路测绘 隧道测量 农业建筑业等室外勘测等方面有着广泛的应用 各行业基本都会涉及到移动端测量之后不能满足屏幕坐标 所以需要经纬度的转换 移动端勘测结果都是WGS84坐标或者GCJ 02格式坐标 而实际工程项目
  • Flutter百度地图

    Flutter百度地图 重构项目 一 实现效果如下图 qq交流群 群号 730772561 1 地图中任意踩点进行杆塔和设备的新建 对与点和线进行关联 2 对于点和线进行各种操作 3 自定义区域下载离线地图 4 热烈线 5 自定义瓦片地图
  • Jetpack-Compose-自定义绘制

    上节课我们简单的利用了一下自定义裁剪和自定义就能玩出如下简单案例 效果不错 这节课咋们来看看Compose自定义绘制能不能花里胡哨 一 Compose自定义 自定义 一个应用的可创造性往往离不开人们的千奇百怪想象和用户变化万千的需求 自定义
  • JetPack-Compose - Flutter 动态UI?

    一 Flutter 初遇 2018 06月左右入坑Flutter 于是拿出美团和痘印等好看的界面感受了一波Flutter UI和绘制等写了三天的Demo也感受到了Flutter强大 当时匆匆忙忙就写了相关Demo上传了Github 不知不觉
  • Compose for Desktop (Kolin跨平台编写Mac微信应用)

    春光不自留 xff0c 莫怪东风恶 掘金博客地址 创作不易 希望点赞 Compose for Desktop Compose是由Kotlin语言快速编辑界面的框架 xff0c 基于谷歌的现代工具箱 xff0c 由JetBrains为您带来
  • Android层叠式卡片效果实现!(高大上)

    一 xff0c 上班闲来无聊 xff0c 撸发代码 实现Android层叠卡片效果如下图 xff01 1 我们可以随意方向的拖动这个卡片 2 我们可以将卡片放在一起显示且有层叠式效果 3 我们可以将最上层的卡片移除 xff0c 当移除最底层
  • Java中如何将一个数组分割成多个等长度的数组

    Java中如何将一个数组分割成多个等长度的数组 xff0c 最后剩下的为一个素组 先看图分析数据提取公式分装代码 1 如下我们需求 最近朋友android项目中有一个需求如下 xff1a 这一个长集合 item0 item1 item2 i
  • 作为移动端(Android)开发的我已被前端框架Bootstrap所折服

    一 xff0c Bootstrap介绍 xff1a 一年前的我还沉浸在移动端各种适配和优化中不能自拔 xff0c 为了适配市场的各种分辨率 xff0c 我拿着谷歌百分比布局 xff0c 也有生成各中分辨率下的尺寸文件 xff0c 或通过测量
  • Mac安装Stable Diffusion教程【超详细教程】附带安装包

    Mac安装Stable Diffusion教程 本机配置Mac安装Stable Diffusion教程 配带官方说明重要注意事项安装所需文件已上传网盘自动安装新安装 xff1a 自动安装现有安装 xff1a 下载稳定扩散模型故障排除Web
  • Flutter三天学习基础-------一天搞定项目

    Flutter学习三天搞定项目 2019年 xff0c 相继推出了flutter免费视频教学 希望能够帮助初学者 最终搞定b站一二级界面 xff1a https space bilibili com 265453330 spm id fro
  • 玩转python(一)——微信远程控制电脑

    1 综述 这是一个挺有意思的 python 程序 xff0c 基于 itchat 实现微信控制电脑 你可以通过在微信发送命令 xff0c 来拍摄当前电脑的使用者 xff0c 然后图片会发送到你的微信上 甚至你可以发送命令来远程关闭电脑 效果
  • Centos7 离线安装 K3S

    基于版本 v1 19 3 43 k3s2 1 下载相关资源 k3s airgap imagesk3s 二进制文件k3s 安装脚本docker rpm包 含containerd io docker ce docker cli containe
  • Linus 2020-11月最快Intel游戏电脑 清单

    视频链接 xff1a https www bilibili com video BV1Ey4y167YM 配件型号备注CPUi9 10900K5 7GHz 现在比起AU差些主板华硕Maximus XII Extreme超频主板内存镁光 Ba
  • Linuz目前最快AMD 游戏电脑! 截至2020年11月29日

    视频地址 xff1a https www bilibili com video BV1ip4y167L5 这一次是DigitalStorm直接发的整机AventumX xff0c 配置如下 xff1a 硬件型号备注CPURyzen 5950
  • 运维大镖客:Linux 合规配置脚本第一版

    还在为Linux合规配置检查不过关而发愁吗 xff1f 最新的配置合规脚本来啦 xff01 20220609 作者注 xff1a 之后的脚本将会在新的网络空间安全付费专栏发布 xff0c 如需要更新的版本 xff0c 请移步专栏观看 spa
  • MongoDB 4.2 数据迁移与备份指南

    MongoDB 4 2 数据迁移与备份指南 来源于MongoDB Manual 4 2 https docs mongodb com v4 2 tutorial restore replica set from backup 原文 xff1
  • Minio 代理 Alibaba Cloud OSS

    Minio 代理 Alibaba Cloud OSS 在2017年12月份Minio引入Aliyun OSS 支持到master分支 xff0c 但是在2020年4月因为License问题导致阿里云OSS支持被移除 xff0c 后来2020
  • Rancher 2.4.x 单容器证书过期&证书轮换方法

    Rancher 2 4 x 官方文档之证书轮换 https rancher2 docs rancher cn docs rancher2 cluster admin certificate rotation index 错误现象 xff1a
  • Docker与Firewalld冲突怎么办?教你几招搞定docker网络

    docker ce默认会采用桥接网络 xff0c 它会通过iptables来管理它的容器之间的通信和容器与宿主机的通信 xff0c 如果同时启用了firewalld服务 xff0c 他们都会对iptables里面的转发链写入规则 xff0c