1、环境
 centos 7
 firewalld
 docker-ce
 docker 默认会更改防护墙配置 导致添加的防火墙策略不生效,可以启用firewalld 重新设置策略
 2、启用防火墙
systemctl start firewalld
systemctl enable firewalld
 
3、配置文件禁用docker 的iptables
/etc/docker/daemon.json
{
"iptables": false
}
 
重启docker
systemctl restart docker
 
4、配置防火墙策略
 配置伪装地址
firewall-cmd --zone=public --add-masquerade --permanent
 
将docker 接口导入 trusted区
firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --add-interface=br-xxxx
 

 将对外网口接入public
firewall-cmd --permanent --zone=public --add-interface=ens192
 
然后在在public zone 加入docker 映射的端口策略
firewall-cmd --permanent --zone=public --add-port=8080/tcp
 
重启防火墙和docker
firewall-cmd --reload
systemctl restart firewalld
systemctl restart docker










