iptables基础概念

数据包流向

        

     规则链

           

     表

         把具有相同功能的规则的集合叫做"表"
         不同功能的规则,我们可以放置在不同的表中进行管理,而iptables已经为我们定义了4种表,每种表对应了不同的功能,而我们定义的规则也都逃脱不了这4种功能的范围

        

 规则说明

       规则:根据指定的匹配条件来尝试匹配每个流经此处的报文,一旦匹配成功,则由规则后面指定的处理动作进行处理

       匹配条件

             匹配条件分为基本匹配条件与扩展匹配条件

       处理动作

            处理动作在iptables中被称为target(这样说并不准确,我们暂且这样称呼),动作也可以分为基本动作和扩展动作

        

        规则的优先级机制

             如果报文已经被前面的规则匹配到,iptables则会对报文执行对应的动作,即使后面的规则也能匹配到当前报文,很有可能也没有机会再对报文执行相应的动作了.如果报文先被第一条规则匹配到了,于是当前报文被”放行”了.因为报文已经被放行了,所以即使第二条规则即使能够匹配到刚才”放行”的报文,也没有机会再对刚才的报文进行丢弃操作了.这就是iptables的工作机制。 规则的顺序很重要

       表的优先级机制

               同一个表中的规则按照从上到下依次匹配

               不同表中的规则先匹配表的优先级,然后再按照单个表中的规则从上到下依次匹配

           

表的增删改查

       查询

             iptables -nvL INPUT --line

       添加         

             注意点:添加规则时,规则的顺序非常重要
             命令语法:iptables -t 表名 -A 链名 匹配条件 -j 动作
             示例:iptables -t filter -A INPUT -s 192.168.1.146 -j DROP

             在指定表的指定链的首部添加一条规则,-I选型表示在对应链的开头添加规则
             命令语法:iptables -t 表名 -I 链名 匹配条件 -j 动作
             示例:iptables -t filter -I INPUT -s 192.168.1.146 -j ACCEPT

             在指定表的指定链的指定位置添加一条规则
             命令语法:iptables -t 表名 -I 链名 规则序号 匹配条件 -j 动作
             示例:iptables -t filter -I INPUT 5 -s 192.168.1.146 -j REJECT

             设置指定表的指定链的默认策略(默认动作),并非添加规则
             命令语法:iptables -t 表名 -P 链名 动作
             示例:iptables -t filter -P FORWARD ACCEPT
             上例表示将filter表中FORWARD链的默认策略设置为ACCEPT

       修改

            命令语法:iptables -t 表名 -R 链名 规则序号 规则原本的匹配条件 -j 动作
            示例:iptables -t filter -R INPUT 3 -s 192.168.1.146  -j  ACCEPT

            2.先通过编号删除规则.再在原编号位置添加一条规则

       删除

          按照规则序号删除规则,删除指定表的指定链的指定规则.-D选项表示删除对应链中的规则。
          命令语法:iptables -t 表名 -D 链名 规则序号
          示例:iptables -t filter -D INPUT 3
          上述示例表示删除filter表中INPUT链中序号为3的规则

 规则策略

         iptables -t filter -A INPUT ! -s 192.168.227.154 -j ACCEPT

         

        正确的理解> 只要报文的源IP不是192.168.227.154, 那么就接收此报文
                             换句话说就是,报文的源IP不是192.168.227.154时会被接收,并不能代表报文的源IP是192.168.227.154时会被拒绝
                             当来自192.168.227.154的报文经过INPUT链时,并不能匹配上例中的规则.于是此报文就继续匹配后面的规则,可是上例中只有一条规则,这条规则后面没有其他可以匹配的规则,于是此报文就会去匹配当前链的默认动作(默认策略)

                             而上例中 INPUT链的默认动作为ACCEPT.所以,来自192.168.227.154的ping报文就被接收了.如果,把上例中INPUT链的默认策略改为DROP,那么154的报文将会被丢弃

       错误的理解> 只要报文的源IP是192.168.227.154,那么就不接收此报文

       

原文地址:https://www.cnblogs.com/yxh168/p/15565608.html