iptables设置防火墙规则

防伪码:学而不思则罔,思而不学则殆!

前言:大家都知道Michael Rash这个人吧!世界级的安全技术专家,以防火墙、***检测系统等方面的造诣享誉安全界。所以可以看出防火墙的重要性!下面为大家说一下防火墙策略的使用!


理论知识:

1. Linux防火墙:

    netfiler :位于linux内核中的包过滤功能体系。

                称为linux防火墙的“内核态”

    iptables :位于/sbin/iptables,用来管理防火墙规则的工具

                称为linux防火墙的“用户态”

 2.   包过滤的工作层次:

        主要是网络层,针对ip数据包

        体现在对包内的ip地址、端口等信息的处理上

3、  iptables的表、链的结构

        raw表:PREROUTING链、OUTPUT链

        mangle表:PREROUTING链、POSTROUTING链、INPUT链、OUTPUT链、FORWARD链

        nat表:PREROUTING链、POSTROUTING链、OUTPUT链、

        filter表:INPUT链、OUTPUT链、FORWARD链

4.   规则链:

        规则的作用:对数据包进行过滤或处理

        链的作用:容纳各种防火墙规则

        链的分类依据:处理数据包的不同时机

5.  五种规则链:

         默认包括5种规则链

           INPUT:处理入站数据包

           OUTPUT:处理出站数据包

           FORWARD:处理转发数据包

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

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

6.   规则表:

         表的作用:容纳各种规则链

         表的划分依据:防火墙规则的作用相似

      默认包括4个规则表

          raw表:确定是否对该数据包进行状态跟踪

          mangle表:为数据包设置标记

          nat表:修改数据包中的源、目的ip地址或端口

          filter表:确认是否放行该数据包(过滤)

7.   规则表之间的顺序

          raw、mangle、nat、filter

8.   规则链之间的顺序

          入站:PREROUTING、INPUT 

          出站:OUTPUT、POSTROUTING

          转发:PREROUTING、FORWARD、POSTROUTING

9. 规则链内的匹配顺序:

          按顺序依次检查,匹配即停止(log策略例外)

          若找不到相匹配的规则,则按该链的默认策略处理

10、.匹配流程图:

      iptables设置防火墙规则_第1张图片 








一般raw和mangle表很少使用

及匹配后的流程图如下:

iptables设置防火墙规则_第2张图片

11、注意事项:

        不指定表时,默认指filter表

        不指定链名时,默认指表内的所有链

        除非设置链的默认策略,否则必须指定匹配条件

        选项、链名、控制类型使用大写字母,其余均为小写


如何设置防火墙规则呢?下面我们来学习一下如何设置防火墙策略!

一、COMMAND

1、列出所有链的规则:iptables -L ,显示某条链的规则就是iptables -L INPUT

iptables设置防火墙规则_第3张图片

更加详细的查询防火墙设置的规则:iptables -vnL 

iptables设置防火墙规则_第4张图片

那么我们应该如何清除所有链的规则:iptables -F ,清楚完毕后,我们用iptables -L 可以看到之前的规则已全部被清除。

iptables设置防火墙规则_第5张图片

设置默认规则策略:(我要拒绝所有的数据包),上一步我们使用-F 清理了所有的规则,设置了拒绝所有数据包的规则之后,我们使用-L 查看到防火墙状态全部为DROP。

iptables设置防火墙规则_第6张图片

PS:如果要是想要远程连接,首先需要改成 iptables -P INPUT ACCEPT 

下面让我们来添加一些规则,

添加防火墙规则,在INPUT链上添加,协议为tcp,目的端口为21和22:

iptables设置防火墙规则_第7张图片

iptables设置防火墙规则_第8张图片

插入规则,在INPUT链上,端口号23,设置规则号为1

iptables设置防火墙规则_第9张图片

替换规则,在INPUT链上替换规则号为1的规则,将端口替换为24

iptables设置防火墙规则_第10张图片

删除规则,在input链上删除规则号为1的规则

iptables设置防火墙规则_第11张图片

二、match:基本规则匹配

指定协议:

iptables设置防火墙规则_第12张图片

指定icmp类型,设置规则

iptables设置防火墙规则_第13张图片

指定ip地址,设置规则

iptables设置防火墙规则_第14张图片

指定网络接口,设置规则

iptables设置防火墙规则_第15张图片

指定端口号,设置规则

iptables设置防火墙规则_第16张图片

三、match 扩展规则匹配

limit:限制速率

iptables设置防火墙规则_第17张图片

iprange :针对一整段连续的ip设置防火墙某种策略

iptables设置防火墙规则_第18张图片

time指定某个时间范围内设置防火墙策略

iptables设置防火墙规则_第19张图片

multiport 针对多个端口设置防火墙策略

iptables设置防火墙规则_第20张图片

string:可以对某个报文中的字符串做匹配检查,比如一些敏感词汇等

iptables设置防火墙规则_第21张图片

state 可以根据“连接追踪机制”去检查连接的状态情况

wKiom1hrPhuhni1KAAAgOd9oWzw863.png-wh_50

iptables设置防火墙规则_第22张图片

以上iptables防火墙的一些简单实用,希望大家都可以学会!如有新的规则,我会为大家继续更新!