优质服务商推荐更多服务商>

Embededlinux之移植iptables

4520

 一、内核环境:

    linux   -3.4.35

-*- Networking support  --->

Networking op     ti   ons  --->

[*] Network packet fil     te   ring f     ram   ework (Netfilter)  --->

IP: Netfilter Configuration  --->

《*》 IP tables support (required for filtering/masq/NAT) //iptables

《*》 “ah” match support //允许对IPSec包头的AH字段进行匹配

《*》 “ecn” match support //允许对TCP/IP包头的ECN(Explicit Conges  TI on No  TI fica  TI on)字段进行匹配.ECN是一种显式拥塞通知技术,它不但要求路由器支持而且要求端到端主机的支持,其基本思想是当路由器发生早期拥塞时不是丢弃包而是尽量对包进行     标记   ,接收方接到带有ECN提示的包时,通知发送方网络即将发生拥塞,也就是它通过对包的标记提示TCP源即将发生拥塞,从而引发拥塞避免算法

《*》 “rpfilter” reve     rs   e path filter match support //rpfilter反向路径过滤

《*》 “ttl” match support //允许对ip包头的TTL(生存期)字段进行匹配

《*》 Packet filtering //定义filter表以允许对包进行过滤

《*》 REJECT target support //允许返回一个ICMP错误而不是简单的丢弃包

[*] Force socket error when rejec  TI ng with icmp*

《*》 ULOG target support //透过netlink socket将符合条件的封包交给用户空间的ulogd守护进程。反对使用该选项,因为它已经被NETFILTER_NETLINK_LOG代替

《*》 Packet mangling //在iptables中启用mangle表以便对包进行各种修改,常用于改变包的路由

《*》 ECN target support

《*》 “TTL” target support

《*》 raw table support (required for NOTRACK/TRACE) //在iptables中添加一个‘raw’表,该表在netfilter框架中非常靠前,并在PREROUTING和OUTPUT链上有钩子,从而可以对收到的数据包在连接跟踪前进行处理

二、软件移植

iptables-1.4.22.tar.bz2

解压:

配置:./configure --host=     arm   -hisiv400-linux --prefix=/home/liuzhengwu/share/Source/App/iptables/arm-linux/ --enable-static --disable-shared --with-ksource=/home/liuzhengwu/share/Source/Kernel/Hi3516d/linux-3.4.35

编译:make -j4

如果编译报错:

 Embededlinux之移植iptables_设计制作_电源/新能源

解决方法:sed  -i  '/if_packet/i#define __aligned_u64 __u64 __attribute__((aligned(8)))'    extensions/libxt_pkttype.c

安装:make install

拷贝给开发板:tar czf iptables_install.tgz arm-linux/sbin/

解压到开发板相应文件夹sbin/即可



特别声明:本文仅供交流学习 , 版权归属原作者,并不代表蚂蚜网赞同其观点和对其真实性负责。若文章无意侵犯到您的知识产权,损害了您的利益,烦请与我们联系vmaya_gz@126.com,我们将在24小时内进行修改或删除。

相关推荐: