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