在2.6内核下不编译内核给iptables添加模块

iptables内核编译 iptables内核编译 1.了解需要了解内核编译用到的4个包   linux-2.6.28.10.tar.gz   netfilter-layer7-v2.22.tar.gz   l7-protocols-2009-05-28.tar.gz   iptables-1. 阅读详情
看了platinum兄弟写的在2.4内核下给iptables添加模块,想在2.6的内核下也试试,经过一天半的努力,并参考platinum兄弟的文章,
终于成功,写下来跟CU的兄弟们分享,我的系统为fedora2+linux-2.6.5-1.358

1,安装kernel源码
[root@jiecho]# yum install kernel-source

2,下载iptables-1.3.3.tar.bz2和patch-o-matic-ng-20050810.tar.bz2并解包,为了方便,我们都放在/usr/src下,
并把kernel和iptables做符号链接.
[root@jiecho]# cd /usr/src
[root@jiecho]# wget ftp://ftp.be.netfilter.org/pub/netfilter/iptables/iptables-1.3.3.tar.bz2
[root@jiecho]# wget ftp://ftp.be.netfilter.org/pub/netfilter/patch-o-matic-ng/snapshot/patch-o-matic-ng-20050810.tar.bz2
[root@jiecho]# tar -jxvf iptables-1.3.3.tar.bz2
[root@jiecho]# tar -jxvf patch-o-matic-ng-20050810.tar.bz2
[root@jiecho]# ln -s linux学习-2.6.5-1.358 linux学习
[root@jiecho]# ln -s iptables-1.3.3 iptables

3,给netfilter打补丁,选择你要的模块,为了测试我就选择了ipp2p和time
[root@jiecho]# cd /usr/src/linux
[root@jiecho]# make mrproper
[root@jiecho]# make menuconfig
什么不做,保存退出,然后把Makefile改一下
[root@jiecho]# vi Makefile
把EXTRAVERSION = -1.358custom更改为EXTRAVERSION = -1.358
保持跟uname -a 的版本一致(可详细参考platinum兄弟的文章)
[root@jiecho]# cd /usr/src/patch-o-matic-ng-20050810
[root@jiecho]# ./runme ipp2p
[root@jiecho]# ./runme time
因为事先做好了符号链接,等问你kernel和iptables的位置的时候直接回车就行,
提示你是否添加ipp2p和time模块是就y确定,至此,netfilter的补丁打完了,如果你需要别的模块可以根据需要加上.

4,编译kernel的modules
[root@jiecho]# cd /usr/src/linux
[root@jiecho]# make menuconfig
在Device Drivers->;Networking support->;Networking options->;Network packet filtering (replaces ipchains)
->;IP: Netfilter Configuration中把下面的两项M选中.
<M>; TIME match support                                                               
<M>; IPP2P match support
然后保存退出
4,编译安装模块
下面就是最重要的步骤了,因为我们的原则是节省时间,不重新编译内核,而只编译其中的模块,
这点2.4的内核跟2.6的内核有所不同,郁闷了我一整天,2.4内核的模块是以*.o形式的,而2.6内核是以*.ko形式的,
这有个改变的方法,参考:http://blog.chinaunix.net/article.php?articleId=40742&blogId=2662
[root@jiecho]# make modules
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/split-include
  HOSTCC  scripts/basic/docproc
  HOSTCC  scripts/conmakehash
  HOSTCC  scripts/kallsyms
  CC      scripts/empty.o
  HOSTCC  scripts/mk_elfconfig
  MKELF   scripts/elfconfig.h
  HOSTCC  scripts/file2alias.o
  HOSTCC  scripts/modpost.o
  HOSTCC  scripts/sumversion.o
  HOSTLD  scripts/modpost
  HOSTCC  scripts/pnmtologo
  HOSTCC  scripts/bin2c
  到这里就可以ctrl+c中止了,因为我们不是要编译所有的模块,这样太浪费时间,而仅仅是netfilter的模块,
  但是如果你直接执行make modules SUBDIRS=net/ipv4/netfilter就会出错,这就是2.4和2.6的区别,
  我们先生成了scripts目录下的一系列需要的文件后就可以make modules SUBDIRS=net/ipv4/netfilter,
  并用modpost等等把*.o文件生成为*.ko文件.
