Centos7及以上firewalld与docker冲突

iptables替换firewalld

1、关闭firewalld

systemctl stop firewalld.service
systemctl disable firewalld.service

2、安装 iptables

yum install -y iptables-services

3、修改配置

vim /etc/sysconfig/iptables
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT[0:0]
:OUTPUT ACCEPT[0:0]
-A INPUT -m state--state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

4、启动并设置开机启动

systemctl restart iptables.service
systemctl enable iptables.service

5、只允许某些IP段访问为例
仅仅允许 172.17.0.0/16 IP段ssh登录,而禁止其他所有ip登录。
最简单的命令是:

iptables -I INPUT -p tcp --dport 22 -j DROP
iptables -I INPUT -s 172.17.0.0/16 -p tcp --dport 22 -j ACCEPT

第一句 禁止了所有对22端口的入访问,第二句允许 172.17.0.0/16 的访问。
6、用 iptables -L 列出所有规则
7、更安全的命令

iptables -I INPUT -s 172.17.0.0/16 -p tcp --dport 22 -j ACCEPT
iptables -I INPUT 2 -p tcp --dport 22 -j DROP

即先执行允许访问,再显式的将禁止访问放在第二条。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论