linux----iptables(1)

iptables只是Linux防火墙的管理工具。实现防火墙功能的是netfilter,是内核中数据包处理模块;
功能:
    网络地址转换NAT
    数据包内容修改
    数据包过滤等

四表:
    filter表:负责包过滤功能,防火墙。
    nat表:用于网络地址转换(IP、PORT)
    mangle表:修改数据包的服务类型、TTL、并配置路由实现QOS
    raw表:决定数据包是否被状态跟踪机制处理

五链:
    PREROUTING:对数据包作路由选择前应用此链中的规则(所有的数据包进来的时候优先匹配)
    INPUT:进来的数据包应用此规则链中的规则
    FORWARD:转发数据包时应用此规则链中的规则
    OUTPUT:外出的数据包时应用此规则链中的规则
    POSTROUTING:对数据包作路由选择后应用此链中的规则(所有数据包出去的时候优先匹配)

表链关系:
    配置iptables时,通常以表为入口,对规则进行定义。
    表 <<-->> 链
    filter:INPUT、FORWARD、OUTPUT
    nat:PREROUTING、OUTPUT、POSTROUTING(centos7中有INPUT,centos6没有)
    mangle:PREROUTING、INPUT、FORWARD
    raw:PREROUTING、OUTPUT

优先级:
    当链处于多张表的时候执行优先级:
    由高到底:raw -->> mangle -->> nat -->> filter
    #只有OUTPUT可以同时处于4张表。


规则:
    根据制定的匹配条件来尝试匹配每个报文,匹配成功,由处理动作处理。
    匹配条件:
        源地址source IP、目的地址destination IP、源端口source Port、目的端口destination Port
    处理动作:
        ACCEPT:允许数据包通过
        DROP:直接丢弃数据包,不给任何回应信息
        REJECT:拒绝数据包通过,必要时会给数据发送端一个响应的信息
        SNAT:源地址转换,解决内网用户用同一个公网地址上网的问题
        MASOUERADE:是SNAT的一种特殊形态,用于动态和临时会变的ip上
        DNAT:目的地址转换
        REDIRECT:在本机作端口映射
        LOG:在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则;仅仅作记录,让其匹配下一条规则。

流程:

  






































猜你喜欢

转载自www.cnblogs.com/zyxy5207/p/11735739.html