Redhat8部署docker27.3.0 防火墙策略怎样配置

在 Red Hat 8 上部署 Docker 27.3.0 后,需要为防火墙配置适当的策略,以允许 Docker 容器网络正常运行。以下是防火墙配置的详细步骤:


1.开启必要的端口

根据 Docker 的需求,默认需要开放以下端口:

  • 2375 (TCP)

    :非 TLS 的 Docker API(不推荐)。

  • 2376 (TCP)

    :启用了 TLS 的 Docker API(推荐)。

  • DOCKER 网络端口范围

    :Docker 默认会分配随机的端口范围(容器的映射端口)。

可以通过以下命令开放端口:

复制代码
sudo firewall-cmd --zone=public --add-port=2376/tcp --permanent sudo firewall-cmd --zone=public --add-port=2375/tcp --permanent

根据具体应用和容器运行的端口,按需添加更多端口规则,例如:

复制代码
sudo firewall-cmd --zone=public --add-port=<应用容器映射的端口>/tcp --permanent

2.允许 Docker 服务自定义的桥接网络

Docker 默认会使用docker0 网桥。如果你的容器需要通过该桥接网络访问外部资源,需允许桥接网络的转发流量。

配置转发规则:
复制代码
sudo firewall-cmd --zone=public --add-masquerade --permanent
重载防火墙:
复制代码
sudo firewall-cmd --reload

3.为 Docker 服务启用 IP 转发

确保内核启用了 IP 转发功能,这对于容器间通信至关重要。

检查 IP 转发状态:
复制代码
sysctl net.ipv4.ip_forward

如果返回值为0,需要启用它:​​​​​​​

复制代码
sudo sysctl -w net.ipv4.ip_forward=1echo"net.ipv4.ip_forward = 1" | sudotee -a /etc/sysctl.conf

4.添加 Docker 的动态网络规则

Docker 服务启动后会动态创建 NAT 规则。如果你的防火墙规则阻止了这些动态规则的应用,可以直接信任 Docker 管理的网络接口:

允许 Docker 创建的接口:
复制代码
sudo firewall-cmd --zone=trusted --add-interface=docker0 --permanent sudo firewall-cmd --reload

5.验证防火墙规则

执行以下命令,验证配置是否正确:

复制代码
sudo firewall-cmd --list-all

6.注意事项

  1. 如果容器使用了自定义网络,请根据实际情况配置对应的防火墙规则。

  2. 如果你使用了firewalld 与 Docker 同时管理 iptables,请确保iptables 的规则没有被覆盖。检查/etc/docker/daemon.json 中是否禁用了iptables:

    复制代码
    json {"iptables":true}

    如果没有该文件,可以创建并添加上述内容,随后重启 Docker 服务:

复制代码
sudo systemctl restart docker

完成后,确保应用和容器间通信正常!

相关推荐
逐流人5 小时前
Ceph分布式存储集群配置与池管理:从配置优先级到PG、复本池与纠删码池
运维·分布式·ceph·云原生·云计算·rados
分布式存储与RustFS8 小时前
图床搬到自己的对象存储:PicGo 加 S3 插件的完整配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS11 小时前
在 Kubernetes 里跑对象存储的三个方案:Helm、Operator、以及什么时候别用 K8s
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
旋生万物13 小时前
素数螺旋映射 $z_n=n^{1+i}$ 的角分布统计检验与零模型对比
大数据·前端·人工智能·算法·云原生·螺旋生成论·螺旋相位
坏脾气的小十七14 小时前
docker基本知识
docker·容器·eureka
小白的码BUG之路14 小时前
Docker -- 基本命令
java·docker·eureka
A.说学逗唱的Coke16 小时前
【云原生专题】Kubernetes 备份完全实战:用 Velero 搞定集群备份、恢复与跨集群迁移(附完整命令与踩坑记录)
云原生·容器·kubernetes
誰能久伴不乏1 天前
保姆级 Docker 入门教程
docker·容器·eureka
分布式存储与RustFS1 天前
模型 checkpoint 放对象存储:分片上传、断点续传与残留清理
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
分布式存储与RustFS1 天前
用RustFS给Harbor当S3存储后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准