iptables--知识总结1

iptables:包过滤型防火墙

iptables/netfilter

  • framework: netfilter hooks function 网络过滤器的框架
  • rule utils:iptables 规则管理工具

四表五链

四表
  • filter:过滤,防火墙
  • nat:地址转换
  • mangle:拆解报文,作出修改,封装报文
  • raw:关闭nat表上启用的链接追踪标志
五链
  • PREROUTING
  • INPUT
  • FORWARD
  • OUTPUT
  • POSTROUTING

各功能的分别实现

  • filter:INPUT,FORWARD,OUTPUT
  • nat: PREROUTING(DNAT),OUTPUT,POSTROUTING(SNAT)
  • mangle:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
  • raw:PREROUTING,OUTPUT

添加规则时的考量点:

  • (1) 要实现哪种功能:判断添加在哪张表上;
  • (2) 报文流经的路径:判断添加在哪个链上;
链:链上规则的次序,即为检查的次序;因此隐含一定的法则
        (1) 同类规则(访问同一应用),匹配范围小的放上面;
        (2) 不同类规则(访问不同应用),匹配到报文频率较大的放上面;
        (3) 将那些可由一条规则描述的多个规则合并为一个;
        (4) 设置默认策略;

    功能的优先级次序:raw --> mangle --> nat --> filter
规则:
    组成部分:报文的匹配条件,匹配到之后处理动作
        匹配条件:根据协议报文特征指定
            基本匹配条件
            扩展匹配条件
        处理动作:
            内建处理机制
            自定义处理机制

        注意:报文不会经过自定义链,只能在内置链上通过规则进行引用后生效;

iptables命令:

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

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

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

   iptables [-t table] -D chain rulenum

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

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

   iptables [-t table] -N chain

   iptables [-t table] -X [chain]

   iptables [-t table] -P chain target

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


   -t table:
        filter, nat, mangle, raw

链管理:

        -F:flush,清空规则链;省略链,表示清空指定表上的所有的链;
        -N:new, 创建新的自定义规则链;
        -X:drop, 删除用户自定义的空的规则链;
        -Z:zero,清零,置零规则计数器;
        -P:Policy,为指定链设置默认策略;对filter表中的链而言,默认策略通常有ACCEPT, DROP, REJECT; 
        -E: rEname,重命令自定义链;引用计数不为0的自定义链,无法改名,也无法删除;

规则管理:

        -A:append,将新规则追加于指定链的尾部;
        -I:insert,将新规则插入至指定链的指定位置;
        -D:delete,删除指定链上的指定规则;
            有两种指定方式:
                (1) 指定匹配条件;
                (2) 指定规则编号;
        -R:replace,替换指定链上的指定规则;

查看:

        -L:list,列出指定链上的所有规则;
            -n: numberic,以数字格式显示地址和端口号;
            -v: verbose,显示详细信息;
                -vv, -vvv
            --line-numbers:显示规则编号;
            -x: exactly, 显示计数器计数结果的精确值;

匹配条件:

基本匹配:
   [!] -s, --src, --source IP|Netaddr:检查报文中源IP地址是否符合此处指定的地址范围;
   [!] -d, --dst, --destination IP|Netaddr:检查报文中源IP地址是否符合此处指定的地址范围;
   -p, --protocol {tcp|udp|icmp}:检查报文中的协议,即ip首部中的protocols所标识的协议;
   -i, --in-interface IFACE:数据报文的流入接口;仅能用于PREROUTING, INPUT及FORWARD链上;
   -o, --out-interface IFACE:数据报文的流出接口;仅能用于FORWARD, OUTPUT及POSTROUTING链上;
扩展匹配:-m macth_name –spec_options
  例如:-m tcp --dport 22

  隐式扩展: 对-p protocol指明的协议进行的扩展,可省略-m选项;
    -p tcp
        --dport PORT[-PORT]:目标端口,可以是单个端口或连续多个端口;
        --sport PORT[-PORT]
        --tcp-flags LIST1 LIST2:检查LIST1所指明的所有标志位,且这其中,LIST2所表示出的所有标记位必须为1,而余下的必须为0;没有LIST1中指明的,不作检查;
        SYN, ACK, FIN, RST, PSH, URG

        --tcp-flags SYN,ACK,FIN,RST SYN
        --syn: 
   -p udp
        --dport
        --sport
   -p icmp
        --icmp-type
        可用数字表示其类型:
            0:echo-reply
            8: echo-request

  例子iptables -t filter -A OUTPUT -s 172.16.100.21 -p tcp -j ACCEPT
     iptables -t filter -A INPUT -d 172.16.100.21 -o eth0 -j ACCEPT
     iptables -t filter -A OUTPUT -s 172.16.100.21 -o eth0 -j ACCEPT
     iptables-I INPUT -d 172.16.100.21 -p tcp --dport 22 -j ACCEPT
     iptables -I OUTPUT -s 172.16.100.9 -p tcp -sport 22 -j ACCEPT
显式扩展: 必须使用-m选项指定使用的扩展;

目标:

   -j TARGET:jump至指定的TARGET
            ACCEPT: 接受
            DROP: 丢弃
            REJECT: 拒绝
            RETURN: 返回调用链
            REDIRECT:端口重定向
            LOG: 记录日志
            MARK:做防火墙标记
            DNAT:目标地址转换
            SNAT:源地址转换
            MASQUERADE:地址伪装
            ...
            自定义链:由自定义链上的规则进行匹配检查

使用iptables的一些技巧

  • 不加表的话默认为filter
  • -A,-I,-D,-R后面是更改那条链的规则INPUT,FORWARD,OUTPUT
  • *
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值