netfilter 子系入口在L3,完成后把数据包发往L4
netfilter 主要功能:
数据包选择(iptables)
数据包过滤
网络地址转换(NAT)
数据包操纵(在路由选择之前或之后修改数据包头的内容)
连接跟踪
网络统计信息收集
常见框架
IPVS:一种传输层负载均衡解决方案。
IP sets: 一个由用户空间工具ipset和内核部分 组成的框架。
iptables:linux防火墙,为netfilter提供管理层。

A:  NF_INET_PRE_ROUTING:位于方法ip_rcv() 中,这是所有入站数据包遇到的第一个挂接点,处于路由选择子系统查找之前。
    涉及功能(优先级顺序): Conntrack(-200) 、 mangle(-150) 、 DNAT(-100) 
B:  NF_INET_LOCAL_IN :这个挂在点位于ip_local_deliver()中,对于所有发送给当前主机的入站数据包,经过prerouting执行后,都到达这里。
    涉及功能:mangle(-150) 、 filter(0) 、 SNAT(100) 、 Conntrack(INT_MAX-1) 
C:  NF_INET_FORWARD: 这个挂载点位于ip_forward(),对于所有要转发的数据包,经过prerouting 并执行后,都到这个挂载点。
    涉及功能:mangle(-150) 、 filter(0)

D:  NF_INET_LOCAL_OUT:这个挂载点位于_ip_local_out(),当主机生成的所有出站数据包都在经过这个挂载点后到达postrouting.

    涉及功能: Conntrack(-200) 、 mangle(-150) 、 DNAT(-100) 、 filter(0) 
E:  NF_INET_POST_ROUTING: 这个挂载点位于ip_output(),所有要转发的数据包经过forward后到达这个挂载点,当主机生成的数据包经过local_out后将到达这个挂载点。
    涉及功能:mangle(-150)、SNAT(100)、Conntrack(INT_MAX)

在同一挂接点,优先级越低的回调函数越先被调用。

netfilter 学习摘要的更多相关文章

  1. CSS学习摘要-定位实例

    CSS学习摘要-定位实例 注:全文摘自MDN-CSS定位实例 列表消息盒子 我们研究的第一个例子是一个经典的选项卡消息框,你想用一块小区域包括大量信息时,一个非常常用的特征.这包括含有大信息量的应用, ...

  2. CSS学习摘要-定位

    CSS学习摘要-定位 注:全文摘自MDN-CSS定位 定位允许您从正常的文档流布局中取出元素,并使它们具有不同的行为,例如放在另一个元素的上面,或者始终保持在浏览器视窗内的同一位置. 本文解释的是定位 ...

  3. CSS学习摘要-引入样式

    CSS学习摘要-引入样式 注:主要是摘录自MDN 网络开发者这个网站的. CSS 实际上如何工作? 当浏览器显示文档时,它必须将文档的内容与其样式信息结合.它分两个阶段处理文档: 浏览器将 HTML和 ...

  4. a byte of vim -- 学习摘要

    说在前面的话 -- a byte of vim 是我见过的最介绍vim 最好的书,想了解强大的vim的人,或者是已经在使用vim而打算进一步了解的人,我感觉都应该看看这个,内容精炼但涵盖非常广,--& ...

  5. Spring Boot 学习摘要--关于日志框架

    date: 2020-01-05 16:20:00 updated: 2020-01-08 15:50:00 Spring Boot 学习摘要--关于日志框架 学习教程来自:B站 尚硅谷 1. 关于日 ...

  6. Spring Boot 学习摘要--关于配置

    date: 2019-12-27 09:00:00 updated: 2019-12-30 13:20:00 Spring Boot 学习摘要--关于配置 学习教程来自:B站 尚硅谷 1. 关于配置 ...

  7. Python正则表达式学习摘要及资料

    摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...

  8. Python 正则表达式学习摘要及资料

    来源:Michael_翔_ 摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会 ...

  9. 高性能Web动画和渲染原理系列(4)“Compositor-Pipeline演讲PPT”学习摘要

    目录 摘要 1.合成流水线 2. 预定义UI层 3. paint是什么意思 4. 分层的优势和劣势 5. 视图属性及其处理方式 6. Quads 7. Compositor Frame 8. 关于光栅 ...

随机推荐

  1. Linux系统学习之系统启动的5个过程

    Linux 系统启动过程 Linux系统的启动过程可以分为5个阶段: 1. 内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动.操作系统接管硬件以后 ...

  2. js 浅拷贝有大用

    如题 像浅拷贝.深拷贝这类的知识点我们应该都明白是怎么回事,大部分都是在面试的时候会被问到.大多让你实现一个深拷贝.现实中我们都用比较暴力直接的手段 JSON stringify. 一句话就搞定,管他 ...

  3. LUHN算法

    LUHN算法,主要用来计算信用卡等证件号码的合法性. 1.从卡号最后一位数字开始,偶数位乘以2,如果乘以2的结果是两位数,将两个位上数字相加保存. 2.把所有数字相加,得到总和. 3.如果信用卡号码是 ...

  4. 【Leetcode】【Easy】Path Sum

    Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...

  5. C可变参数

    https://www.cnblogs.com/pengdonglin137/p/3345911.html#_label0

  6. 通过CXF,开发soap协议接口

    1. 引入cxf的jar包 pom文件里面直接增加依赖 < dependency> <groupId > junit</ groupId> <artifact ...

  7. zt 设计模式六大原则(3):依赖倒置原则

    下面说法对不对? 父类将算法(逻辑)封装起来,子类实现细节:这个就叫DIP(依赖倒置:Dependency Inversion Principles),模板模式就是这个原则的实现.如果在父类中加一个t ...

  8. ROC曲线手画

    绘图过程很简单:给定m个正例子,n个反例子,根据学习器预测结果进行排序,先把分类阈值设为最大,使得所有例子均预测为反例,此时TPR和FPR均为0,在(0,0)处标记一个点,再将分类阈值依次设为每个样例 ...

  9. 理解Underscore的设计架构

    在一个多月的毕业设计之后,我再次开始了Underscore的源码阅读学习,断断续续也写了好些篇文章了,基本把一些比较重要的或者个人认为有营养的函数都解读了一遍,所以现在学习一下Underscore的整 ...

  10. Linux(十一) 文件目录权限 chmod umask chown

    一 文件目录权限定义 首先我们先认识一下文件目录的权限定义,请看下面ls -l的结果我们发现一个文件或者目录的前面有10位的信息,第一位表示文件类型,大概有一下几种类型:d 表示目录 - 普通文件 b ...