Linux中的堡垒--iptables

iptables的构成(四表五链)
    表
        filter:过滤数据包
        nat :转换数据包的源或目标地址
        mangle:用来mangle包,改变包的属性
        raw:用来不让iptables做数据包的链接跟踪处理,主要是提高性能

     *优先级:raw>mangle>nat>filter(请注意优先级)
   

    链
        INPUT:对进入主机的数据包进行修改
        OUPTUT:从主机向外发送的数据包进行修改
        FORWARD:转发的数据包,路由判断后最后一次更改包的源地址前对数据包进行修改
        PREROUTING:数据包进入防火墙后,路由判断之前对数据包进行修改
        POSTROUTING:路由判断后对数据包进行修改
iptables的基本操作       
一、管理防火墙
        启动
            # service iptables start
            # chkconfig --level 2345 iptables on
            管理程序:/etc/init.d/iptables
        关闭
            # service iptables stop
            # chkconfig iptables off
        保存防火墙规则
            # service iptables save
            规则保存位置:/etc/sysconfig/iptables

iptables 命令格式: iptables [-t 表名] 选项 规则

二、防火墙规则管理
        1)显示防火墙中的规则
            -L:显示防火墙中的规则列表
            -n:不将规则反解成服务名称(以数字)
            --line:显示规则编号
            -v:显示规则详细信息
            【在关闭的情况下,是看不到防火中的规则的】
        2)删除规则
            -D #:删除指定编号的规则
            -F:清空规则
           
                例子:删除filter表的INPUT链的第三个规则
                    # iptables -t filter -D INPUT 3
                例子:删除filter表的INPUT链的全部规则
                    # iptables -t filter -F INPUT
                例子:删除filter表的全部规则   
                    # iptables -t filter -F
        3)保存规则
            # service iptables save
            【执行保存规则操作的时候,会将内存中的规则刷新磁盘上/etc/sysconfig/iptables】 
        4)清空防火墙的计时器
            -Z: 清空规则计时器
            例子:清空filter的全部计数器
                    # iptables -t filter -Z
        5)添加
            -A: 在最后一条规则后,添加新规则
            -I:在指定的位置前插入规则。如果不指定位置,是插入在第一条
            -R:替换指定编号的规则
           
            -j 动作:指定一个数据包匹配到这个规则后所执行的操作
                动作:
                    ACCEPT:放行
                    DROP:丢弃
                   
            匹配条件:
                -d xxx:指定数据包中的目的IP
                -s xxx:指定数据包中的源的IP
                --sport xx:指定指定数据包中的源端口
                --dport xx:指定数据包中的目的端口
                -p xx:指定协议类型
           
            例子:禁止192.168.6.222链接当前主机的tcp 22端口
                # iptables -t filter -A INPUT -p tcp --dport 22 -j DROP
           
        6)修改默认规则
            -P: 修改链的默认规则
            修改默认规则为DROP前,必须首先放行22端口
             
练习:
            1、清空防火墙的规则
                # iptables -t filtler -F
                # iptables -t nat -F
                # iptalbes -t mangle -F
                # iptables -t raw -F
            2、清空计数器
                # iptables -t filtler -Z
                # iptables -t nat -Z
                # iptalbes -t mangle -Z
                # iptables -t raw -Z       
            3、保存规则
                # service iptables save
       
            4、配置规则实现只允许自己的window链接linux主机
                # iptables -A INPUT -s x.x.x.x -p tcp --dport 22 -j ACCEPT
                # iptables -A OUTPUT -d x.x.x.x -p tcp --sport 22 -j ACCEPT
            5、修改默认规则为DROP
                # iptables -P INPUT DROP
                # iptables -P OUTPUT DROP
                # service iptables save
            6、禁止外部主机ping linux,但是linux可以ping外部主机
                # iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
                # iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
            7、允许任意主机访问linux的80端口
                # iptables -A INPUT -p tcp --dport 80 -j ACCEPT
                # iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
            8、保存规则
                # service iptables save 

PS:还望指正,谢谢 –author by :潇湘雨错,zxhk

posted @ 2016-06-08 12:58  潇湘雨错  阅读(304)  评论(0编辑  收藏  举报