docker与firewalld冲突解决

这篇具有很好参考价值的文章主要介绍了docker与firewalld冲突解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

firewall的底层是使用iptables进行数据过滤,建立在iptables之上,而docker使用iptables来进行网络隔离和管理,这可能会与 Docker 产生冲突。当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。

iptables -L 查询iptables 链

解决方法:

让Docker 绕过了 firewalld

####### 1、先关闭防火墙 #######
systemctl stop firewalld

####### 2、修改docker配置 #######
#修改docker配置
vim /etc/docker/daemon.json
#添加规则
{
...
"experimental" : true,
"iptables": false
}
#重启docker
systemctl daemon-reload
systemctl restart docker

####### 3、开启或重启防火墙 #######
systemctl restart firewalld
 
####### 4、再次重启docker #######
systemctl restart docker

####### 此时docker服务的端口只能本地127.0.0.1访问 #######
####### 以后就可以通过firewall控制对外端口是否可用了(firewall-cmd 命令) #######

firewall-cmd命令可参考:防火墙firewall-cmd

【重要一】
绕过iptables之后,有个弊端:容器内部无法访问外界IP。如果需要访问,那么打开firewalld防火墙,且开启NAT转发功能,详细步骤如下:

此外,建议firewall防火墙开启NAT转发功能,解决阻止docker容器访问外界IP
见 https://blog.csdn.net/liyanggyang/article/details/128838350

【重要二】
在打开firewalld防火墙,且开启NAT转发功能后,允许容器访问外界IP:
1、容器访问本宿主机(物理/虚拟机)IP,本宿主机的防火墙检测到的IP是容器IP, 所以本机防火墙需要放行docker网段(可见“firewall-cmd命令可参考”)
2、访问其他外界物理/虚拟机,外界物理/虚拟机检测到的IP是容器所在宿主机IP。文章来源地址https://www.toymoban.com/news/detail-736524.html

到了这里,关于docker与firewalld冲突解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux:Firewalld防火墙

    目录 绪论 1、firewalld配置模式 2、预定义服务:系统自带 3端口管理 firewalld 防火墙,包过滤防火墙,工作在网络层,centos7自带的默认的防火墙 作用是为了取代iptables 运行时配置 永久配置 iptables是静态防火墙 firewalld是动态防火墙 firewalld按照区域来进行划分:9个区域 (需要人

    2024年02月12日
    浏览(44)
  • 【Linux安全管理】Firewalld详解

    目录 1、与iptables不同 2、配置防火墙 3、firewalld区域概念 4、filewalld 配置生效 5、firewalld服务 firewalld 端口映射 富规则 rich-rule firewalld采用区域和服务管理,而不是链式规则 动态管理规则,允许更新规则而不破坏原有会话与连接 firewall-cmd 命令行模式 推荐使用 firewall-config(如

    2024年02月12日
    浏览(36)
  • Linux 之 firewalld 防火墙

    firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过过滤子系统(属于内核态)来实现

    2024年02月06日
    浏览(45)
  • Linux系统防火墙Firewalld

    目录 Firewalld概述 Firewalld和iptables的区别 Firewalld网络区域 区域介绍与概念 9个预定义区域 Firewalld数据处理流程 firewalld检查数据包的源地址的规则 Firewalld防火墙的配置方式 常用的firewall-cmd命令选项 服务管理 端口管理  Firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了

    2024年02月14日
    浏览(44)
  • Linux中的防火墙————Firewalld

    firewalld是一个服务,这个服务提供了防火墙配置的工具 只要开启了firewalld服务,那么就可以通过firewall服务提供的工具来配置防火墙 Linux本身不具备防火墙功能,而是通过内核的net_filter模块来实现软防火墙功能,而且你必须通过iptables才能和net_filter进行交互 默认在rhel7和fe

    2024年04月10日
    浏览(48)
  • Linux CentOS stream 9 firewalld

    随着互联网行业快速发展,服务器成为用户部署网络业务重要的网络工具,但随之而来的就是更密集的网络攻击,这给网站带来了很大的阻碍。防火墙作为保障网络安全的主要设备,可以很好的抵御网络攻击。 防火墙基本上使用硬件和软件两种机制来限制流量。可以使用硬件

    2024年02月20日
    浏览(39)
  • 【Linux运维】ACPI BIOS Error问题解决

    今天帮朋友装个ubuntu系统,遇到一个问题记录一下。 ACPI BIOS Error… 电脑花屏 插入启动盘,当进入引导界面后,键盘输入’ e ’,编辑Linux启动命令,把命令中的\\\" --- “替换成\\\" nomodeset ”,按下 F10 保存。即忽略错误继续安装。 安装完成后,重启,进入系统选择引导界面后,

    2024年02月17日
    浏览(46)
  • Linux操作系统:Firewalld防火墙

    Linux操作系统:Firewalld 防火墙 课堂引入: Linux防火墙是通过netfilter来处理的,它是内核级别的框架。iptables被作为netfilter的用户态抽象层,iptables将包通过一系列的规则进行检查,如果包与特定的IP/端口/协议的组合匹配,规则就会被应用到这个包上,以决定包是被通过、拒绝

    2024年02月07日
    浏览(55)
  • linux-firewalld防火墙端口转发

    目的:通过统一地址实现对外同一地址暴露 1.系统配置文件开启 ipv4 端口转发 2.查看防火墙配置端口转发之前的状态 3.开启 IP 伪装 4.添加端口转发 5.重新加载防火墙并进行测试 附:删除端口转发 删除 IP 伪装

    2024年02月20日
    浏览(47)
  • Linux CentOS 8(firewalld的配置与管理)

    Linux CentOS 8(firewalld的配置与管理) firewalld(动态防火墙管理器)自身和 iptables 一样,并不具备防火墙的功能,而是需要通过内核的 netfilter 来实现,也就是说 firewalld 和 iptables 的作用都是用于维护规则,而真正使用规则的是内核的 netfilter。只不过 firewalld 和 iptables 的结构以

    2024年02月03日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包