我找不到可以为 CentOS 6.3 提供“libnetfilter_queue/libnetfilter_queue.h”的软件包。(将提供 struct nfq_data、struct 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
's 目录并发出以下命令:
$./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 存储库下载 libnetfilter_queue-1.0.2 和 libnfnetlink-1.0.1 src rpm 并为 RHEL6/CentOS6 重建它们。