首页 > 编程知识 正文

关闭firewalld,firewalld详解

时间:2023-05-05 22:43:33 阅读:125281 作者:2152

缺省情况下,docker-ce使用桥接网络,通过iptables管理容器之间的通信以及容器和宿主机之间的通信。 如果同时启用了防火墙d服务,他们会将规则写入iptables中的传输链,但麻烦的是,每次启动或重新启动时,防火墙d都会强制docker覆盖传输链

具体冲突原因请参考Docker官方文档。 单击此处访问。 本文还正式提供了在docker节点上自定义iptables规则的有效方法和一些坑的详细信息。

这些解决方案包括: 我相信有一个适合你。

第一种方法:按顺序重新启动防火墙d和坞站,仅限于利用防火墙d限制坞站映射以外的端口。 如果docker使用该端口,则防火墙d配置无效,并且如果尝试限制docker使用的端口,则此方法不合适。 如果启动防火墙d并出现冲突,请首先重新启动防火墙d,然后重新启动docker。 请注意不要把顺序颠倒了。 这是最垃圾的一种方式,当然如果它能解决燃眉之急就好了。

第二种方法:将规则添加到DOCKER-USERchain添加到DOCKER-USER链的规则在手动添加规则到此链后生效。 这是最推荐的方式,一个也没有。

1、请勿手动修改DOCKER链。 DOCKER网络可能出现问题。

2、请注意添加的规则将插入到DOCKER-USER链的顶部。 默认情况下,允许连接到docker主机。

3、限制条件是,端口没有在Docker上开放,例如22端口的情况下,将规则插入Docker链也没有效果,需要在INPUT链上设置规则。

一些示例:

#限制192.168.3.0/24网络防止3306端口iptables-id ocker-user-s 192.168.3.0/24-ptcp-dport 3306-j drop # #所有- s 192.168.1.0/24-jdropiptables-id ocker-user-mi prange-ieth 0! - src-range 192.168.1.1-192.168.1.3-j drop第三种方式:最新版本的Docker支持与防火墙d共存前提: Docker版本为20.10.0或更高

Docker会自动创建名为Docker的firewalld zone的最新版本,将所有网络接口(包括Docker0)添加到此区域,然后运行以下命令将Docker0接口移动到Docker区域

# pleasesubstitutetheappropriatezoneanddockerinterfacefirewall-cmd-- zone=可信--remove-interface=docker0--PPP 默认情况下,Docker将FORWALD链的规则设置为DROP,所有传输链最终都与思路相通。 如果要执行路由功能,请尝试运行以下命令: iptables-id ocker-user-isrc _ if-odst _ if-j accept 3358 www.Sina.com /

可以在docker配置文件daemon.js中将iptables选项设置为false,以便docker无法使用iptables,但此选项不适用于大多数用户。 docker的容器网络变得脆弱,容易崩溃。 - -可以设置IP以更改docker接收的地址,但没有任何效果

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。