一、iptables的交叉编译
1、下载iptables的源码iptables-1.6.2.tar.gz ,解压 tar -xvf ptables-1.6.2.tar.gz
2、进入目录,创建cmd.sh文件,输入命令如下:
其中:
–host 安装的交叉编译名
–with-kernel 内核路径
–prefix 编译后生成二进制的目录,用户可自行设置,预先创建好目录
CC 使用gcc编译器路径
3、增加权限
chmod 777 cmd.sh
4、执行 ./cmd.sh
生成makefile文件
执行完出现Iptables modules that will not be built: ipvs connlabel 不是错误,可忽略
5、make
编译过程中若出现如下错误,则根据解决方案进行操作即可。
错误1 aclocal-1.15 命令找不到
解决方案:执行apt install autoconf
增加一下交叉编译工具链的环境变量 需要联网
错误2 内核目录中include/asm中没有bitsperlong.h头文件
解决方案:将/include/asm-generic目录下的bitsperlong.h拷贝到/include/asm目录下
6、make install
执行完毕后,切换到目录/zy/output,可以查看到如下目录
7、查看编译后文件
1)bin目录 iptables-xml 执行命令file iptables-xml可以看到改文件动态链接到/sbin/xtables-mutil
2)include目录
3)lib目录
4)sbin目录 iptables、iptables-restore、iptables-save也是xtables-multi的软链接
5)share 共享