移植iptables命令到ARM开发板

linux版本:feodra-14

交叉编译版本:arm-linux-gcc-3.4.1

 

1.       查看PC上iptables位置

#which iptables

/sbin/iptables

2.       查看安装此命令的安装包

# rpm –qif ‘/sbin/iptables’

Name        : iptables                 Relocations: (not relocatable)

Version     : 1.4.9                     Vendor: Fedora Project

Release     : 1.fc14                    Build Date: Wed 04 Aug 2010 07:57:45 AM PDT

Install Date: Tue 06 Dec 2011 02:08:15 AM PST   Build Host: x86-03.phx2.fedoraproject.org

Group       : System Environment/Base       Source RPM: iptables-1.4.9-1.fc14.src.rpm

Size        : 735145                           License: GPLv2

Signature   : RSA/SHA256, Wed 04 Aug 2010 04:34:52 PM PDT, Key ID 421caddb97a1071f

Packager    : Fedora Project

URL         : http://www.netfilter.org/

Summary     : Tools for managing Linux kernel packet filtering capabilities

Description :

The iptables utility controls the network packet filtering code in the

Linux kernel. If you need to set up firewalls and/or IP masquerading,

you should install this package.

我们可以看到此安装包为iptables-1.4.9-1.fc14.src.rpm

3.       下载iptables-1.4.9-1.fc14.src.rpm,并解压

#rpm –ivh iptables-1.4.9-1.fc14.src.rpm

#cd /root/rpmbuild/SOURCES

#tar –xjvf iptables-1.4.9.tar.bz2

4.       进入iptables-1.4.9,进行配置编译安装

#./configure –host=arm-linux CC=arm-linux-gcc

#make

#make install

5.       查看安装后的iptables

#whcih iptables

/usr/local/sbin/iptables

安装后iptables进入到了/usr/local/sbin下

6.       进入/usr/local/sbin,发现iptables是iptables-multi的链接,我们可以查看iptables-multi的文件类型

#file iptables-multi

iptables-multi: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.4.3, not stripped

我们可以讲iptables-multi改名为iptables,并下载到板子中的/sbin下

#mv iptables-multi iptables

7.       同理,我们将ip6tables下载到班子中的/sbin下

8.       进入到/usr/local/lib下,移植库文件。我们需要移植libip4tc.so.0、libip6tc.so.0和libxtables.so.5库文件,但这些文件都是链接文件,分别指向libip4tc.so.0.0.0、libip6tc.so.0.0.0和libxtables.so.5.0.0,我们分别把它们改名为libip4tc.so.0、libip6tc.so.0和libxtables.so.5并下载到板子的/lib下

9.      将/root/rpmbuild/SOURCES/iptables-1.4.9/extensions下的库文件根据自己的实际情况下载到板子的/usr/local/libexec/xtables中去,开发板本身没有这个目录,可以用命令mkdir -p/usr/local/libexec/xtables建立。如,libipt_SNAT.so,libipt_DNAT.so支持“--to”、“-j SNAT”和“-j DNAT”选项,libipt_tcp.so支持“-- dport”选项。最好全下进去,省的以后麻烦。

10.       测试iptables和ip6tables。ip6tables语法在各方面都和iptables相同,只不过ip6tables支持128位的地址。

 


你可能感兴趣的:(移植iptables命令到ARM开发板)