问题 :Centos7 下 Docker 的端口映射,导致端口绕过防火墙,对外全部开放
解决方法:
操作步骤 一
yum install iptables-services
操作步骤二
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
service docker restart
service iptables save
注: iptables 重启之后丢失配置
进行以下操作可以解决
# vim /etc/docker/daemon.json
{
"iptables": false
}
sudo service docker restart
sudo service iptables restart
sudo service docker restart
操作步骤三
运行 iptables -L DOCKER -n --line-number
查看 80、22端口对应的ID
iptables -A DOCKER -p tcp -m tcp -s 0.0.0.0/0 --dport 80 -j ACCEPT
iptables -A DOCKER -p tcp -m tcp -s 0.0.0.0/0 --dport 22 -j ACCEPT
iptables -R DOCKER id -p tcp -m tcp -s IP/MASK --dport 80 -j DROP
iptables -R DOCKER id -p tcp -m tcp -s IP/MASK --dport 22 -j DROP