扩展iptables内核模块

时间:2016-03-23 10:55:51

标签: linux compilation kernel iptables

我想编写一个内核模块,为linux iptables添加一些功能。在开始编写我自己的模块之前,我想做一些测试并尝试使用一些模块并尝试将它们添加到我刚安装的Ubuntu 15.5机器上。它提供了libipt_xx.c,ipt_xx.c和ipt_xx.h,我在一些教程中读到了它们应该以这种方式通过文件:

ipt_xx.c   -> /usr/src/linux-headers-4.2.0-16/net/ipv4/netfilter/
ipt_xx.h   -> /usr/src/linux-headers-4.2.0-16/include/uapi/linux/netfilter_ipv4
libipt_xx.c   -> /usr/local/src/iptables-x.x.x/extensions/

但是,我找不到/usr/local/src/iptables-x.x.x/目录。当我执行iptables -V时,我将iptables v1.4.21作为输出,这意味着我应该有一个像iptables-1.4.21这样的文件夹。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您提到的某些文件是Linux内核源代码的一部分。当您从多个位置之一下载Linux内核源代码时,您将获得它们。这些文件以静态或模块的形式编译到内核中。这些文件位于:

net/ipv4/netfilter/
include/uapi/linux/netfilter_ipv4/

其他文件是 iptables 源代码的一部分,这是一个用户空间应用程序。您可以从Netfilter Git repository获取源代码。这些文件位于:

iptables-x.x.x/extensions/