Linux 学习笔记---Iptables防火墙

来源:互联网 发布:买卖淘宝店铺如何量刑 编辑:程序博客网 时间:2024/05/17 21:50

Iptables防火墙学习笔记


        IPTables包在ubuntu包管理器中的描述:数据包过滤和网络地址转换(NAT)管理工具。是Linux内核中netfilter(./net/netfilter/*)

iptables的用户空间管理工具(区别于内核空间的模块和功能,用户空间的iptables软件包只是一个管理工具)。netfilter和iptables

提供了有状态和无状态软件包过滤、网络和端口地址转换和其他IP数据包操作的框架。这个框架的前身是 ipchains。

        netfilter和iptables被用于共享网络连接、防火墙、IP统计、透明代理、高级路由和传输控制等。



一、iptables的原理及工作流程:

原理:

        iptables的结构:iptables-->tables-->chains-->rules.

        1).tables:存放的是各种内置的或者用户定义的链。iptables存在多种不同的table。

        2).chains:包含各种规则,用来匹配数据包。同时指定了对数据包做如何的处理,即若匹配成功,就交给target处理。

        3).target:若数据包匹配成功,就交给由target所决定的下一条rule去处理。


iptables默认有四个(表,也就是功能):

        过滤表(Filter)、网络地址转换表(NAT)、数据包修改表(Mangle)、Raw表

        表的优先级:raw-->Mangle-->NAT-->Filter

iptables的五个(chain,链也叫过滤点):
        INPUT:                    通过路由表后目的地为本机

        FORWARD:           通过路由表后,目的地不为本机

        OUTPUT:               由本机产生,向外转发

        PREROUTING:     数据包进入路由表之前

        POSTROUTING:  发送到网卡接口之前      


        用户通过iptables命令来管理netfilter模块。iptables通过规则对数据进行访问控制,一个规则占一行,规则按顺序排列。每个

数据包按规则顺序依次匹配,若有匹配的,则立即执行该规则指定的动作(允许、丢弃)。


工作流程:





二、iptables的常用命令:


    列出现有iptables规则:iptables -L

    删除所有iptables规则:iptables -F

    插入一个iptables规则:iptables -I   INPUT 3 -p tcp --dport 80 -s 192.168.1.0/24 -j DROP

    删除一个iptables规则:iptables -D INPUT 3

                                              iptables -D INPUT    -p tcp  --dport 80 -s 192.168.1.0/24 -j DROP


    配置一个NAT伪装:iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    iptables规则保存在配置文件(RHEL6):/etc/sysconfig/iptables

    将当前iptables配置保存到配置文件中:service iptables save



三、iptables简单配置的例子:













参考:

        (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?                          http://blog.chinaunix.net/uid-23069658-id-3160506.html

        (二)洞悉linux下的Netfilter&iptables:内核中的ip_tables小觑                 http://blog.chinaunix.net/uid-23069658-id-3162264.html

        (三)洞悉linux下的Netfilter&iptables:内核中的rule,match和target       http://blog.chinaunix.net/uid-23069658-id-3163999.html

        (四)洞悉linux下的Netfilter&iptables:包过滤子系统iptable_filter            http://blog.chinaunix.net/uid-23069658-id-3166140.html

        (五)洞悉linux下的Netfilter&iptables:如何理解连接跟踪机制?【上】   http://blog.chinaunix.net/uid-23069658-id-3169450.html

        (六)洞悉linux下的Netfilter&iptables:如何理解连接跟踪机制?【中】   http://blog.chinaunix.net/uid-23069658-id-3173360.html

        (七)洞悉linux下的Netfilter&iptables:如何理解连接跟踪机制?【下】   http://blog.chinaunix.net/uid-23069658-id-3175235.html

        (八)洞悉linux下的Netfilter&iptables:状态防火墙                                   http://blog.chinaunix.net/uid-23069658-id-3188216.html

        (九)洞悉linux下的Netfilter&iptables:网络地址转换原理之DNAT             http://blog.chinaunix.net/uid-23069658-id-3210931.html

        (十)洞悉linux下的Netfilter&iptables:网络地址转换原理之SNAT             http://blog.chinaunix.net/uid-23069658-id-3211992.html



        Iptables入门教程:http://drops.wooyun.org/tips/1424

        Iptables维基百科:http://zh.wikipedia.org/wiki/Iptables

        IptablesHowTo:http://wiki.ubuntu.org.cn/IptablesHowTo

        Iptables里的四表五链:http://blog.chinaunix.net/uid-7411781-id-3436224.html

          Iptables官方手册整理:http://symphony.b3log.org/article/1363584956910



注:

      

0 0