[root@jiecho]# make modules SUBDIRS=net/ipv4/netfilter
编译完成netfilter的模块后拷贝编译完成的模块
[root@jiecho]# cp /usr/src/linux/net/ipv4/netfilter/ipt_ipp2p.ko /lib/modules/2.6.5-1.358/kernel/net/ipv4/netfilter/
[root@jiecho]# cp /usr/src/linux/net/ipv4/netfilter/ipt_time.ko /lib/modules/2.6.5-1.358/kernel/net/ipv4/netfilter/
[root@jiecho]# chmod +x /lib/modules/2.6.5-1.358/kernel/net/ipv4/netfilter/ipt_ipp2p.ko
[root@jiecho]# chmod +x /lib/modules/2.6.5-1.358/kernel/net/ipv4/netfilter/ipt_time.ko
[root@jiecho]# depmod -a
5,编译iptables
[root@jiecho]# cd /usr/src/iptables
参照INSTALL文件我们进行编译安装
[root@jiecho]# make KERNEL_DIR=/usr/src/linux
会有错误编译不过
/usr/src/linux/include/linux/config.h:6:2: [root@jiecho]#error including kernel header in userspace; use the glibc headers instead!
我google了半天也没有找到是什么原因,就自己动手解决
[root@jiecho]# vi /usr/src/linux/include/linux/config.h把下面的三行注释掉
//#ifndef __KERNEL__
//#error including kernel header in userspace; use the glibc headers instead!
//#endif

然后重新编译安装
make KERNEL_DIR=/usr/src/linux
make install KERNEL_DIR=/usr/src/linux
完成安装以后测试一下
[root@jiecho]# iptables -V
[root@jiecho]# modprobe ipt_time
[root@jiecho]# modprobe ipt_ipp2p
[root@jiecho]# lsmod
ipt_time                2432  0
ipt_ipp2p               7552  0
ipt_REJECT              4736  1
ipt_state               1536  1
ip_conntrack           24968  1 ipt_state
iptable_filter          2048  1
ip_tables              13440  5 ipt_time,ipt_ipp2p,ipt_REJECT,ipt_state,iptable_filter
battery                 6924  0
ipv6                  184288  10
3c59x                  30376  0
binfmt_misc             7176  1
nls_utf8                1536  4
ntfs                   81516  4
dm_mod                 33184  0
uhci_hcd               23708  0
button                  4504  0
asus_acpi               8472  0
ac                      3340  0
ext3                  102376  4
jbd                    40216  1 ext3
测试iptables
[root@jiecho]# iptables -A FORWARD -m ipp2p --edk --kazaa --bit -j DROP
[root@jiecho]# iptables -A INPUT -m time --timestart 8:00 --timestop 18:00 --days Mon,Tue,Wed,Thu,Fri
[root@jiecho]# iptalbes -L

才看到这个帖子,2.6下kernel的makefile做了不少改动,所以按照以前2.4的编译方式有些地方就不太一样了,尤其是模块编译

楼主前面的步骤都没问题,只是在make modules这部其实不用按ctrl+c,
将这部替换成
make modules_prepare
然后SUBDIRS其实也可以不用了,2.6用更简洁的方式代替,下一步可以这样写:
make M=net/ipv4/netfilter

然后其它步骤照旧即可。


