docker firewalld 防火墙设置方式
作者:水彩橘子
在CentOS7中,Docker默认修改防火墙配置,可能导致手动添加的策略失效,解决方法包括启用firewalld,禁用Docker的iptables,并重新配置防火墙策略,具体步骤包括编辑/etc/docker/daemon.json文件,重启Docker服务,以及在firewalld中设置伪装地址和端口策略
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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。