zoukankan      html  css  js  c++  java
  • Linux-netfilter框架

    Linux 的内核提供的防火墙功能通过netfilter框架实现,并提供了iptables工具配置和修改防火墙的规则。

    1. netfilter 框架

    netfilter的通用框架不依赖具体协议。而为每种网络协议定义了一套钩子函数这些钩子函数在数据包经过协议栈的几个关键点被调用。协议栈将数据包以及钩子函数作为参数,传递给netfilter框架。

    netfilter 主要步骤及函数:

    NF_IP_PRE_ROUTING:

    NF_IP_LOCAL_IN:

    NF_IP_FORWARD:

    NF_IP_POST_ROUTING:

    NF_IP_LOCAL_OUT:

    NF_IP_POST_ROUTING:

    2.包过滤

    每个函数都可以对数据包进行处理。系统管理员可以通过iptables工具来向内核模块注册多个过滤规则,并且指明过滤规则的优先权。设置完成后每个钩子按照规则进行匹配。如果与规则匹配,函数就会进行一些过滤操作。主要操作:

    NF_ACCEPT:

    NF_DROP:

    NF_STOLEN:

    NF_QUEUE:

    NF_REPEAT

    3.包选择

    在netfilter上已经创建了一个包选择系统,这个包选择工具默认已经注册了3个表:

      1.过滤表(filter):过滤包而不会改变包。

      2.NAT表:

      3.mangle表:mangle表被用于真正改变包的信息。

    在调用钩子函数时,是按照表的顺序来调用的。 package->filter表->nat表->mangle表 

  • 相关阅读:
    echarts数据包坐标拾取工具
    JS 多个条件判断
    js 实现各浏览器全屏
    前端统计使用插件
    JS 随机排序算法
    js中布尔值为false的六种情况
    Mosaic
    单点登录
    JavaScript数据结构和算法
    一个普通函数的冷僻属性(length、caller、arguments、name、[[Scopes]]和[[FunctionLocation]])
  • 原文地址:https://www.cnblogs.com/mirrorlake/p/8136637.html
Copyright © 2011-2022 走看看