- 論壇徽章:
- 0
|
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@大鬼不動(dòng) ~]# cd /usr/src
[root@大鬼不動(dòng) src]# wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.gz
[root@大鬼不動(dòng) src]# wget http://www.netfilter.org/project ... ables-1.4.3.tar.bz2
[root@大鬼不動(dòng) src]# wget http://nchc.dl.sourceforge.net/s ... layer7-v2.22.tar.gz
[root@大鬼不動(dòng) src]# wget http://nchc.dl.sourceforge.net/s ... s-2009-05-28.tar.gz
[root@大鬼不動(dòng) 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@大鬼不動(dòng) src]# cd l7-protocols-2009-05-28
[root@大鬼不動(dòng) l7-protocols-2009-05-28]# make install
[root@大鬼不動(dòng) l7-protocols-2009-05-28]# cd ../linux-2.6.28
[root@大鬼不動(dòng) linux-2.6.28]# cp /boot/config-2.6.18-164.el5 .config
[root@大鬼不動(dòng) linux-2.6.28]# patch -p1 < /usr/src/netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.patch
{注:如果之前曾經(jīng)編譯過,需要先執(zhí)行 make mrproper 。make oldconfig會(huì)自動(dòng)對(duì)比之前的kernel config,根據(jù)之前版本的配置生成一個(gè)kernel config,這樣方便我們?cè)诰幾g新核心的時(shí)候,無須在從頭修改所有的核心設(shè)置}
=======================================
[root@大鬼不動(dòng)]# make clean && make mrproper
[root@大鬼不動(dòng)]# cp /boot/config-`uname -r` ./.config
[root@大鬼不動(dòng)]# make oldconfig
=======================================
[root@大鬼不動(dòng) linux-2.6.28]# make menuconfig
Load an Alternate Configuration File-->載入剛才復(fù)制過來的.config
make menuconfig-->Networking support-->Networking options-->Network packet filtering framework (Netfilter)
把layer7、string、state、time、IPsec、iprange、connlimit……等編譯成模塊
Exit --> 保存.config文件
{注:內(nèi)核配置有兩種方法,一種是直接置入內(nèi)核* ;另一種是編成模塊M ;兩種方法各有優(yōu)點(diǎn);直接編入內(nèi)核的,
比如設(shè)備的啟動(dòng),不再需要加載模塊的這一過程了;而編譯成模塊,則需要加載設(shè)備的內(nèi)核支持的模塊;但直接把
所有的東西都編入內(nèi)核也不是可行的,內(nèi)核體積會(huì)變大,系統(tǒng)負(fù)載也會(huì)過重。我們編內(nèi)核時(shí)最好把極為重要的編入
內(nèi)核;其它的如果您不明白的,最好用默認(rèn)。
如果不勾選“Netfilter connection tracking support”,那么“”layer7” match support”將不會(huì)在這里顯示出來,
務(wù)必將“Netfilter connection tracking support”打上對(duì)勾。}
[root@大鬼不動(dòng) linux-2.6.28]# make && make modules_install && make install
[root@大鬼不動(dòng) linux-2.6.28]# vi /boot/grub/grub.conf ;設(shè)置Kernel 2.6.28 默認(rèn)啟動(dòng)
[root@大鬼不動(dòng) linux-2.6.28]# reboot
=========================================
編譯了新的內(nèi)核2.6.28后總是在啟動(dòng)的時(shí)候報(bào)錯(cuò)--[編譯Kernel2.6.28以上30.4...都報(bào)錯(cuò)]
insmod: error inserting '/lib/dm-region-hash.ko' : -1 File exists
重復(fù)加載了/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
釋放之后看到如下內(nèi)容
[root@bogon newinitrd]# ls
bin dev etc init lib proc sbin sys sysroot
2,ok,下邊就是編輯init,刪掉其中重復(fù)的四行中的兩行
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” 就不會(huì)有了
其實(shí)將init文件的第二行“setquiet” 去掉,你就知道initrd文件到底在做什么了
=========================================
[root@大鬼不動(dòng) ~]# cd /usr/src/iptables-1.4.3
[root@大鬼不動(dòng) iptables-1.4.3]# cp ../netfilter-layer7-v2.22/iptables-1.4.3-for-kernel-2.6.20forward/* extensions/
[root@大鬼不動(dòng) iptables-1.4.3]# ./configure --with-ksource=/usr/src/linux-2.6.28 && make && make install && reboot
三、測(cè)試自己選中的模塊
略...
四、RHEL5.4同理
大鬼不動(dòng)
461309026@qq.com
2009.12.08
[ 本帖最后由 大鬼不動(dòng) 于 2009-12-8 09:35 編輯 ] |
評(píng)分
-
查看全部評(píng)分
|