2019-09-28 19:41
⁄ 工业·编程
⁄ 共 8619字
一 概述
中篇已经提到了钩子函数的注册,也知道最终数据进来是通过钩子函数处理,来实现防火墙的功能的。那么netfilter 内核是在什么时候调用钩子函数?钩子函数又是怎么实现防火墙对应的功能的?(本章主要讲钩子函数实现的过滤功能)
二 调用钩子函数
中篇知道钩子函数最终会注册挂载到 struct net 结构体下的struct netns_nf nf 结构体中,但是钩子函数又是在什么时候调用的呢?
前篇在讲解五链表提到一张图,如下图
其实钩...
iptables, netfilter, 防火墙阅读全文
2019-09-27 19:32
⁄ 工业·编程
⁄ 共 19695字
一 概述
前篇主要提到了用户空间iptables 1.3.5源码对规则的处理。但是并没有涉及内核空间netfliter 模块的处理。用户空间上的规则要生效最终肯定是通过传给内核空间的netfilter,让netfliter这个老大哥处理。因此抛出两个问题。
· 用户空间的是怎么获取内核空间已经存在的规则,或者用户空间是如何将需要netfilter处理的规则下发给内核?简而言之,规则在用户空间是如何跟内核空间交互的。
· netfilter 内核收到用户空间的请求...
iptables, netfilter, 防火墙阅读全文
2019-09-26 19:32
⁄ 工业·编程
⁄ 共 12722字
一 概述
iptables 其实不是真正的防火墙,我们可以把它理解为一个客户端代理,用户通过iptables 这个代理,将用户的安全设置执行到对应的“安全框架”中,这个安全框架才是真正的防火墙。这个框架的名称叫做netfilter 。
二 五链表(hook)
iptables 工作在用户空间中,定义规则的工具,本身并不算是防火墙。它们定义的规则,可以让在内核空间当中的netfilter来读取,并且实现让防火墙工作。而放入内核的地方必须要是特定的位置,...
iptables, netfilter, 防火墙阅读全文