这些都是通过看Makefile对比得出来的,我已经用过很多次了,都没有问题。
泛微OAe9实战:如何从零搭建一个车辆预约系统(附完整代码) 本文详细介绍了如何利用泛微OA e9的建模引擎,从零开始构建一个企业级车辆预约管理系统。文章深入解析了核心数据模型设计、前后端双重预约冲突校验机制,并重点演示了如何配置自定义资源看板以实现车辆使用状态的可视化监控。该系统设计思路通用,可扩展至会议室、设备等各类共享资源的管理。 阅读详情

相关推荐

TL431过压保护电路实战:5.5V阈值设计全流程(附MOSFET选型建议)

本文详细介绍了基于TL431和MOSFET构建5.5V阈值过压保护电路的完整设计流程。内容涵盖核心原理、阈值计算、驱动电路设计,并重点针对大电流应用场景,提供了MOSFET选型与散热处理的实战建议,帮助工程师打造可靠高效的电源保护方案。

weixin_28327051的博客 540

Linux系统中使用iptables技术

Linux系统中使用iptables技术

zwenqian0602的博客 531

UE5 Decal混合进阶:如何用DBuffer实现自定义Normal插值(附完整材质配置流程)

本文深入解析了UE5中利用DBuffer技术实现Decal自定义Normal插值的完整流程。通过详细的材质配置步骤和核心算法说明,帮助开发者突破传统混合模式限制,掌握高级法线控制技巧,特别适合需要精细环境细节的3A级项目开发。

table的专栏 225

【Linux】iptables的内核模块问题大坑!

系统环境 CentOS 6.5 今天本来可以平静的度过一天,正品味着下午茶的美好,突然接到防火墙iptables的报警。 进入到服务器中,执行下面的命令查看,结果报错 /etc/init.d/iptables restart iptables: Applying firewall rules: iptables-restore v1.4.7: iptables-restore: un......

zclinux的博客 4万+

从流体力学到深度学习:手把手教你用PINN预测涡流场(基于TensorFlow2.10+GPU)

本文详细介绍了如何利用物理信息神经网络(PINN)结合TensorFlow 2.10和GPU加速,预测Navier-Stokes方程的涡流场。通过核心原理讲解、实战环境配置、网络架构设计及物理约束实现,帮助读者掌握从流体力学到深度学习的跨学科技术应用,特别适合处理复杂流体问题和非定常流动场景。

weixin_29048309的博客 212

打造你自己的小程序容器 —— 一套能装得下整个未来的跨端技术!

摘要: 本文介绍了一种基于Capacitor框架开发的轻量级“小程序容器”解决方案——LapDrop。通过模拟微信小程序的运行逻辑(动态加载、原生能力调用、沙盒环境),LapDrop允许开发者自主构建跨平台(iOS/Android/Web)的小程序生态。其核心利用Capacitor的插件桥接机制,实现JS与原生功能的无缝调用,并支持浏览器调试与原生环境一致化。优势包括插件化架构、状态隔离、热更新及开放权限控制,适用于企业级模块化应用或开发者工具。未来计划扩展生命周期管理、远程加载等功能,目标成为开源的小程序

CangYuChenAi的博客 976

重新编译龙芯梦兰loongnix系统内核添加iptables_nat模块

龙芯梦兰发布的基于fedora21的loongnix系统,但系统没有iptables_nat模块,导致无法安装docker应用。 为了安装docker应用,只能重新编译内核加入iptables_nat模块。 在网上找了很多重新编译内核的资料,发现都不太适合龙芯的系统。 自己摸索着重新编译...

chengshi9304的博客 732

实战篇【2】-H3C防火墙开局基础配置

本篇文章为“H3C防火墙开局基础配置”,主要涵盖配置管理地址、聚合端口、安全区域、安全策略、静态路由、ACL,WEB和SSH远程管理、Console、SNMP、NTP时钟、日志主机等内容,对比交换机配置开局,增加两处配置,安全区域和安全策略。方便调试人员远程管理、调试。

weixin_47402139的博客 1万+

嵌入式 iptables静态编译与动态编译

