免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7636 | 回复: 2
打印 上一主题 下一主题

CentOS release 5.4:kernel-2.6.28 + iptables-1.4.3 + layer7-v2.22 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-08 04:33 |只看该作者 |倒序浏览
CentOS release 5.4:kernel-2.6.28 + iptables-1.4.3 + layer7-v2.22
Platform:  CentOS release 5.4 (Final)
Kernel:  2.6.18-164.el5        
Iptables: 1.3.5

一、下载文件
[root@大鬼不动 ~]# cd /usr/src
[root@大鬼不动 src]# wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.gz
[root@大鬼不动 src]# wget http://www.netfilter.org/project ... ables-1.4.3.tar.bz2
[root@大鬼不动 src]# wget http://nchc.dl.sourceforge.net/s ... layer7-v2.22.tar.gz
[root@大鬼不动 src]# wget http://nchc.dl.sourceforge.net/s ... s-2009-05-28.tar.gz
[root@大鬼不动 src]# tar jxvf iptables-1.4.3.tar.bz2 && tar zxvf linux-2.6.28.tar.gz && tar zxvf netfilter-layer7-v2.22.tar.gz && tar zxvf l7-protocols-2009-05-28.tar.gz

二、编译过程
[root@大鬼不动 src]# cd l7-protocols-2009-05-28
[root@大鬼不动 l7-protocols-2009-05-28]# make install
[root@大鬼不动 l7-protocols-2009-05-28]# cd ../linux-2.6.28
[root@大鬼不动 linux-2.6.28]# cp /boot/config-2.6.18-164.el5 .config
[root@大鬼不动 linux-2.6.28]# patch -p1 < /usr/src/netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.patch

{注:如果之前曾经编译过,需要先执行 make mrproper 。make oldconfig会自动对比之前的kernel config,根据之前版本的配置生成一个kernel config,这样方便我们在编译新核心的时候,无须在从头修改所有的核心设置}
=======================================
[root@大鬼不动]# make clean && make mrproper
[root@大鬼不动]# cp /boot/config-`uname -r` ./.config
[root@大鬼不动]# make oldconfig
=======================================

[root@大鬼不动 linux-2.6.28]# make menuconfig
Load an Alternate Configuration File-->载入刚才复制过来的.config
make menuconfig-->Networking support-->Networking options-->Network packet filtering framework (Netfilter)
把layer7、string、state、time、IPsec、iprange、connlimit……等编译成模块
Exit --> 保存.config文件
{注:内核配置有两种方法,一种是直接置入内核* ;另一种是编成模块M ;两种方法各有优点;直接编入内核的,
比如设备的启动,不再需要加载模块的这一过程了;而编译成模块,则需要加载设备的内核支持的模块;但直接把
所有的东西都编入内核也不是可行的,内核体积会变大,系统负载也会过重。我们编内核时最好把极为重要的编入
内核;其它的如果您不明白的,最好用默认。
如果不勾选“Netfilter connection tracking support”,那么“”layer7” match support”将不会在这里显示出来,
务必将“Netfilter connection tracking support”打上对勾。}

[root@大鬼不动 linux-2.6.28]# make && make modules_install && make install
[root@大鬼不动 linux-2.6.28]# vi /boot/grub/grub.conf   ;设置Kernel 2.6.28 默认启动
[root@大鬼不动 linux-2.6.28]# reboot
=========================================
编译了新的内核2.6.28后总是在启动的时候报错--[编译Kernel2.6.28以上30.4...都报错]
insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists
重复加载了/lib/dm-region-hash.ko
http://linux.chinaunix.net/bbs/v ... 3&page=1#pid6959942
可以解决的,步骤如下
1,解压initrd文件
[root@bogon ~]# cp /boot/initrd-2.6.30.4.img /tmp
[root@bogon ~]# cd /tmp/
[root@bogon tmp]# ls
initrd-2.6.30.4.img
[root@bogon tmp]# mkdir newinitrd
[root@bogon tmp]# cd newinitrd/
[root@bogon newinitrd]# zcat ../initrd-2.6.30.4.img |cpio -i
11537 blocks
释放之后看到如下内容
[root@bogon newinitrd]# ls
bin  dev  etc  init  lib  proc  sbin  sys  sysroot

2,ok,下边就是编辑init,删掉其中重复的四行中的两行
echo "Loading dm-region-hash.ko module"
insmod /lib/dm-region-hash.ko
echo "Loading dm-region-hash.ko module"
insmod /lib/dm-region-hash.ko

3,重新打包initrd
[root@bogon newinitrd]# find .|cpio -c -o > ../initrd
11538 blocks
[root@bogon newinitrd]# cd ..
[root@bogon tmp]# gzip -9 < initrd > initrd.img
[root@bogon tmp]# ls
initrd-2.6.30.4.img      initrd       initrd.img            newinitrd

好了,initrd.img就是重新打包的initrd了,然后把initrd.img拷贝到/boot,更改grub.conf里边的initrd-2.6.30.4.img为initrd.img就可以了,
这样“insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists” 就不会有了

其实将init文件的第二行“setquiet” 去掉,你就知道initrd文件到底在做什么了
=========================================
[root@大鬼不动 ~]# cd /usr/src/iptables-1.4.3
[root@大鬼不动 iptables-1.4.3]# cp ../netfilter-layer7-v2.22/iptables-1.4.3-for-kernel-2.6.20forward/* extensions/
[root@大鬼不动 iptables-1.4.3]# ./configure --with-ksource=/usr/src/linux-2.6.28 && make && make install && reboot

三、测试自己选中的模块
      略...
四、RHEL5.4同理               
                                                                                                               大鬼不动
                                                                                                              461309026@qq.com
                                                                                                               2009.12.08

[ 本帖最后由 大鬼不动 于 2009-12-8 09:35 编辑 ]

CentOS release 5.4-kernel-2.6.28 + iptables-1.4.3 + layer7-v2.22.pdf

93.83 KB, 下载次数: 263

评分

参与人数 1可用积分 +30 收起 理由
platinum + 30 由于同类文章很多了,不再加精,鼓励一下!

查看全部评分

论坛徽章:
0
2 [报告]
发表于 2009-12-08 04:35 |只看该作者
自己沙发下,请版主申精!

论坛徽章:
0
3 [报告]
发表于 2009-12-08 10:04 |只看该作者
那我的就只有板凳了,帮楼主顶一下,解决问题的感觉那是很有成就感的!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP