1 iptables下載
iptables可以從該網站進行下載:
https://www.netfilter.org/projects/iptables/downloads.html
這裏使用的linux內核爲3.10版本的,iptables選擇iptables-1.4.20
iptbales版本的選擇一定要和linux版本的發佈日期相近,如果差的太多,會導致編譯不過
2 編譯iptables
iptables的編譯可以參照iptables目錄下的INSTALL文件。
這邊如下進行配置:
./configure --prefix=/home/lu/iptables --enable-static --disable-shared --with-ksource=/home/lu/tmp/linux-3.10 CC=arm-linux-gcc --host=arm AR=arm-linux-ar
然後:
make
make install即可。如果編譯過程中出現如下錯誤:
error:asm/bitsperlong.h: No such file or directory
修改內核頭文件:
linux-3.10/include/uapi/asm-generic/int-ll64.h
註釋掉#include <asm/bitsperlong.h>
改爲
#include<asm-generic/bitsperlong.h>即可編譯通過
3 配置linux內核
General setup
------>Configure standard kernel features (expert users)
---------->Sysctl syscall support
Networking support
------------>Networking options
-------------->Network packet filtering framework (Netfilter)
把Netfilter相關的選項都選上,然後重新編譯linux內核
4 安裝並測試iptables
把ipatbles安裝目錄下bin目錄和sbin目錄下的可執行文件拷貝到嵌入式系統的bin和sbin目錄下面。
進行簡單測試一下,不報錯則說明安裝成功: