iptables交叉编译(Hisiav300平台)

参考文章:https://blog.csdn.net/Bgm_Nilbb/article/details/135714738

https://bbs.archlinux.org/viewtopic.php?pid=1701065

1、libmnl 交叉编译

c 复制代码
tar xvf libmnl-1.0.5.tar.bz2
sudo chmod 777 -R libmnl-1.0.5
cd libmnl-1.0.5
mkdir _install
//host和CC需要修改成自己的,其他版本可能需要先执行autogen.sh脚本
./configure --host=arm-himix410-linux CC=arm-himix410-linux-gcc LDFLAGS=-static --prefix=$PWD/_install
make 
make install

2、libnftnl交叉编译

c 复制代码
tar xvf libnftnl-1.2.6.tar.xz
sudo chmod 777 -R libnftnl-1.2.6
cd libnftnl-1.2.6
mkdir _install
//PKG_CONFIG_PATH为libmnl的产物路径libmnl-1.0.5/_install/lib/pkgconfig
./configure --host=arm-himix410-linux CC=arm-himix410-linux-gcc  \
		LDFLAGS=-static --prefix=$PWD/_install \
		PKG_CONFIG_PATH=/home/johan/share/Hi3516CV500/wifi/iptables_build/libmnl-1.0.5/_install/lib/pkgconfig
make
make install

3、iptables交叉编译

c 复制代码
tar xvf iptables-1.8.9.tar.xz
sudo chmod 777 -R iptables-1.8.9
cd iptables-1.8.9/
mkdir _install
./autogen.sh
//PKG_CONFIG_PATH中添加libmnl和libnftnl产物的pkgconfig路径--也可直接加在makefile中
./configure --host=arm-himix410-linux CC=arm-himix410-linux-gcc --enable-static \
	--disable-shared --prefix=$PWD/__install --disable-ipv6 --disable-largefile \
	PKG_CONFIG_PATH="/home/johan/share/Hi3516CV500/wifi/iptables_build/libmnl-1.0.5/_install/lib/pkgconfig:/home/johan/share/Hi3516CV500/wifi/iptables_build/libnftnl-1.2.6/_install/lib/pkgconfig"
make
make install

4、使用iptables

c 复制代码
#配置启用NAT转发规则 -o配置上行口即sta使用的网卡
1. iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE 
2. iptables -A FORWARD -i wlan0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT
3. iptables -A FORWARD -i wlan1 -o wlan0 -j ACCEPT
4. iptables -nvL -tnat   #查看NAT表的规则列表和统计信息
相关推荐
AII_IIA24 分钟前
Ubuntu误删libaudit.so.1 导致系统无法正常使用、崩溃
linux·ubuntu·selinux·audit·libaudit
---学无止境---26 分钟前
Linux内存映射构建艺术:VMA链接与管理的深度剖析
linux
MarcoPage2 小时前
Python 字典推导式入门:一行构建键值对映射
java·linux·python
埃伊蟹黄面3 小时前
计算机的“身体”与“灵魂”:冯·诺依曼架构与操作系统
linux
winner88815 小时前
Linux 软件安装 “命令密码本”:yum/apt/brew 一网打尽
linux·运维·服务器
思麟呀7 小时前
Linux的基础IO流
linux·运维·服务器·开发语言·c++
winner88817 小时前
嵌入式Linux驱动开发全流程:工具协作+核心概念拆解(从入门到理解)
linux·运维·驱动开发
ShiinaKaze7 小时前
fatal error: bits/c++config.h: No such file or directory
linux·gcc·g++
Archy_Wang_18 小时前
脚本自动生成专业Linux巡检报告
linux·运维·服务器
java_logo8 小时前
SGLANG Docker容器化部署指南
linux·运维·docker·容器·eureka·1024程序员节