1.問題描述
最新的版本是1.0.2,編譯最新的netfilter_queue需要安裝libmnl和libnfnetlink.
安裝這兩個庫,./configure, make和make install
./configure的過程中注意 ./configure --prefix=/usr/
這兩個庫安裝完成之後,在編譯netfilter_queue,這個時候問題來了。
首先是報libnfsnetlink沒安裝,解決完了之後報libmnl沒安裝
2.如何解決
LIBNFNETLINK_CFLAGS="-I/usr/include/libnfnetlink/" LIBNFNETLINK_LIBS="-L/usr/lib/ -lnfnetlink" LIBMNL_CFLAGS="-I/usr/include/libmnl/" LIBMNL_LIBS="-L/usr/lib/ -lmnl" ./configure --prefix=/usr/
3. 還有問題
這下解決了依賴安裝和找到依賴的問題。
下面報了一個更加詭異的問題,說是tos undeclear. 進入頭文件/usr/include/netinet/ip.h查看tos赫然在目。。。
最後發現問題在於頭文件的這一行。
197 //#define IPTOS_CLASS(class) ((tos) & IPTOS_CLASS_MASK)
被系統內核給坑了。。。
發現問題了,改正過來吧,改成下面所示,重新編譯netfilter_queue,搞定!
197 //#define IPTOS_CLASS(class) ((class) & IPTOS_CLASS_MASK)