iptables的移植     Linux下支持netfilter机制的配置工具就是iptables,它也就相当与一个应用程序,可以对netfilter进行配置(包过滤规则,NAT等等)。所以要实现netfilter(iptables)就要从两方面来着手:1)内核支持netfilter;2)用户层的iptables配置命令。 1)        编译内核,支持netfilter  在

skdkjxy的专栏 5777

IP2315高效同步降压充电IC在快充应用中的硬件与软件控制策略

本文深入解析IP2315高效同步降压充电IC在快充应用中的硬件与软件控制策略,涵盖其核心特性、硬件电阻调节技巧、I2C动态控制方案、散热设计优化及典型问题排查。IP2315支持多种快充协议,如Type-C PD、华为FCP等,适用于便携设备快速充电需求,并通过I2C实现灵活的充电参数设置,提升充电效率与安全性。

weixin_29248313的博客 539

Python调用CANoe

我们可以创建CANoe应用程序对象,打开配置文件,启动模拟,发送和接收消息,并在完成后关闭CANoe应用程序。这使得我们能够使用Python自动化执行测试任务,并集成CANoe的功能到我们的Python应用程序中。CANoe是一款功能强大的汽车网络仿真和测试工具,它能够模拟和分析汽车网络通信,并提供丰富的测试功能。通过Python编程语言,我们可以方便地调用CANoe的API,实现自动化测试和集成CANoe的功能到我们的Python应用程序中。在CANoe中,我们可以为不同的汽车网络创建配置文件。

AzqLinux的博客 1288

如何移植iptables1.4.9到Tiny6410_Linux2.6.38内核

版权声明:对于本博客所有原创文章,允许个人、教育和非商业目的使用,但务必保证文章的完整性且不作任何修改地以超链接形式注明原始作者、出处及本声明。     博客地址:http://blog.csdn.net/shuxiao9058     原始作者:季亚 一、 建立交叉编译环境 在Linux平台下,要为开发板(Tiny6410等)开发程序,编译内核等操作时,均需要交叉编译工具链,

啸傲居士 5138

AgentScope实战训练营- Java从零开始快速构建Agent完整教程

本文基于阿里巴巴开源的 AgentScope Java 框架,从零开始手把手带你构建 AI 智能体应用。内容涵盖环境搭建、基础对话、工具调用、结构化输出、多Agent流水线、Hook可观测性、会话持久化、MCP协议、RAG知识库集成、多模态工具、技能系统、Spring Boot Web部署等21个核心模块,附带完整可运行代码示例,帮助Java开发者快速掌握Agent开发全流程。

program哲学 863

linux模块加到内核编译,Linux不编译2.6内核直接给iptables加模块

Linux不编译2.6内核直接给iptables加模块发布时间:2007-07-25 00:01:20来源:红联作者:typewins1、安装kernel源码[root@jiecho]# yum install kernel-source2、下载iptables-1.3.3.tar.bz2和patch-o-matic-ng-20050810.tar.bz2并解包,为了方便,我们都放在/usr/sr...

weixin_30160357的博客 243

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

iptables添加模块

[转贴]这个文档很简单,只有“准备工作”和“安装步骤”两部分,在这里我要特别感谢ChinaUnix的“gouya”和“lyxmoo”,他们给了我很大帮助,也谢谢在此期间关心帮助过我的朋友们。准备工作需要一个内核源码,下载最新内核源码包或者使用系统自带的RPM包均可需要一个最新的patch-o-matic-ng,可以到官方网站下载最新的快照http://ftp.netfilter.org/pub/p

Marking的专栏 3401

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux iptables 内核,Linux Iptables 内核2.6.18添加time模块

系统:CentOS 5.1 内核:2.6.18-53.1.19.el5本文引用地址:http://www.eepw.com.cn/article/201809/388532.htmiptables 版本 1.3.5(系统自带的)下载一个内核:linux-2.6.18 解压到/usr/src/linux#cd linux#make mrproper#make menuconfig什么也不做,退出.v...

