• Linux防火墙简介及iptables的基本使用


    一、防火墙基础知识

    iptables/netfilter:网络防火墙,连接追踪(状态检测)

    netfilter:工作内核中,让规则能够生效的网络框架(framework)

    iptables:防火墙规则编写工具,工作与用户空间,编写规则并且发送到netfilter

    所有的规则都在hook_function的函数中

    PREROUTING:mangle、nat

    INPUT:filter、mangle

    OUTPUT:filter、nat、mangle

    FORWARD:filter、mangle

    POSTROUTING:mangle、nat

    过滤:筛选

    NAT:Network Address Translation(地址转换)

    DNAT(目标地址转换)

    SNAT(原地址转换)

    mangle

    raw

    四表:filter、nat、mangle、raw

    五链:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING

    表和链的对应关系:

    filter:INPUT、FORWARD、OUTPUT

    nat:PREROUTING、OUTPUT、POSTROUTING

    mangle:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING

    规则:检查条件,处理机制

    防火墙的策略:通(默认为堵,只对能识别的进行放行)

                  堵(默认为通,只对能识别的进行阻截)

    检查条件:

    IP:SIP,DIP

    TCP:SPORT,DPORT,Flags(ACK,SYN,FIN,RST,PSH,URG)

    UDP:SPORT,DPORT

    ICMP:ICMP-TYPE

    扩展机制:

    time,string,state(connection-tracking)连接追踪

    处理机制

    DROP,REJECT,ACCEPT,SNAT,DNAT,RETURN,FORWARD,REDIRECT(端口转发),LOG

    二、iptables工具使用说明

    iptables [-t table] -N chain

    创建一条自定义的规则链

    iptables [-t table] -X [chain]

    删除一条自定义的空规则链,如果不为空可以先用-F清空再删除

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

    修改自定义规则链的名称

    iptables [-t table] -P chain target

    为链指定默认策略,指定默认规则

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

    -F:清空链中的规则

    规则有编号,在链中自上而下,从1开始;

    -L:list,列出表中的所有规则;

      -n:数字格式显示IP和Port

      -v:显示详细信息

      pkts bytes target prot opt in out source destination

        pkts:packets,被本规则所匹配到的报文的个数

        bytes:被本规则所匹配到的所有报文的大小之和,单位字节

        target:目标,即处理机制

        prot:协议,一般为{TCP|UDP|ICMP}

        opt:可选项

        in:数据包的流入接口

        out:数据包的流出接口

        source:源地址

        destination:目标地址

      -vv:显示更详细信息

      -vvv:显示更更详细信息

      -x:exactly:精确值,不执行单位换算

      --line-numbers:显示个规则的行号

    -Z:zero,清零

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

    -A:append,附加一条规则

      rule-specification

        匹配条件 -j 处理机制

      匹配条件:

        通用匹配:

          -s|--src|--source: 匹配原地址,可以IP,也可以网络地址;可以使用!取反, ! 192.168.1.0/24

           -d|--dst|--destination:匹配目标地址,可以IP,也可以网络地址;可以使用!取反, ! 192.168.1.0/24

           -p:匹配协议,通常只是用{TCP|UDP|ICMP}三者之一

           -i:数据报文流入的接口,通常只用于INPUT,FORWARD和 PREROUTING

           -o:数据报文流出的接口,通常只用于OUTPUT,FORWARD和POSTROUTING

    删除规则:

    iptables [-t table] -D chain rulenum 

    插入规则:

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

    替换指定规则: 

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

    只显示指定链上的规则添加命令:

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

    保存规则:

      service iptables save

      规则会被保存至/etc/sysconfig/iptables文件中

      start时也会读取此文件中的内容以设置规则

      保存规则

      # iptables-save > /path/to/some_rulefile

      重新生效规则

      # iptables-restore < /path/to/some_rulefile

  • 相关阅读:
    解析·玄学 模拟退火
    NOIP2018 集训(三)
    NOIP2018 集训(二)
    NOIP2018 集训(一)
    动画制作-cartoon
    视频压缩-video cutter
    [里程碑]media pro sdk 1.0 finished
    图像去水印-image inpainting
    地平线检测horizon line detection
    二维数据缺失补全
  • 原文地址:https://www.cnblogs.com/fansik/p/5955392.html
Copyright © 2020-2023  润新知