在CentOS系统中,Docker默认使用firewalld
作为防火墙管理工具。要配置Docker的防火墙规则,你需要遵循以下步骤:
确保firewalld正在运行:
首先,确保你的系统上已经安装并启用了firewalld
服务。你可以使用以下命令检查其状态:
sudo systemctl status firewalld
如果它没有运行,你可以使用以下命令启动它:
sudo systemctl start firewalld
允许Docker守护进程通信:
默认情况下,firewalld
会允许Docker守护进程的通信。但是,如果你更改了Docker的默认端口或需要添加额外的规则,你可以使用以下命令:
sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0
这将允许Docker守护进程通过docker0
接口进行通信。
添加自定义规则:
如果你需要为Docker容器添加特定的防火墙规则,你可以使用firewall-cmd
命令。例如,如果你想允许来自特定IP地址的流量访问Docker容器,你可以这样做:
sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.1.100
这将允许IP地址192.168.1.100
访问trusted
区域中的所有服务。
重新加载防火墙配置:
在添加或修改了防火墙规则后,你需要重新加载firewalld
配置以使更改生效:
sudo firewall-cmd --reload
检查规则: 你可以使用以下命令查看当前的防火墙规则:
sudo firewall-cmd --list-all
或者查看特定区域的规则:
sudo firewall-cmd --zone=trusted --list-all
请注意,这些步骤适用于CentOS 7和CentOS 8,因为它们都使用firewalld
作为默认的防火墙管理工具。如果你使用的是其他防火墙工具,如iptables
,则需要使用不同的命令来配置规则。