iptables移植+内核修改

news2024/12/27 3:04:42





iptables移植,交叉编译后的文件,如果交叉编译工具一致可以直接使用-嵌入式文档类资源-CSDN文库

移植iptables过程中出现一些问题,这里记录一下

Iptables是用户态提供的更改过滤规则的便捷工具,通过使用这个工具,可以方便的改变内核下netfilter的默认规则,也可以根据自己的需求添加自定的规则。

  • iptables官网(Netfilter):http://www.netfilter.org/projects/iptables/index.html。
  • iptables下载地址:ftp://ftp.netfilter.org/pub/iptables/。

移植步骤:

http://www.netfilter.org/projects/iptables/files/

在这里选择移植的版本号,网上很多使用iptables-1.4.12.2.tar.bz2版本,但是我针对这个版本一直编译不过,提示错误是交叉编译工具的一个头文件的结构体未定义,这里我不想深入去研究他为啥编译不通过了,我就直接换一个版本做同样的操作,竟然编译通过了。

所以我的下载版本是

iptables-1.4.19.1.tar.bz2

下载到该软件版本后

解压到当前文件夹

tar -jxf iptables-1.4.19.1.tar.bz2

创建安装文件夹

mkdir install

打开源码文件夹

cd iptables-1.4.19.1

配置

./configure --host=arm-linux-gnueabihf --enable-static --disable-shared --prefix=/home/ltt/work/filesystem/install --disable-ipv6 --disable-largefile

其中,

  • --host: 指定交叉编译工具,一般为arm-none-linux-gnueabi、arm-linux-gnueabihf、arm-linux等,具体要和目标板用的交叉编译工具对应
  • --prefix: 指定安装目录,编译后的文件会全部放在安装目录中。必须是绝对路径!
  • --enable-static:使用静态编译。
  • --disable-shared:禁止动态编译。
  • --with-ksource:指定目标板的内核目录。如果不指定,可能会提示:/usr/sbin/iptables: line 1: syntax error: unexpected ")"错误。当然,因为这个是可选项,如果没有提示错误,也可以不加这一项。

这里的这条指令需要根据自己的平台使用的交叉编译工具,进行配置,很多时候交叉编译工具可能会找不到,这里就需要修改环境变量完成;指定的安装文件夹是我们刚开创建的install文件夹。

make

make install

make
make install

将 install/sbin 目录下的所有可执行文件拷贝到开发板即可

其实只有一个需要拷贝的,其他三个都是软链接

 只需要拷贝xtables-multi到开发板的/sbin

登录开发板,切换到/sbin目录

输入如下指令

cd /sbin
chmod 777 xtables-multi
ln -s xtables-multi iptables
ln -s xtables-multi iptables-restore
ln -s xtables-multi iptables-save

测试指令,不报错即可

iptables -L
iptables -A INPUT -t tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -d 192.168.1.15 -p tcp -j DNAT --dport 9000 -- to 192.168.1.16:9000
iptables -t nat -L   

内核修改

 下面的全选,主要是也不确定需要哪些功能,都选择上

我的交叉编译工具的版本,我把交叉编译后的数据上传,如果版本一样,就可以直接使用了,避免重复工作了。

iptables移植,交叉编译后的文件,如果交叉编译工具一致可以直接使用-嵌入式文档类资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/445969.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

openEuler-linux下部署zabbix-超级详细

一、准备工作 下载:zabbix包 地址:下载Zabbix 准备2台openEuler-linux虚拟机: linux-1:当服务器端 IP地址:192.168.100.100 修改hosts文件 [rootzbx ~]# vim /etc/hosts 192.168.100.100 zbx.xx.cn linux-2&…

Spring Boot Web请求响应

在上一讲,学习了Spring Boot Web的快速入门以及Web开发的基础知识,包括HTTP协议以及Web服务器Tomcat等内容。基于SpringBoot的方式开发一个web应用,浏览器发起请求 /hello 后 ,给浏览器返回字符串 “Hello World ~”。运行启动类启…

【Spring篇】IOC相关内容

🍓系列专栏:Spring系列专栏 🍉个人主页:个人主页 目录 一、bean基础配置 1.bean基础配置(id与class) 2.bean的name属性 3.bean作用范围scope配置 二、bean实例化 1.构造方法实例化 2.分析Spring的错误信息 3.静态工厂实例化 4.实例工厂 5.FactoryBean 三…

Python爬虫基础-如何获取网页源代码

Python爬虫基础-如何获取网页源代码 网络爬虫(Web Crawler),又称网页蜘蛛(Web Spider),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。爬虫程序根据一组特定的规则自动的访问网站,然后抓取网页上的内容,进…

布隆过滤器详解

介绍 本文全部代码地址 布隆过滤器是一种高效的数据结构,用于判断一个元素是否存在于一个集合中.它的主要优点是速度快,空间占用少,因此在需要快速判断某个元素是否在集合中的场合得到广泛引用. 布隆过滤器就是一个大型的位数组和几个不一样的无偏hash函数.所谓无偏就是能够…

boot-admin整合flowable官方editor-app源码进行BPMN2-0建模(续)

