一、内核环境:
linux-3.4.35
-*- Networking support —>
Networking options —>
[*] Network packet filtering framework (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 CongesTIon NoTIficaTIon)字段进行匹配.ECN是一种显式拥塞告诉技能,它不但要求路由器支撑并且要求端到端主机的支撑,其基本思想是当路由器产生前期拥塞时不是丢掉包而是尽量对包进行符号,接收方接到带有ECN提示的包时,告诉发送方网络行将产生拥塞,也便是它经过对包的符号提示TCP源行将产生拥塞,然后引发拥塞防止算法
《*》 “rpfilter” reverse path filter match support //rpfilter反向途径过滤
《*》 “ttl” match support //答应对ip包头的TTL(生存期)字段进行匹配
《*》 Packet filtering //界说filter表以答应对包进行过滤
《*》 REJECT target support //答应回来一个ICMP过错而不是简略的丢掉包
[*] Force socket error when rejecTIng 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
假如编译报错:
解决方法: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/即可