iptables移植到ARM Linux教程

應用移植 10039瀏覽 2評論

iptables或netfilter(網絡過濾器)是一個工作于用戶空間的防火墻應用軟件,允許系統管理員可以調整設置X表(Xtables)提供相關的系統表格(目前主要位于iptables/netfilter)以及相關的“鏈”與“規則”,以管理網絡數據包的流動與轉送的動作。

Iptables是用戶態提供的更改過濾規則的便捷工具,通過使用這個工具,可以方便的改變內核下netfilter的默認規則,也可以根據自己的需求添加自定的規則。
  • iptables官網(Netfilter):http://www.netfilter.org/projects/iptables/index.html。
  • iptables下載地址:ftp://ftp.netfilter.org/pub/iptables/。
移植步驟:

1 下載源碼包

首先下載最新版的iptables,地址如上,下面以1.4.21版本為例,下載源碼包為:iptables-1.4.21.tar.bz2

2 復制并解壓源碼包

將下載的源碼包復制到Linux主機,然后進行解壓:
$ mkdir ~/iptables
$ cp iptables-1.4.21.tar.bz2?~/iperf
$ cd ~/iptables
$ tar jxvf?iptables-1.4.21.tar.bz2

3 配置

$ mkdir install                                    # 創建安裝目錄
$ cd iptables-1.4.21/
$ export PATH=$PATH:/usr/local/arm-2010q1/bin ? ? ?#?交叉編譯工具路徑加入系統環境變量!
$ ./configure --host=arm-none-linux-gnueabi --prefix=/home/veryarm/iptables/install --enable-static --disable-shared --with-ksource=/home/veryarm/board/kernel
其中,
  • --host: 指定交叉編譯工具,一般為arm-none-linux-gnueabi、arm-linux-gnueabihf、arm-linux等,具體要和目標板用的交叉編譯工具對應。
  • --prefix: 指定安裝目錄,編譯后的文件會全部放在安裝目錄中。必須是絕對路徑!
  • --enable-static:使用靜態編譯。
  • --disable-shared:禁止動態編譯。
  • --with-ksource:指定目標板的內核目錄。如果不指定,可能會提示:/usr/sbin/iptables: line 1: syntax error: unexpected ")"錯誤。當然,因為這個是可選項,如果沒有提示錯誤,也可以不加這一項。

4 編譯安裝

編譯安裝命令:
$ make -j4                                        # 并行編譯,使用4個CPU同時編譯,可提高編譯速度
$ make install

如果make的時候出現一些奇怪的錯誤,比如“iptables uses VFP register arguments ... ?does not”這些,可以使用 make clean & make distclean 先清理然后再make。

make install 完成之后,會在指定目錄“/home/veryarm/iptables/install”下生成可執行文件,我們要用的是其中 /sbin 目錄下的所有文件。

5 創建壓縮包

將 /sbin 目錄下的所有可執行文件壓縮:
$ cd ../install/sbin
$ tar -cjvf iptables.tar.bz2 *

 

6 復制到目標板并執行

將上一步的壓縮包由主機復制到目標板的 /usr/sbin 目錄:

$ cp iptables.tar.bz2 ~
$ cd
$ tar -jxvf iptables.tar.bz2 -C /usr/sbin

 

7 測試

如果一下命令沒有提示執行錯誤,說明移植成功:

$ iptables -L
$ iptables -A INPUT -t tcp --dport 80 -j ACCEPT
$ iptables -t nat -A PREROUTING -d 192.168.1.15 -p tcp -j DNAT --dport 9000 -- to 192.168.1.16:9000
$ iptables -t nat -L                                      # 查看加入iptables的規則

 

 

發表我的評論
取消評論

表情

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址

網友最新評論 (2)

  1. 百年不遇的好文章,不得不頂
    靈蕓 4年前 (2015-12-09) 回復 編輯
  2. 移植之后:使用命令報錯:Fatal: can't open lock file /run/xtables.lock: No such file or directory不知是什么原因,求指點
    zhengm 12個月前 (04-17) 回復 編輯
王中王鉄算盘历史开奖记录