zoukankan      html  css  js  c++  java
  • iptables

    定义

    防火墙,是一种隔离工具,工作于主机或网络边缘,对于进出主机或网络的报文根据事先定义好的检查规则作匹配检测,对于能够被规则所匹配到的报文做出相应处理的组件。
    

    Netfilter组件

    1. 内核空间,集成在linux内核中
    2. 扩展各种网络服务的结构化底层框架
    3. 内核中选取五个位置放了五个hook(勾子) function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING),而这五个hook function向用户开放,用户可以通过一个命令工具(iptables)向其写入规
    4. 由信息过滤表(table)组成,包含控制IP包处理的规则集(rules),规则被分组放在链(chain)上
    

    iptables

    命令行工具,工作在用户空间
    用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包
    

    iptables由四个表和五个链以及一些规则组成

    四个表table:filter、nat、mangle、raw(优先级由高到低的顺序为:raw-->mangle-->nat-->filter)

    Filter表:过滤规则表,根据预定义的规则过滤符合条件的数据包
    NAT表:network address translation 地址转换规则表
    Mangle:修改数据标记位规则表
    Raw:关闭NAT表上启用的连接跟踪机制,加快封包穿越防火墙速度
    注意:一般不要启动连接追踪功能,在头端负载很大的情况下,如果要启用,一定要把内存设置的足够大。
    

    五个内置链chain

    INPUT
    OUTPUT
    FORWARD
    PREROUTING
    POSTROUTING
    

    Netfilter表和链对应关系

    三种报文流向
    流入:PERROUTING--> INPUT
    流出:OUTPUT-->POSTROUTING
    转发:PREROUTING-->FORWARD-->POSTROUTING
    
    各功能的分别实现(iptables -t raw -L)
    filter:INPUT, FORWARD, OUTPUT
    nat:PREROUTING(DANT), OUTPUT, POSTROUTING(SANT)
    mangle:PREROUTING(DANT), INPUT, FORWARD, OUTPUT, POSTROUTING(SANT)
    raw:PREROUTING, OUTPUT 
    
    路由发生的时刻
    报文进入本机后:
        判断目标主机
    报文发出之前:
        判断经由哪个接口送往下一跳
    
    iptables:四表五链
    添加规则时的考量点:
        1. 要实现哪种功能:判断添加在哪张表上
        2. 报文流经的路径:判断添加在哪个链上
    链:链上规则的次序,即为检查的次序,因此隐含一定的法则
        1. 同类规则(控制同一种应用访问),匹配范围小的放上面:
        2. 不同类规则(访问不同应用),匹配到报文频率较大的放上面:
        3. 设置默认策略(白名单:默认拒绝,开放明确识别的;黑名单:默认允许,只拒绝认为危险的。白名单安全级别高,可以允许也可以拒绝)
        4.  将那些可以由一条规则描述的多个规则合并为一个
    
    规则
    组成部分:报文的匹配条件,匹配到之后处理动作
        匹配条件:根据协议报文特征指定
                基本匹配条件 
                扩展匹配条件
        处理动作:
                内建处理动作
                自定义处理机制
        注意:报文不会经过自定义链,只能在内置链上通过规则进行引用后生效。
  • 相关阅读:
    nodejs--模块化
    node-package.json 文件package-lock.json
    NPM
    REPL介绍
    nvm npm nrm 区别
    docker docker-compose安装
    微信小程序对接阿里云视频点播,备忘
    python requests包爬网页数据demo
    php redis扩展地址
    php7.2.4安装rabbitmq扩展的过程中错误处理
  • 原文地址:https://www.cnblogs.com/liangjindong/p/9241174.html
Copyright © 2011-2022 走看看