LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1627|回复: 4

嵌入式linux 移植iptables 的问题

[复制链接]
发表于 2007-7-8 19:23:32 | 显示全部楼层 |阅读模式
*///////////////////////////////////////////////////////////////////
把Iptables移植到嵌入式Linux系统  
来源:xnux.cn 作者:xnux.cn 发布时间:2007-05-29  
Linux下支持netfilter机制的配置工具就是iptables,它也就相当与一个应用程序,可以对netfilter进行配置(包过滤规则,NAT等等)。所以要实现netfilter(iptables)就要从两方面来着手:1)内核支持netfilter;2)用户层的iptables配置命令。

1、编译内核,支持netfilter

在宿主机上进入Linux内核目录,配置所需的内核模块:


cd  /usr/src/linux
make  menuconfig


选中如下内核选项:


General setup --->
  • Sysctl support (在ROMFS文件系统中/proc/sys/net/ipv4/出现ip_forward)
    Networking options --->
  • Network packet filtering (replaces ipchains)
    IP: Netfilter Configuration --->(全部选择即可)


    这样在内核中就选择支持了netfilter。接下来只需编译并生成内核映像文件并烧写到嵌入式系统即可。如果烧写后重起成功进入Linux,则说明新的支持netfiter的内核已经正常运行。(注意,这里的内核选项只是一些支持netfilter/iptables的选项。这里假设原有内核已支持嵌入式系统的相关硬件,并能在嵌入式平台上运行)。

    2、编译生成iptables命令

    iptables工具包可以免费从网上获得。下载iptables工具包后,进入下载目录,进行编译生成可执行文件,编译方法具体可以参考iptables目录下的INSTALL文件:


    cd /root/iptables
    make KERNEL_DIR = /usr/src/linux(指定内核目录)
    make NO.SHARED_LIBS = 1(静态链接编译生成可执行文件)


    把生成的iptables可执行文件copy到ramdisk再下载到嵌入式系统中就可以运行。

    好了,重新启动板子后,就可以用iptables这个命令了。


    ////////////////////////////////////////////////////////*


    这是网上找的关于移植iptables的资料,我照着做,其中对这句话不明白"把生成的iptables可执行文件copy到ramdisk再下载到嵌入式系统中就可以运行。"
    因为我是用busybox生成文件系统的,我尝试着把生成的iptables命令放到.../busybox/_install/sbin或.../_install/bin目录,同时我也把 idd /iptables-1.3.1/iptables显示的关联文件CP到了.../_install/lib文件夹,然后在busybox根目录下 ./mkfs.jffs2 -o rootfs270.img -e 0x40000 -r _install -p -l 制作出映像文件烧进去,但是目标板时无法启动系统.

    我想知道的是我上面的步骤对不对?问题出现在什么地方.
    各位帮忙啊!!!!!!!!!
  •  楼主| 发表于 2007-7-8 20:02:04 | 显示全部楼层
    还是按上面的步骤,把iptables放在了../_install/sbin 然后生成文件系统 现在能启动,但是一输入iptables 显示出来的是-bash:/sbin/iptables:cannot execute binary file 看来还是不能直接简单地CP到某个目录,那要怎么做呢???同志们朋友们啊....帮忙啊.....
    回复 支持 反对

    使用道具 举报

    发表于 2007-7-17 04:02:36 | 显示全部楼层
    你这个是交叉编译的吗?
    file 命令看看文件属性。
    回复 支持 反对

    使用道具 举报

    发表于 2007-7-18 12:22:21 | 显示全部楼层
    KERNEL_DIR也要设置成板子上的内核。
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2007-7-23 10:08:32 | 显示全部楼层
    KERNEL_DIR我也已经指向了板子内核了.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表