iptables命令使用基础(02)

简介:

一.iptables命令

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

        匹配条件:分为基本匹配条件和扩展匹配条件,扩展匹配条件又分为隐式扩展和显式扩展;

            基本匹配条件:源地址,目标地址,传输协议;

            扩展匹配条件:需要借助于扩展模块进行指定的匹配条件;

                隐式扩展:已经在基本匹配条件中指明的协议相关的扩展;

                显式扩展:隐式扩展之外的其它扩展匹配条件;

        处理动作:分为基本动作和扩展动作;

            基本动作:ACCEPT,DROP,REJECT

            扩展动作:需要借助于扩展模块进行,但无须显式指定,仅需指明动作;


二.添加规则需要思考的问题

    (1) 报文流经的位置:用于判断将规则添加至哪个链;

    (2) 实现的功能:用于判断将规则添加至哪个表;

    (3) 报文的方向:用于判断哪个为“源”,哪个为“目标”;

    (4) 匹配条件:用于编写能够正确匹配目标报文的规则;


三.iptables命令使用格式

        iples [-t table] {-A|-C|-D} chain rule-specification


       ip6tables [-t table] {-A|-C|-D} chain rule-specification


       iptables [-t table] -I chain [rulenum] rule-specification


       iptables [-t table] -R chain rulenum rule-specification


       iptables [-t table] -D chain rulenum


       iptables [-t table] -S [chain [rulenum]]


       iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]


       iptables [-t table] -N chain


       iptables [-t table] -X [chain]


       iptables [-t table] -P chain target


       iptables [-t table] -E old-chain-name new-chain-name


       rule-specification = [matches...] [target]


       match = -m matchname [per-match-options]


       target = -j targetname [per-target-options]tab


    规则管理格式:iptables [-t table] COMMAND chain creteria [-m -m matchname[per-match-options]]  [-j targetname[per-target-options]]


    -t table:指明要管理的表;默认为filter;


    COMMANDS:

        链管理:

1
2
3
4
5
6
7
8
9
10
11
      -P:iptables [-t table] -P chain target,定义链的默认策略;其target一般可使用ACCEPT或DROP;
      
      -N:iptables [-t table] -N chain,自定义规则链;仅在默认链通过某规则进行调用方可生效;因此,每个自定义链都有其引用记数;
      
      -X:iptables [-t table] -X [chain],删除自定义并且是空的引用计数为0的链;
      
      -F:iptables [-t table] -F [chain [rulenum]] [options...],清空指定的链,或删除指定链上的规则;
      
      -E:iptables [-t table] -E old-chain-name new-chain-name,重命名自定义的引用计数为0的链;
      
      -Z:iptables [-t table] -Z  [chain[rulenum]] [options...],将规则计数器置0;


        规则      

1
2
3
4
5
6
7
      -A:append, iptables [-t table] -A chain rule-specification,追加规则到指定的链尾部;
      
      -I:insert, iptables [-t table] -I chain [rulenum] rule-specification,插入规则到指定的链中的指定位置,默认为链首;
      
      -D:delete,iptables [-t table] -D chainrule-specification或iptables [-t table] -D chain rulenum,删除指定的链上的指定规则;
      
      -R:replace,iptables [-t table] -R chain rulenumrule-specification,将指定的链上的指定规则替换为新的规则;


        查看:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
         -L:list, iptables [-t table] -L [chain [rulenum]] [options...]
                 -n:数字格式;
                 - v :verbose,详细格式信息;
                         -vv、-vvv,更详细格式信息
                    --line-numbers:显示链上的规则的编号;
                    -x:exactly,显示计数器的精确值; 
     显示出的结果有这么几个含义:
      pkts bytes target     prot opt  in      out      source                destination
         pkts:被本规则所匹配到的的报文个数;
         bytes:被本规则所匹配到的报文的大小之和;
         target:处理目标(目标可以为用户自定义的链);
         prot:协议{tcp,udp,icmp}
         opt:可选项
         in :数据包流入接口        
         out:数据包流出接口
         source :源地址
         destination:目标地址



四.计数器

    每条规则以及链的默认策略分别有各自的两个计数器:

        (1) pkts:被本规则所匹配到的的报文个数;

       (2) bytes:被本规则所匹配到的报文的大小之和;


五:保存及重载规则

    centos6:

        保存

            (1) service iptables save

                /etc/sysconfig/iptables文件;

            (2) iptables-save > /PATH/TO/SOMEFILE

        重载

            (1) service iptables restart

            (2) iptables-restore < /PATH/FROM/SOMEFILE


    centos7:引入了新的iptables前端管理服务工具firewalld

        firewalld通过前端管理工具:firewalld-cmd和firewalld-config,其功能更强大更完善,因此其规则会更复杂,为了保持了centos6上同样使用iptables来管理规则,先需要在centos7上关掉和禁用firewalld服务,方法如下:

        (1) systemctl stop firewalld.service

        (2) systemctl disable firewalld.service

            

        



          

      本文转自wzcLINUXER  51CTO博客,原文链接:http://blog.51cto.com/yacheng0316/1889979,如需转载请自行联系原作者








相关文章
|
网络协议 算法 Linux
iptables 常用命令
使用 -t 选项指定了要操作的表,此处指定了操作 filter 表,与之前的查看命令一样,不使用-t 选项指定表时,默认为操作 filter 表。 使用-I 选项,指明将”规则”插入至哪个链中,-I 表示 insert,即插入的意思,所以-I INPUT 表示将规则插入于 INPUT 链中,即添加规则之意。 使用-s 选项,指明”匹配条件”中的”源地址”,即如果报文的源地址属于-s 对应的地址,那么报文则满足匹配条件,-s 为 source 之意,表示源地址。
|
网络协议 安全 开发者
iptables 命令使用 | 学习笔记
快速学习iptables 命令使用
iptables 命令使用 | 学习笔记
|
网络协议 Linux Shell
|
网络协议 关系型数据库 网络安全