对于netfilter 可以参考 https://netfilter.org/documentation/HOWTO/netfilter-hacking-HOWTO-3.html netfilter 框架中包含了:filter mat mangle raw security: 在net结构中的成员struct netns_xt xt,是用来存储所有table的, netns_xt结构的成员如下,其中tables存储了多种协议对应的table链表,每种协议对应一个链表,多种table存储在自己所属…
Match: netfilter定义了一个通用的match数据结构struct xt_match /* 每个struct xt_match代表一个扩展match,netfilter中各个扩展match自己定义自己的匹配参数数据结构,自己实现匹配函数 */ struct xt_match { struct list_head list; //match名字,和iptables配置的-m参数相同 const char name[XT_EXTENSION_MAXNAMELEN]; u_int8_t r…
内核中将filter模块被组织成了一个独立的模块,每个这样独立的模块中都有个类似的init()初始化函数:首先来看一下filter模块是如何将自己的钩子函数注册到netfilter所管辖的几个hook点. filter 模块钩子点: /* 在LOCAL_IN,FORWARD, LOCAL_OUT钩子点工作 */ #define FILTER_VALID_HOOKS ((1 << NF_INET_LOCAL_IN) | \ (1 << NF_INET_FORWARD) | \ (1…
linux netfilter nat1 后面在上传…
linux netfilter nat1 2020整理云笔记上传…
知乎链接:https://zhuanlan.zhihu.com/p/58087261 Linux内核代码中广泛使用了数据结构和算法,其中最常用的两个是链表和红黑树. 链表 Linux内核代码大量使用了链表这种数据结构.链表是在解决数组不能动态扩展这个缺陷而产生的一种数据结构.链表所包含的元素可以动态创建并插入和删除.链表的每个元素都是离散存放的,因此不需要占用连续的内存.链表通常由若干节点组成,每个节点的结构都是一样的,由有效数据区和指针区两部分组成.有效数据区用来存储有效数据信息,而指针区用来…
Linux target framework (tgt) aims to simplify various SCSI target driver (iSCSI, Fibre Channel, SRP, etc) creation and maintenance. The key goals are the clean integration into the scsi-mid layer and implementing a great portion of tgt in user space.…
先说明一下,linux内核中各种数据结构也不停的在变,所以不同版本的内核各个数据结构的定义可能会差别很大,这一组关于linux 文件系统的文章中的代码都摘自linux-2.6.34.1. VFS依赖于数据结构来保存其对于一个文件系统的一般表示. 超级块结构:存放已安装的文件系统的相关信息 索引节点结构:对于文件信息的完全的描述 文件结构:存放一个被进程打开的文件的相关信息 目录项结构:存放有关路径名及路径名所指向的文件的信息 组成VFS的结构与一些操作相关联,这些操作可应用于有这些结构所表示的对…
转载:http://www.embeddedlinux.org.cn/html/jishuzixun/201304/14-2538.html 对于嵌入式 Linux 系统来说,有各种体系结构的处理器和硬件平台,并且用户需要根据需求自己定制硬件板.只要是硬件平台有些变化,即使非常小,可能也需要做一些移植工作.内核移植是嵌入式Linux系统中最常见的一项工作. 内核移植工作主要是修改跟硬件平台相关的代码,一般不涉及 Linux 内核通用的程序. 移植的难度也取决于两种硬件平台的差异.Linux 对于…
参考http://www.linuxtcpipstack.com/685.html#NF_INET_PRE_ROUTING https://opengers.github.io/openstack/openstack-base-netfilter-framework-overview/ http://blog.chinaunix.net/uid-26517122-id-4293010.html https://netfilter.org/documentation/HOWTO/netfilter…