C语言 How to develop netfilter queue in CentOS 6?



我找不到一个能为CentOS 6.3提供"libnetfilter_queue/libnetfilter_queue.h"的包。(将提供结构nfq_data、结构nfq_q_handle的头文件…)甚至在EPEL中都没有。

有什么想法吗?

获取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

我在6.2上启用了epel、rpmforge和rpmfusion。

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

最新更新