如何在CentOS 6中开发netfilter队列?

时间:2012-08-25 11:30:53

标签: c centos netfilter

我找不到一个能为CentOS 6.3提供“libnetfilter_queue / libnetfilter_queue.h”的软件包。 (将提供struct nfq_data,struct nfq_q_handle ...的头文件甚至不在EPEL中。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

获取netfilter的git存储库的最新版本:

$git clone git://git.netfilter.org/libnfnetlink.git /* needed for dependency */

$git clone git://git.netfilter.org/libnetfilter_queue.git

移至nfnetilink目录并发出以下命令:

$./autogen.sh
$./configure --prefix=/usr
$make
$sudo make install

netfilter_queue执行相同操作。

测试您的安装:

$gcc <libnetfilter_queue>/ustils/nfqnl_test.c -o nftest -lnfnetlink -lnetfilter_queue

验证动态链接:

[root@s1 utils]# ldd nftest 
    linux-vdso.so.1 =>  (0x00007fff47dd1000)
    libnetfilter_queue.so.1 => /usr/lib/libnetfilter_queue.so.1 (0x00007f5de5a34000)
    libnfnetlink.so.0 => /usr/lib/libnfnetlink.so.0 (0x00007f5de582d000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003c96000000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003c95c00000)

编辑:

关于包裹:

yum search netfilter

返回了这个:

libnetfilter_conntrack.i686 : Netfilter conntrack userspace library
libnetfilter_conntrack.x86_64 : Netfilter conntrack userspace library
libnetfilter_conntrack-devel.i686 : Netfilter conntrack userspace library
libnetfilter_conntrack-devel.x86_64 : Netfilter conntrack userspace library
libnfnetlink.i686 : Netfilter netlink userspace library
libnfnetlink.x86_64 : Netfilter netlink userspace library
libnfnetlink-devel.i686 : Netfilter netlink userspace library
libnfnetlink-devel.x86_64 : Netfilter netlink userspace library

我使用epel,rpmforge,rpmfusion启用了6.2。

答案 1 :(得分:0)

另一个解决方案是从Fedora仓库下载libnetfilter_queue-1.0.2和libnfnetlink-1.0.1 src rpms,并为RHEL6 / CentOS6重建它们。