Embeded linux之移植iptables

一、内核环境:

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/

解压到相应文件夹bin/ lib/ sbin/即可

时间: 2024-11-05 11:54:30

Embeded linux之移植iptables的相关文章

Embeded linux之移植dropbear

红字加粗为编译器不同.路径不同需要注意修改的地方 一.源码包下载: zlib官方下载:http://www.zlib.net/ dropbear官方下载:https://matt.ucc.asn.au/dropbear/dropbear.html 本文使用版本: zlib-1.2.8 dropbear-2016.74 下面链接有已上传的配置好的源码包 二.创建工作目录 安装路径: /opt/dropbear_ssh/install/ 源码路径: /opt/dropbear_ssh/source/

Linux命令:iptables网络防火墙

Linux命令:iptables 网络防火墙 一.iptables的发展: iptables的前身叫ipfirewall (内核1.x时代),这是一个作者从freeBSD上移植过来的,能够工作在内核当中的,对数据包进行检测的一款简易访问控制工具.但是ipfirewall工作功能极其有限(它需要将所有的规则都放进内核当中,这样规则才能够运行起来,而放进内核,这个做法一般是极其困难的).当内核发展到2.x系列的时候,软件更名为ipchains,它可以定义多条规则,将他们串起来,共同发挥作用,而现在,

Linux防火墙:iptables禁IP与解封IP常用命令

在Linux下,使用ipteables来维护IP规则表.要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作. 要封停一个IP,使用下面这条命令: iptables -I INPUT -s ***.***.***.*** -j DROP 要解封一个IP,使用下面这条命令: iptables -D INPUT -s ***.***.***.*** -j DROP 参数-I是表示Insert(添加),-D表示Delete(删除).后面跟的是规则,INPUT表示入站,***.***

(一)Linux系统移植之环境搭建

Linux系统移植 环境搭建 交叉编译工具链:为了编译.链接.处理和调试跨平台体系结构的程序代码.配置的步骤: 解压到/usr/local/arm目录下,执行命令"tar -xvf arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /usr/local/arm" 配置系统环境变量,把解压的交叉编译工具链的路径添加到环境变量PATH中,在~/.bashrc中添加一行" export PATH=$

linux系统移植和根文件系统制作

1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1  Linux版本 Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如2.6.29.1内核的Makefile中: VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 29 EXTRAVERSION = .1 其中的“VERSION”和“PATCHLEVEL”组成主版本号,比如2.4.2.5.

linux驱动移植(nand,yaffs2)

原文:http://blog.sina.com.cn/s/blog_7090b8670101b0bi.html linux驱动移植(nand,yaffs2) 在linux操作系统的顺利移植之后,linux的内核虽然在板子上跑了起来,但是此时linux还不支持板子的的各个硬件,比如说lcd,摄像头,声卡,usb等模块,我们必须要在板子上装入驱动程序后,才能上这些硬件在linux操作系统下工作. 这些驱动在内核中都有驱动的源码,我们要做的就是将这些驱动源码编译到内核中,当然在编译之前是需要对驱动源码

linux系统移植流程

linux系统移植流程   "Ctrl" + "+" :放大:"Ctrl" + "-" :缩小:"Ctrl" + "0" :原始大小. linux系统移植流程,布布扣,bubuko.com

MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意

32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT是<程序员的自我修养:链接,转载于库>的作者俞甲子写的小型的C运行时库.里面提供了printf,malloc,free,fopen等比较常用的函数实现. 之所以要捣鼓这个东西,是因为要自己写一个链接器,链接标准库的时候出了麻烦,一些符号在整个libc中都找不到定义,标准库又太大,研究源码,翻文档都

linux下的iptables & ping

在linux下,要想实现禁用ping有两种方法. 方法一: echo "1″ > /proc/sys/net/ipv4/icmp_echo_ignore_all 方法二: iptables -A INPUT -p icmp –icmp-type 8 -s 0/0 -j DROP iptables -A INPUT -p icmp –icmp-type 0 -s 0/0 -j DROP iptables -A OUTPUT -p icmp –icmp-type 0 -s 192.168.29