EDA365电子论坛网

标题: 嵌入式Linux系统Iptables的移植 [打印本页]

作者: abcde1234    时间: 2018-10-8 10:55
标题: 嵌入式Linux系统Iptables的移植
  Linux下支持netfilter机制的配置工具就是iptables,它也就相当与一个应用程序,可以对netfilter进行配置(包过滤规则,NAT等等)。所以要实现netfilter(iptables)就要从两方面来着手:1)内核支持netfilter;2)用户层的iptables配置命令。

" z! k  N6 V4 p' g
1、编译内核,支持netfilter

4 _# c% H. K( L) E7 p
在宿主机上进入Linux内核目录,配置所需的内核模块:
cd/usr/src/linux
makemenuconfig
选中如下内核选项:
Generalsetup--->
  • Sysctlsupport(在ROMFS文件系统中/proc/sys/net/ipv4/出现ip_forward)
  • Networkingoptions--->
  • Networkpacketfiltering(replacesipchains)
  • IP:NetfilterConfiguration--->(全部选择即可)
    这样在内核中就选择支持了netfilter。接下来只需编译并生成内核映像文件并烧写到嵌入式系统即可。如果烧写后重起成功进入Linux,则说明新的支持netfiter的内核已经正常运行。(注意,这里的内核选项只是一些支持netfilter/iptables的选项。这里假设原有内核已支持嵌入式系统的相关硬件,并能在嵌入式平台上运行)。
    2 N7 `6 a5 a% h) U
    2、编译生成iptables命令
    - t2 [7 a6 w+ Y" H8 M) [
    iptables工具包可以免费从网上获得。下载iptables工具包后,进入下载目录,进行编译生成可执行文件,编译方法具体可以参考iptables目录下的INSTALL文件:
    cd/root/iptables
    makeKERNEL_DIR=/usr/src/linux(指定内核目录)
    makeNO。SHARED_LIBS=1(静态链接编译生成可执行文件)
    把生成的iptables可执行文件copy到ramdisk再下载到嵌入式系统中就可以运行。
    好了,重新启动板子后,就可以用iptables这个命令了。

    ; ~/ i7 t5 b& Z2 |  ^- B* c5 {  T3 w
    作者: mm58690    时间: 2018-10-8 16:52
    谢谢分享
    作者: 东星耀阳孟    时间: 2018-10-10 17:17
    学习一下!!!




    欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2