您的位置:首页 > 其它

移植iptables命令到ARM开发板

2013-04-14 14:04 260 查看
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位的地址。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: