在CentOS系統中,使用Overlay網絡時,可能需要配置防火墻規則以允許容器之間的通信。以下是一些基本的步驟和示例,展示如何在CentOS中配置防火墻規則以支持Overlay網絡。
確保你已經安裝了firewalld
和docker
(或containerd
)。
sudo yum install firewalld docker
sudo systemctl start firewalld
sudo systemctl enable firewalld
Overlay網絡通常使用VXLAN或GRE協議。以下是配置示例:
假設你的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
假設你的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
確保Docker網絡配置正確,并且容器之間的通信不受防火墻限制。
sudo systemctl restart docker
使用以下命令驗證防火墻規則是否已正確應用:
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:
啟動一些容器并測試它們之間的連接,確保防火墻規則沒有阻止通信。
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地址和端口配置。