zoukankan      html  css  js  c++  java
  • iptables交叉编译记事

    内核支持

    需要内核支持,需要重新编译内核。

    为了确认生出的.config文件合适,使用diff命令,不做更改保存.config,确定.config文件是否一致。

    以上主要是确定make menuconfig命令所保存的文件属于arm架构的文件。(有些时候,默认使用是的x86架构,所以虽然前面步骤不会出错,但是在make过程中,会有一些问题,导致认为是代码本身的缺陷)

    因此需要使用以下:

    (sinlinx提供了build.sh文件)

    make menuconfig ARCH=arm
    做完覆盖.config到arch/arm/configs/sinlinx...之类
    ./build.sh

    在meunconfig中,为了避免问题,提供所有的network options之类的选项,使用*,编译到内核中。尤其注意filter表和nat表之类的相关支持。

    交叉编译

    不管是什么了,编译代码用下面这句:主要是为了减少一些不必要的麻烦

    ./configure CC=arm-linux-gnueabihf-gcc 
        --prefix=$(pwd)/__install 
        --host=arm-linux-gnueabihf 
        CFLAGS=-I/usr/local/include 
        LDFLAGS=-L/usr/local/lib 
        --disable-nftables 
        --enable-static 
        --disable-shared 
        --disable-ipv6 
        --disable-largefile
    

    推荐使用交叉编译的iptables版本为:1.8.4吧。问题少一点。

    传送门:https://www.netfilter.org/projects/iptables/downloads.html

    iptables编译,早期使用的1.4或者1.6版本,或者其它之类,需要注意的问题在于:

    so文件问题:部分文件找不到

    有时候需要做一些覆盖问题,如某些文件找不到,而又在某路径下,则对应到/lib等目录下!

    特殊的问题如,文件名过短等错误,则删除该过短文件,将其重新命名为对应的长文件。

    ln -s /opt/lib/libip4tc.so.2.0.0 /lib/libip4tc.so.2
    ln -s /opt/lib/libip4tc.so.2.0.0 /lib/libip4tc.so.2
    ln -s /opt/lib/libxtables.so.12.0.0 /lib/libxtables.so.12
    
    mv /opt/sbin/xtables-multi /opt/sbin/iptables
    

      

    另外关于--port等命令选项不识别的问题,尝试在做交叉编译过程中使用如上的编译代码。出现该问题当然是一些在lib下的xtables中的so文件没有正确的加入到交叉编译的iptables中。

    不过放遍了所有的路径,还是做了以上代码处理。这样,在/lib/xtables中就没有文件了,也许,在里面呢??

    另外一些问题是关于xtables本身的。在生出的xtables中:有时候需要将/sbin/multxxx之类的文件,重新命名为iptables,以便运行(删除原来的iptables)。

    测试用例

    附上测试用例:

    iptables -t nat -A PREROUTING -p tcp -d 10.8.0.6 --dport 102 -j DNAT --to 192.168.1.105:102
    

      

  • 相关阅读:
    大型网站动态应用系统架构(转)
    [转]thinkphp在iis下的rewrite伪静态的配置方法
    [转]WEB安全编程技术规范(V1.0)
    『MXNet』第八弹_数据处理API_下_Image IO专题
    『TensorFlow』变量初始化
    『TensorFlow』线程控制器类&变量作用域
    『Python CoolBook』Cython_高效数组操作
    『Python CoolBook』Cython
    『流畅的Python』第5章笔记_一等函数
    『MXNet』第十弹_物体检测SSD
  • 原文地址:https://www.cnblogs.com/bai2018/p/12196309.html
Copyright © 2011-2022 走看看