CentOS7--iptables的配置

     在红帽RHEL7系统中firewalld服务取代了iptables服务,如果我们不想用或者不习惯使用firewalld服务,请看下面的操作:


 


iptables命令中则常见的控制类型有:



  1. ACCEPT:允许通过.

  2. LOG:记录日志信息,然后传给下一条规则继续匹配.

  3. REJECT:拒绝通过,必要时会给出提示

  4. DROP:直接丢弃,不给出任何回应.


 


规则链则依据处理数据包的位置不同而进行分类:


  PREROUTING:在进行路由选择前处理数据包


  INPUT:处理入站的数据包


  OUTPUT:处理出站的数据包


  FORWARD:处理转发的数据包


  POSTROUTING:在进行路由选择后处理数据包


 


Iptables中的规则表:



CentOS7--iptables的配置


      规则表的先后顺序:raw→mangle→nat→filter


规则链的先后顺序:



入站顺序:PREROUTING→INPUT


出站顺序:OUTPUT→POSTROUTING


转发顺序:PREROUTING→FORWARD→POSTROUTING



 


 iptables的基本参数:





























































参数 作用
-P 设置默认策略:iptables -P INPUT (DROP|ACCEPT)
-F 清空规则链
-L 查看规则链
-A 在规则链的末尾加入新规则
-I num 在规则链的头部加入新规则
-D num 删除某一条规则
-s 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。
-d 匹配目标地址
-i 网卡名称 匹配从这块网卡流入的数据
-o 网卡名称 匹配从这块网卡流出的数据
-p 匹配协议,如tcp,udp,icmp
--dport num 匹配目标端口号
--sport num 匹配来源端口号

 实例:iptables的filter的配置:


--关闭firewall:


[root@localhost ~]# systemctl stop firewalld.service            #停止firewall
[root@localhost ~]# systemctl disable firewalld.service        #禁止firewall开机启动


--安装安装iptables防火墙


[root@localhost ~]# yum install iptables-services            #安装


--清空已有的规则



iptables -F
iptables
-X
iptables
-Z


--配置允许SSH登陆端口进入



iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT


--允许所有的ping操作



iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT


--允许本机lo通信



iptables -A INPUT -i lo -j ACCEPT
iptables
-A OUTPUT -o lo -j ACCEPT


--设置默认的访问规则



iptables -P INPUT DROP
iptables
-P FORWARD DROP
iptables
-P OUTPUT ACCEPT


--允许关联的状态包通过



iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


--开放特定的端口,以80为例



iptables -A INPUT -p tcp --dport 80 -j ACCEP


 --保存配置



service iptables save


--重启



systemctl restart iptables.service


--设置开机自启动



 systemctl enable iptables.service 


 


 附录:


如果想使用系统默认的firewalld服务,请参考:



CentOS7--Firewalld防火墙

 


 


 


 

0 个评论

要回复文章请先登录注册