centos

CentOS Overlay配置中如何设置防火墙规则

小樊
38
2025-09-28 16:55:18
栏目: 智能运维

在CentOS系统中,使用Overlay网络时,可能需要配置防火墙规则以允许容器之间的通信。以下是一些基本的步骤和示例,展示如何在CentOS中配置防火墙规则以支持Overlay网络。

1. 安装必要的软件包

确保你已经安装了firewallddocker(或containerd)。

sudo yum install firewalld docker

2. 启动并启用firewalld服务

sudo systemctl start firewalld
sudo systemctl enable firewalld

3. 配置firewalld以允许Overlay网络流量

Overlay网络通常使用VXLAN或GRE协议。以下是配置示例:

使用VXLAN

假设你的Overlay网络使用VXLAN,端口为4789。

sudo firewall-cmd --permanent --zone=trusted --add-port=4789/udp
sudo firewall-cmd --permanent --zone=trusted --add-source=<overlay-network-ip>/24
sudo firewall-cmd --reload

使用GRE

假设你的Overlay网络使用GRE,端口为4789。

sudo firewall-cmd --permanent --zone=trusted --add-port=4789/udp
sudo firewall-cmd --permanent --zone=trusted --add-source=<overlay-network-ip>/24
sudo firewall-cmd --reload

4. 配置Docker网络

确保Docker网络配置正确,并且容器之间的通信不受防火墙限制。

sudo systemctl restart docker

5. 验证防火墙规则

使用以下命令验证防火墙规则是否已正确应用:

sudo firewall-cmd --list-all

你应该能看到类似以下的输出,表明端口4789已被允许:

trusted (active)
  target: default
  icmp-block-inversion: no
  interfaces: lo
  sources: <overlay-network-ip>/24
  services: dhcpv6-client ssh
  ports: 4789/udp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

6. 测试Overlay网络连接

启动一些容器并测试它们之间的连接,确保防火墙规则没有阻止通信。

docker run -dit --name container1 --network=overlay_network nginx
docker run -dit --name container2 --network=overlay_network nginx

container1中尝试ping container2

docker exec -it container1 ping container2

如果一切配置正确,你应该能看到ping请求成功。

总结

通过以上步骤,你可以在CentOS系统中配置防火墙规则以支持Overlay网络。确保根据你的具体需求调整IP地址和端口配置。

0
看了该问题的人还看了