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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论