iptables移植

在嵌入式设备上移植iptables,个人觉得这个还是有点麻烦的,一方面内核要支持,另一方面是库要支持(库要放齐全)。

首先,我在网上下载了一个iptables-1.4.4版本的iptables包,然后进行交叉编译,当然编译期间也遇到了种种问题,不过也最终解决了,主要是IPV6的一些东西找不到,那么我也就直接屏蔽了相关的代码,也许有其他办法,不过当时我直接屏蔽掉了。

其次,生成了iptables这个二进制文件和一些相关的库(相当重要的库),libxtables.so.2.0.0  libiptc.so.0.0.0 ---拷贝到板子的lib下,还有在目录extentions/下的库文件,这个也至关重要,如libxt_udp.so libxt_tcp.so libxt_standard.so libipt_SNAT.so  libipt_DNAT.so也拷贝到lib下面。如果库不全的话,可能回出现一下问题(忘记了---),还要纪录一下这个库跟哪些东西相关libipt_SNAT.so,libipt_DNAT.so 支持 “--to”、“-j SNAT”和 “-j DNAT”选项,libipt_tcp.so支持“-- dport”选项

再者,就是内核功能的添加,虽然命令移植成功了,但这个功能需要内核的支持。

  Networking support --->

              Networking options --->

                   Network packet filtering framework (Netfilter) -->

                            Core Netfilter configuration --->

                                  全选为built-in [*]

                            IP: Netfilter configuration --->

                                  全选为built-in [*]

其实我也想全选[*]但不允许,我的内核空间没有分配那么大,所以我只能添加些需要的东西,试着去添加,这个比较痛苦。

 

到此算是结束了iptables的移植了!

posted @ 2013-02-04 13:49  bit by bit  阅读(983)  评论(0编辑  收藏  举报