LinuxSir.cn,穿越时空的Linuxsir!

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

嵌入式linux 移植iptables 的问题

[复制链接]
发表于 2008-1-15 20:57:09 | 显示全部楼层 |阅读模式
曾经在网上看到这样一篇帖子:
{
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这个命令了。
    }

        其实上面的步骤也有错误   (make   NO.SHARED_LIBS   =   1   应该是make   NO_SHARED_LIB=1)
    但是改过来后还是不能用iptables命令


    不知哪位高人指导一二,因为关系到小生的毕业   ,我将感激不尽啊
  • 发表于 2008-1-21 18:38:57 | 显示全部楼层
    最好是编译成模块吧,iptables用到内核很多模块的。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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