Ubuntu9.04安装L7-filter

来源:互联网 发布:视频直播网络解决方案 编辑:程序博客网 时间:2024/04/20 06:35

一、准备工作

1、Ubuntu9.04的内核版本是2.6.28-11-generic,可以用命令uname -r来查看内核版本

2、L7-filter安装有两种方法:

1)安装Userspace版的L7-filter

2)安装内核版的L7-filter

本方法采取方法2),即升级内核的方法安装内核版的L7-filter。

3、下载以下文件:

1)iptables-1.4.11.1.tar.bz2,安装最新的iptables软件,iptables是运行于netfilter之上的应用层软件。

2)l7-protocols-2009-05-28.tar.gz,最新的Layer7协议,其中包含了L7所需的匹配模式。

3)linux-2.6.30.5.tar.gz,将linux内核升级到2.6.30.5版本。

4)netfilter-layer7-v2.22.tar.gz,升级netfilter,并用来给内核打支持Layer7的补丁。

4、更新软件源,安装配置内核的工具

1)找一个和自己网络匹配的软件源,如教育网源、电信网源等。我是电信网就选了网易的更新源。

#sudo gedit /etc/apt/sources.list

添加以下源地址到sources.list文件中,删除原来的所有内容。

deb http://tel.mirrors.163.com/ubuntu/ lucid main restricted universe multiversedeb http://tel.mirrors.163.com/ubuntu/ lucid-security main restricted universe multiversedeb http://tel.mirrors.163.com/ubuntu/ lucid-updates main restricted universe multiversedeb http://tel.mirrors.163.com/ubuntu/ lucid-proposed main restricted universe multiversedeb http://tel.mirrors.163.com/ubuntu/ lucid-backports main restricted universe multiversedeb-src http://tel.mirrors.163.com/ubuntu/ lucid main restricted universe multiversedeb-src http://tel.mirrors.163.com/ubuntu/ lucid-security main restricted universe multiversedeb-src http://tel.mirrors.163.com/ubuntu/ lucid-updates main restricted universe multiversedeb-src http://tel.mirrors.163.com/ubuntu/ lucid-proposed main restricted universe multiversedeb-src http://tel.mirrors.163.com/ubuntu/ lucid-backports main restricted universe multiverse

执行更新源命令

#sudo apt-get update

2)安装编程工具和配置内核的工具

#sudo apt-get install build-essential kernel-package libncurses5-dev

有的攻略说要安装initramfs,其实安装kernel-package就包含了initramfs功能了,额外安装initramfs反而会导致无法进入X桌面。

二、打补丁、升级内核

1、把以上下载的4个文件复制到/usr/src目录下,执行以下命令。

#cd /usr/src

#tar -zxvf linux-2.6.30.5.tar.gz

#tar -zxvf netfilter-layer7-v2.22.tar.gz

#tar -zxvf l7-protocols-2009-05-28.tar.gz

#tar -xjf iptables-1.4.11.1.tar.bz2

2、给linux内核打补丁

#cd /usr/src/linux-2.6.30.5

#patch -p1 <../netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.patch

3、编译内核

#cd /usr/src/linux-2.6.30.5

#make menuconfig

进入内核配置界面后,勾选以下两个选项,保存退出。

Networking support -->Networking options --> Network packet filtering framework(Netfilter)--> 

Core Netfilter Configuration--> 勾选layer7 match support和Layer 7 debugging output

#cd /usr/src/linux-2.6.30.5

#make                                         //大约要一个小时,所以可以干点其他的事情

#make modules_install

#make install

4、生成initrd镜像文件、修改grub

#cd /usr/src/linux-2.6.30.5

#mkinitramfs -o /boot/initrd.img-2.6.30.5  2.6.30.5

   //最后的参数2.6.30.5是版本号,要与/lib/modules下相应的文件夹名相同

#sudo gedit /boot/grub/menu.lst

如果Ubuntu是硬装的,就在menu.lst后面添加以下代码:

title  Ubuntu 9.04, kernel 2.6.30.5kernel /boot/vmlinuz-2.6.30.5  root=/dev/sda1  ro  quiet  splashinitrd /boot/initrd.img-2.6.30.5quiet

如果Ubuntu是wubi安装的,就在menu.lst后面添加以下代码:

title  Ubuntu 9.04, kernel 2.6.30.5root   (hd0,0)/ubuntu/diskskernel /boot/vmlinuz-2.6.30.5 root=/dev/sda1 loop=/ubuntu/disks/root.disk ro quiet splashinitrd /boot/initrd.img-2.6.30.5quiet

以上menu.lst中的“root=”后面的内容填写UUID和主分区路径都行。

接下来reboot,就能进入更新到2.6.30.5版本内核的Ubuntu了。

三、安装升级iptables

#cd /usr/src

#tar -jxvf iptables-1.4.11.1.tar.bz2

#cd iptables-1.4.11.1

#cd /usr/src/netfilter-layer7-v2.22/iptables-1.4.3forward-for-kernel-2.6.20forward

#cp libxt_layer7.*   /usr/src/iptables-1.4.11.1/extensions/

#cd /usr/src/iptables-1.4.11.1

#./configure  --prefix=/  --with-ksource=/usr/src/linux-2.6.30.5

#make

#make install

现在可以用iptables -V命令查看一下iptables版本,可以看到已经被更新了。

四、安装l7-protocols模式包

#cd /usr/src

#tar -zvxf l7-protocols-2009-05-28.tar.gz

#cd l7-protocols-2009-05-28

#make install