书接上回 项目源码仓库github 项目源码仓库gitee boot-admin 是一款采用前后端分离模式、基于SpringCloud微服务架构的SaaS后台管理框架。系统内置基础管理、权限管理、运行管理、定义管理、代码生成器和办公管理6个功能模块,集成分布式事务Seata、工作流引擎Flow…

ARM学习

计算机硬件基础* 文章目录 知识体系嵌入式系统分层应用开发和底层开发Linux内核五大功能ARM体系结构和接口技术底层知识的学习方法计算机基础知识 计算机的进制计算机的组成总线三级存储结构地址空间CPU原理概述 简述为什么地址总线为32bit的处理器的地址空间为4G简述CPU执行…

Java应用的优雅停机

一. 优雅停机的概念 优雅停机一直是一个非常严谨的话题,但由于其仅仅存在于重启、下线这样的部署阶段,导致很多人忽视了它的重要性,但没有它,你永远不能得到一个完整的应用生命周期,永远会对系统的健壮性持怀疑态度。…

面试被经常问的SQL窗口函数

面试题 有一张“学生成绩表”,包含4个字段:班级id、学生id、课程id、成绩。 问题1: 求出每个学生成绩最高的三条记录 问题2: 找出每门课程都高于班级课程平均分的学生 技术提升 技术要学会分享、交流,不建议闭门造…

图像去模糊:MSSNet 模型详解

本内容主要介绍实现单图像去模糊的 MSSNet 模型。 论文:MSSNet: Multi-Scale-Stage Network for Single Image Deblurring 代码(官方):https://github.com/kky7/MSSNet 1. 背景 单图像去模糊旨在从模糊图像(由相机抖…

ZLMediaKit在Windows上实现Rtmp流媒体服务器以及模拟rtmp推流和http-flv拉流播放

场景 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放: 开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放_霸道流氓气质的博客-CSDN博客 上面讲…

OJ刷题 第十二篇

21308 - 特殊的三角形 时间限制 : 1 秒 内存限制 : 128 MB 有这样一种特殊的N阶的三角形&#xff0c;当N等于3和4时&#xff0c;矩阵如下&#xff1a; 请输出当为N时的三角形。 输入 输入有多组数据&#xff0c;每行输入一个正整数N&#xff0c;1<N<100 输出 按照给出…

从管理摆脱烦躁:几步打造优秀的仓库管理系统

伴随着物流行业的迅速发展&#xff0c;仓库管理成为了各个供应链环节的重要组成部分。为了更好地管理仓库&#xff0c;节约时间、提高效率&#xff0c;越来越多的企业开始使用仓库管理系统。那么&#xff0c;仓库管理系统是什么&#xff0c;为什么要用它呢&#xff1f;本篇文章…

春秋云境:CVE-2022-25578(文件包含)

目录 一、题目 二、蚁剑连接 一、题目 介绍&#xff1a; taocms v3.0.2允许攻击者通过编辑.htaccess文件执行任意代码 进入题目 访问URL&#xff0c;通过弱口令登录后台&#xff1a;admin/tao 进入后台 点击文件管理&#xff1a; 添加AddType application/x-httpd-php .jpg…

【技术】《Netty》从零开始学netty源码(四十一)之PoolChunk

PoolChunk 我们再回顾以下netty中与内存相关的类&#xff1a; 前面我们已经分析了PoolSubpag&#xff0c;本章我们分析PoolChunk,先看下它的属性值&#xff1a; 为了更好的理解这些属性值&#xff0c;我们结合它的构造函数来理解&#xff0c;具体的源码如下&#xff1a; 其…

网络通信之传输层协议

文章目录 传输层在网络通信中扮演的角色认识TCP协议TCP协议的多种机制确认应答(ACK)机制超时重传机制连接管理机制&#x1f53a;滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常处理 总结 传输层在网络通信中扮演的角色 上图是网络通信中五个模块&#xff…

信号完整性分析:关于传输线的三十个问题解答(三)

21.FR4 中 50 欧姆传输线的单位长度电感是多少&#xff1f;如果阻抗加倍怎么办&#xff1f;&#xff08;What is the inductance per length of a 50-Ohm transmission line in FR4? What if the impedance doubles?&#xff09; FR4 中的所有 50 欧姆传输线的单位长度电感约…

Vector - 常见设备I/O设置及使用

做过协议测试的朋友基本都会知道vector相关的设备&#xff0c;而且很多人都会去使用IO接口&#xff0c;但是并非所有的I/O接口都是一样的&#xff0c;然而他们到底是什么样的呢&#xff1f;这个需要我们去识别不同的设备&#xff0c;然后根据不同的设备去使用对应的IO配置&…

基于docker安装mongo

1.背景 基于业务的需求,部分数据量较大,基本一天的数据量都在1亿左右,关系型数据库已经满足不了了要求,所以更换为非关系型数据库.当然非关系型数据库的种类有很多,我们选择的是mongo,要想了解熟悉mongo,不能只做书面上的功夫,必须较强实际操作,才可以得心应手. 2. 安装mongo…

软件测试概念篇(上)

作者&#xff1a;爱塔居 专栏&#xff1a;软件测试​​​​​ 作者简介&#xff1a;大三学生&#xff0c;希望和大家一起好好学习&#xff01; 文章简介&#xff1a;简述了软件测试方面的基础概念 文章目录 目录 文章目录 一、软件测试概念 二、调试和测试的区别 三、软件测试和…