iptables基础知识详解-创新互联

iptables被称为数据包过滤器,只能检查数据链路层,IP层以及传输层的协议

网站的建设创新互联公司专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为成都混凝土泵车等企业提供专业服务。

    iptables有五个内置链:

                PREROUTING:路由钱(不能做过滤)

                INPUT:报文转发到本机

                FORWARD:报文转发输出到其它机器

                OUTPUT:经由本机进程转发

                POSTROUTING:路由决策发生以后

    iptables的功能:

                filter:过滤,防火墙

                nat:用于修改源IP或目标IP,也可以修改端口;

                mangle:拆解报文,作出修改后,并重新封装起来;

                raw:关闭nat表上启用的连接追踪机制

   功能<-->链的对应关系:

                功能只能应用到那些链上面

                 raw:PREROUTING,OUTPUT

                mangle:PREOUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

                  nat:PREROUTING,{Centos 7 INPUT}OUTPUT,POSTROUTING

                  filter:INPUT,FORWARD,OUTPUT

    报文流向:

            流入本机:PREROUTING-->INPUT

            由本机流出:OUTPUT-->POSTROUTING

            转发:PREROUTING-->FORWARD-->POSTROUTING

iptables(管理工具,命令行配置)/netfilter(内核模块,具体功能它来实现)

        组成部分:根据规则匹配条件来尝试匹配报文,一旦匹配成功,就有规则定义的处理动作做出处理;

      匹配条件:

                基本匹配条件

                扩展匹配条件

        处理动作:

                基本处理动作

                扩展处理动作

                自定义处理动作

        添加过则的考量点:

                (1)要实现那种功能:判断添加到哪个表上;

                (2)报文流经的路径:判断添加到哪个链上;

                    链:链上 的规则次序,即为检查的次序;因此,隐含一定的应用法则;

                        (1)同类规则(访问同一应用),匹配范围小的放上面;

                 (2)不同类的规则(访问不同应用),匹配到报文频率较大的放上面;

                  (3)将那些可由一条规则描述的多个规则合并起来;

                 (4)设置默认策略;

     iptables规则格式:

                            iptables [-t table] COMMAND chain [-m matchname [per-match-options]] -j targetname[per-target-options]

                              -t  table: 不加-t选项的默认为filter

                                            raw,mangle,nat,filter


    COMMAND:

              链管理:

                  -N:new,自定义一条新的规则链;

                  -X:delete,删除自定义的规则链;

                  -P:Policy,设置默认策略;对filter表中的链而言,其默认策略有;

                      ACCEPT:接受

                      DROP:丢弃

                      REJECt:拒绝

                  -E:重命名自定义链;引用计数不为0的自定义链不能够被重命名,也不能被删除;

               规则管理:

                   -A:append,追加;

                   -I:Insert,插入,要指明位置,省略时表示第一条;

                  -D:delete,删除;

                     (1)指明规则序号;

                     (2)指明规则本身;

                   -R:replace,替换指定的规则链;

                   -F:flush,清空指定的规则链;

                   -Z:zero,置零;

               iptables的每条规则都有两个计数器;

                      (1)匹配到的报文的个数;

                     (2)匹配到的所有报文的大小之和;

               查看:

                   -L:list,列出指定链上的所有规则;

                   -n --line-numbers,以数字格式显示地址和端口号;

                   -v:verbose,详细信息

                   -x:exactly,显示计数器结果的精确值;

      chain:

            PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

    匹配条件:

            基本匹配条件:无需加载任何模块,由iptables/netfilter自行提供;

            [!]-s,--source address[/mask][,...]:检查报文中的源IP地址是否符合此处理的地址或范围

            [!]-d,--destination address[/mask][,...]:检查报文中的目标IP地址是否符合此处指定的地址范围;

            [!]-p,--protocol protocol

                 protocol:tcp,udp,icmp

            [!]-i,--in-interface name:数据报文流入的接口;只能应用于数据报文流入的缓解,只能应用于PREROUTING,INPUT和FORWARD链;

            [!]-o,--out-Interface name:数据报文流出的接口;只能应用于数据报文流出的环节,只能

            扩展匹配条件:需要加载扩展模块,方可生效;

            隐式扩展:不需要手动加载扩展模块;因为他们是对协议的扩展,所以,但凡使用-p指明了协议,就表示已经指明的要扩展的模块;

             tcp:

            [!]--source-port,--sport port[:port]:匹配报文的源端口;可以是端口范围;

            [!]--destination-port,--dport port[:port]:匹配报文的目标端口;可以是端口范围;

            [!]--tcp-flage mask comp

            例如:“--tcp-flagsSYN,ACK,FIN,RST SYN”表示,要检查的标志位为SYN,ACK,FIN,RST四个,其中SYN必须为1,余下的必须为0;

            [!]--syn:用于第一次握手,相当于“--tcp-flagsSYN,ACK,FIN,RST SYN”;

            udp:

            [!]--source-port,--sport port[:port]:匹配报文的源端口;可以是端口范围;

            [!]--destination-port --dport port[:port]:匹配报文的目标端口;可以是端口范围;

            icmp:

            [!]--icmp-type {type[/code]|typename}

               echo-requesr:8 请求

               echo-reply:0:响应

            显示扩展:必须要手动加载扩展模块,[-m matchname [per-match-options]];

                                     显示扩展将在下一小结用具体示例详解


            处理动作:

                -j targetname

                ACCEPT

                DROP

                REJECT

防火墙(服务)

       Centos 6:

          sevice iptables {start|stop|restart|status}

                start:读取事先保存的规则,并应用到netfilter上;

                stop:清空netfilter上的规则,以及还原默认策略等;

                status:显示生效的规则

                restart:清空netfilter上的规则,再读取事先保存的规则,并应用到netfilter上;

       Centos 7:

          systemctl start|stop|restart|status firewalld.service

                systemctl  disabled firewalld.server

                systemctl   stop firewalld.service

防火墙基本配置命令:

          查看iptables规则链命令

              iptables -t filter -L -n --line-numbers -v

          清空规则链

              iptables -t filter -F

          清空自定义规则链

              iptables -t filter -X

          现在我们设置192.168.32.144(本机)拒绝192.168.32.145主机所有的访问

               iptables -t filter -A INPUT -s 192.168.32.145 -d 192.168.32.144 -j DROP

          删除这一条规则则

               iptables -t filter -D INPUT 1

           修改上述规则链只限制192.168.32.145对本机的icmp协议

               iptables -t filter -R INPUT 1 -s 192.168.32.145 -d 192.169.32.144 -p icmp -j REJECT

               iptables -A INPUT -s 192.168.32.145 -d 192.168.32.144 -p icmp -j REJECT

           在本机流入接口做限制192.168.32.145的icmp协议访问

                iptables -A INPUT -s 192.168.32.145 -d 192.168.32.144 -p icmp -o eno16777736 -j DROP

           限制192.168.32.145主机使用ssh访问192.168.32.144

               iptables -t filter -A INPUT -s 192.168.32.145 -d 192.168.32.144 -p tcp --dport 22 -j DROP

                限制其它主机ping本主机,但是不限制本主机ping其它主机

               iptables -A INPUT -d 192.168.32.144 -p icmp --icmp-type 8 -j DROP

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站标题:iptables基础知识详解-创新互联
标题链接:http://scyanting.com/article/dgieie.html