参考:
http://www.05935.com/bc/1720368/
http://blog.csdn.net/ran5909729/article/details/51434078
centos7防火墙设置:
1)关闭防火墙
systemctl stop firewalld.service
2)禁止开机启动
systemctl disable firewalld.service
启动防火墙的方法。(但在这里不用这个方法不用默认的设置防火墙)
systemctl start firewalld.service
3)安装iptables
yum install iptables-services -y
检测系统时候安装了iptables:
iptables -V
查看防火墙状态:
service iptables status
看一下当前iptables的配置情况:
iptables -L -n
4)清除默认的防火墙规则
首先在清除前要将policy INPUT改成ACCEPT,表示接受一切请求。
这个一定要先做,不然清空后可能会悲剧
iptables -P INPUT ACCEPT
清空默认所有规则:iptables -F
清空自定义的所有规则:iptables -X
计数器置0:iptables -Z
4)配置规则
FTP端口21:iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
允许来自于lo接口的数据包,如果没有此规则,你将不能通过127.0.0.1访问本地服务,例如ping 127.0.0.1
ptables -A INPUT -i lo -j ACCEPT
只允许固定IP访问ssh端口22
iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
api的9080端口
iptables -A INPUT -p tcp --dport 9080 -j ACCEPT
允许icmp包通过,也就是允许ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
允许所有对外请求的返回包
本机对外请求相当于OUTPUT,对于返回数据包必须接收啊,这相当于INPUT了
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
如果要添加内网ip信任(接受其所有TCP请求)
iptables -A INPUT -p tcp -s 10.0.100.12 -j ACCEPT
过滤所有非以上规则的请求
iptables -P INPUT DROP
5)保存设置
service iptables save
重启
service iptables restart
添加到开机启动
chkconfig iptables on