Linux基础知识_10 -- iptables

iptables
   ip 的 tables ip的表格;
   iptables只是netfilter的前端管理工具;netfilter是linux内核提供的数据流量管理模块;
   iptables/netfilter数据流量管理框架;
   普遍人问IPtables就是一个防火墙;
   作用:流量过滤;(防火墙:1、流浪过滤 2、接VPN)
1、网络防火墙
   首先,网络防火墙一般处在外网出口处;
   主要对于内外网交互的流量进行监控与过滤;
 
2、主机防火墙(并不提到360、xx管家)
   主机有内核空间和用户空间,netfilter的过滤模块运行在内核空间,但是它又无法提供数据匹配,所以我们需要使用函数来调用netfilter模块,匹配数据流量;
   5个钩子:匹配数据流量:就有我们所说的 Chain (钩子)
      PREROUTING
      INPUT
      FORWARD
      OUTPUT
      POSTROUTING
   
  3种流量:1、到达主机的流量
        2、通过主机的流量
        3、主机发起的流量
   4张表来决定行为:
        1、raw      保持连接--建议不要开启这个表的功能
        2、mangle      做数据包修改
        3、nat nat映射,包括SNAT DNAT
        4、filter  数据包过滤(默认启用)
        那些表,可以关联那些“钩子”呢?
        raw -- OUTPUT  PREROUTING
        mangle -- PREROUTING INPUT FORWARD OUTPUT POSTROUTING
        nat  --  POSTROUTING OUTPUT PREROUTING
        filter -- OUTPUT INPUT FORWARD
        【对于数据包的行为,就决定了这个数据包要经过那个链】
 
    *注意:写策略的时候,需要关联钩子,策略是属于“钩子”的,而钩子只做策略匹配,但不能进行数据操作;
     所以,我们需要再关联表,每一种表决定了一种行为操作;
     表 包含链  -- 链 包含 策略;
3、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 指定 表

   -A -I 添加策略 -A在最下面添加,-I 在最上面添加
      建议:工作的时候一定要用 -A 不要用 -I
   -D  删除策略
   -R  替换链表 需要指定所替换的编号
  iptables -t filter -R INPUT 2 -s 1.1.1.1 -d 2.2.2.2 -j ACCEPT

  -S  显示链表的所有用法

   -P  指定链表的默认行为
  iptables -t filter -P INPUT DORP

    建议:写白名单

   -N  自己定义链表;
      如果策略过多,我们需要将策略分类,这就用自己定义链表来分类;
      让后再将自己定义的链表调用在其他可以匹配数据流量的链表上;
      【如何去调用呢?】
   -X  也是清除自定义的链表
 
 iptables -t filter -X [chain]

  -v  可以查看策略匹配的数据包

   -vv  详细查看数据包匹配情况 -vvv
  iptables -t filter -L -v

  -Z  将数据包计数归零;

   -L  --list显示所选chain上面所有规则rule
   -F  清空制定chain上面所有规则
   -E  替换chain的名称;
 ------------------------------------------
   -p  udp icmp tcp  esp ah
   -s
   -d
   -j  jump  DROP ACCEPT REJECT SNAT DNAT MARK
   -i  进入的网卡
   -o 出去的网卡
   -c 设置收发数据包的警告值
   -n 不做解析
   --line-number 显示策略行号
   -f  TCP协议的标签 -- syn ack fin rst pus ...
   【大多数进行数据匹配的参数,都可以使用 !取反;】
 
 
 
    
 
 

posted on 2019-09-04 15:19  IT笔记小记录  阅读(138)  评论(0编辑  收藏  举报

导航