Centos7配置iptables规则
iptables,是Linux下自带的一款免费的基于包过滤的防火墙工具,可以对流入、流出、流经服务的数据包进行精细的控制,而在centos7中将iptables给取消掉了,我们需要自行安装,下面介绍iptables的安装及使用。
一、安装iptables
1、查看iptables是否安装
命令:systemctl status iptables
2、安装iptables
命令:yum -y install iptables-services
查看安装是否成功
3、关闭selinux与firewalld
关闭selinux,不关闭时,iptables不读取配置文件
centos7中默认的防火墙是firewalld,使用iptables需要先关闭firewalld防火墙
关闭selinux
#查看selinux [root@serverD ~]# getenforce Permissive #临时关闭selinux [root@serverD ~]# setenforce 0
命令:vim /etc/selinux/config 修改完成后需要重启才能生效
关闭firewalld并关闭开机自启
#关闭防火墙
systemctl stop firewalld
#关闭开机自启
systemctl disable firewalld
#查看防火墙状态
systemctl status firewalld
二、命令
1、iptables的命令
systemctl start iptables #启动
systemctl status iptables #查看状态
systemctl enable iptables #设置开机自启
2、iptables常用命令
iptables -h #查询帮助
iptables -L -n #
iptables -F #清除所有规则
三、语法
INPUT:过滤进入主机的数据包
OUTPUT:处理从本机出去的数据包
FORWARD:负责转发流经本机但不进入本机的数据包,起到转发作用
-A:追加到规则的最后一条
-D:删除记录
-I:添加到规则的第一条
-p:规定通信协议,常用协议:tcp、udp、icmp、all
-j:指定跳转的目标,常见的目标:ACCEPT(接收数据包)、DROP(丢弃数据包)、REJECT(重定向,一般不使用会带来安全隐患)
四、案例
1、ip过滤
禁止192.168.200.113 IP地址的所有类型数据接入
iptables -A INPUT ! -s 192.168.200.113 -j DROP
2、开发端口
iptables -A INPUT -P TCP --dport 80 -j ACCEPT #开发80端口
3、开发端口范围
iptables -I INPUT -p tcp --dport 22:80 -j ACCEPT #开放22-80范围的端口
4、不允许80端口流出
iptables -I OUTPUT -p tcp --dport 80 -j DROP
5、配置配置文件
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
修改配置文件并重启