1、
iptables通過使用由Netfilter提供的核心中架構來建立策略,所以要啟動iptalbes,首先需要在核心中啟動netfilter:
make menuconfig->Networking support->Networking option->Network packet filtering framework
首先要啟動Network packet filtering framework,然後進一步配置具體功能即可。
iptables就像一個使用者空間的介面,具體工作實際上還是由核心空間的netfilter完成的。
2、
接下來就是移植一個iptables了。
我選用的版本是最新的1.4.17,:
ftp://ftp.netfilter.org/pub/iptables/
交叉編譯之:
../iptables-1.4.17/configure --prefix=/home/rebi/cross_tools/build_iptables-1.4.17/_install --host=arm-unknown-linux-gnueabi LDFLAGS=-L/home/rebi/cross_tools/build_iptables-1.4.17/libiptc/.libs
注意,之所以要加上LDFLAGS=-L/home/rebi/cross_tools/build_iptables-1.4.17/libiptc/.libs是發現make時有一個libip6tc庫找不到,但通過搜尋這個庫就在/home/rebi/cross_tools/build_iptables-1.4.17/libiptc/.libs這個路徑下,所以我手動加上去了。
這裡之所以會出現這個問題我估計是因為我沒有在源碼目錄下直接編而是在另一個目錄build_iptables-1.4.17下configure並make造成的。很多軟體都支援這種方法,因為它簡單,且出錯後可以直個目錄全部刪除重試又不影響源碼所在目錄,但也有個別軟體不支援,如samba。
make && make install
成功。