weixin_39760721的博客 200

iptables 添加time 模块

需要下载内核源码 linux-2.6.18.tar.bz2 iptables源码 iptables-1.3.5.tar.bz2 内核补丁 patch-o-matic-ng-20080214.tar.bz2 把源码包解压到/usr/src 下 #cd /usr/src #tar xvfj  linux-2.6.18.tar.bz2 #tar xvfj  iptables-1.3.5

学习之路 2311

linux 2.6下编译内核启用iptables及netfilter

linux 2.6下编译内核启用iptables及netfilter<br />      最近在配置snat试,打开iptables总是不成功,原来netfilter的功能在内核编译时没有选,所以需要加载netfilter模块,可我是菜鸟根本不会加载模块,只有重新编译了内核。找了几篇文章总结如下:<br />编译内核时,您可以选择使用make config、make menuconfig或make xconfig中的任意一个。我的建议是使用make menuconfig或者make xconfig,因为它

激情成就梦想--关注移动互联网 5804

iptables 与 ip6tables 命令依赖的内核模块

--show-depends List the dependencies of a module (or alias), including the module itself. This produces a (possibly empty) set of module filenames, one per line, each starting with "insmod" and is typically used by distribution...

龙瑜的博客 4664

ansible常用模块之 -- iptables模块 – 修改iptables规则

ansible常用模块之 -- iptables模块 – 修改iptables规则

weixin_44762073的博客 1463

2.6内核下不编译内核给iptables加模块

 1,安装kernel源码[root@jiecho]# yum install kernel-source2,iptables-1.3.3.tar.bz2和patch-o-matic-ng-20050810.tar.bz2并解包,为了方便,我们都放在/usr/src下,并把kernel和iptables做符号链接.[root@jiecho]# cd /usr/src[root@ji

Linux Operating System 的专栏 683

iptables的内核配置

转:http://hi.baidu.com/%C1%D6%D3%C6%BE%D3%CA%BF/blog/item/e58aff44c8eda52dcffca3fb.html     CONFIG_PACKET - 允许程序直接访问网络设备(译者注:最常用的就是网卡了),象tcpdump 和 snort就要使用这个功能。 严格地说,iptables并不需要CONFIG_PACKET,但是...

指点江山 2745

Ubuntu +linux phytium 6.6 出现无法使用iptables

iptables

u012584540的博客 894

linux编译内核,使其支持iptables recent模块【Enable IPTABLES support in Linux Kernel】

参考地址:http://blog.serverbuddies.com/enable-iptables-support-in-linux-kernel/ 公司交给我配置一个简单的安全模块任务,想着用iptables命令弄个防止端口扫描,命令如下 iptables -P INPUT ACCESS iptables -I INPUT -i br-wan -p tcp -m state --stat...

JY5292的博客 1356

linux内核添加iptables拓展模块支持

当出现iptables拓展模块不支持时,如下 iptables -t mangle -A PREROUTING -m iprange --src-range 192.12.12.12-192.12.12.22 -m iprange --dst-range 192.12.112.10-192.12.112.20 -m multiport --dports 1:100 -m time --timestart 10:00 --timestop 20:00 --weekdays 1,2,3,4 -j MARK -

锅锅的博客 2449

redhat6 iptables 内核升级

[root@localhost ~]# yum -y install ncurses-devel gcc gcc-c++ [root@localhost ~]# rpm -ivh kernel-2.6.32-431.5.1.el6.src.rpm [root@localhost ~]# cd rpmbuild/SOURCES [root@localhost SOURCES]# tar -xf li...

weixin_43557605的博客 578
上一篇: typedef和#define的定义与区别
下一篇: 从ip_queue到nfnetlink_queue(下)
max415
博客等级 码龄22年 16粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值