Linux下支持netfilter機制的配置工具就是iptables,它也就相當與一個應用程序,可以對netfilter進行配置(包過濾規(guī)則,NAT等等)。所以要實現(xiàn)netfilter(iptables)就要從兩方面來著手:1)內核支持netfilter;2)用戶層的iptables配置命令。
1、編譯內核,支持netfilter
在宿主機上進入Linux內核目錄,配置所需的內核模塊:
cd/usr/src/linux
makemenuconfig
選中如下內核選項:
Generalsetup--->
[*]Sysctlsupport(在ROMFS文件系統(tǒng)中/proc/sys/net/ipv4/出現(xiàn)ip_forward)
Networkingoptions--->
[*]Networkpacketfiltering(replacesipchains)
IP:NetfilterConfiguration--->(全部選擇即可)
這樣在內核中就選擇支持了netfilter。接下來只需編譯并生成內核映像文件并燒寫到嵌入式系統(tǒng)即可。如果燒寫后重起成功進入Linux,則說明新的支持netfiter的內核已經正常運行。(注意,這里的內核選項只是一些支持netfilter/iptables的選項。這里假設原有內核已支持嵌入式系統(tǒng)的相關硬件,并能在嵌入式平臺上運行)。
2、編譯生成iptables命令
iptables工具包可以免費從網(wǎng)上獲得。下載iptables工具包后,進入下載目錄,進行編譯生成可執(zhí)行文件,編譯方法具體可以參考iptables目錄下的INSTALL文件:
cd/root/iptables
makeKERNEL_DIR=/usr/src/linux(指定內核目錄)
makeNO。SHARED_LIBS=1(靜態(tài)鏈接編譯生成可執(zhí)行文件)
把生成的iptables可執(zhí)行文件copy到ramdisk再下載到嵌入式系統(tǒng)中就可以運行。
好了,重新啟動板子后,就可以用iptables這個命令了。