|
|
发表于 2007-1-25 08:51:42
|
显示全部楼层
我的一点经验
说明一下:这个编译只有把iptables的版本升级,从1.3.6到1.3.7,别的都是保持etch原来的样子,没有仔细研究过debian的编译,所以这些步骤其实比较简单,如果有一定的经验,实际上你只要看看下面的第六步就好了,也就是修改Makefile那个地方,别的都没什么。
目的:只是在etch上支持layer7,别的功能不考虑;假定起始的操作在/usr/src目录下
1、安装一些编译的时候必须的包:(这里不知道还有没有漏掉什么)
apt-get install debhelper linuxdoc-tools libncurses5-dev gcc
2、安装系统自带的源码包:
apt-get install linux-source-2.6.18
apt-get source iptables
3、下载最新的iptables和layer7相关的最新的包:
站点:http://www.netfilter.org/ 和 http://sourceforge.net/project/showfiles.php?group_id=80085
wget http://ftp.netfilter.org/pub/iptables/iptables-1.3.7.tar.bz2
wget http://sourceforge.net/project/s ... p;release_id=475646
wget http://sourceforge.net/project/s ... p;release_id=478536
4、解压包:
tar jxvf iptables-1.3.7.tar.bz2
tar zxvf l7-protocols-2007-01-14.tar.gz
tar zxvf netfilter-layer7-v2.9.tar.gz
tar jxvf linux-source-2.6.18.tar.bz2
5、打补丁:
cd iptables-1.3.6.0debian1 ; mv linux linux.bak ; mv iptables iptables.bak ; mv iptables-1.3.6 iptables-1.3.7
cp -r /usr/src/iptables-1.3.7 ./iptables ; cd ./iptables ; patch -p1 < /usr/src/netfilter-layer7-v2.9/iptables-layer7-2.9.patch
cp -r /usr/src/linux-source-2.6.18 ./linux ; cd ../linux ; patch -p1 < /usr/src/netfilter-layer7-v2.9/kernel-2.6.18-2.6.19-layer7-2.9.patch
6、修改Makefile文件:
cd /usr/src/iptables-1.3.6.0debian1/iptables/extensions ; vi Makefile
找到PF_EXT_SLIB:这一段,在iprange后面加入layer7(这样在编译的时候才可会加入layer7模块)
7、编译iptables:
cd /usr/src/iptables-1.3.6.0debian1 ; make binary
8、编译内核:
cd /usr/src/iptables-1.3.6.0debian1/linux ;cp /boot/config-2.6.18-3-686 .config ; make-kpkg --initrd kernel_image
编译刚开始的时候会问你关于layer7模块的问题,将它编译成模块就好了,还有一个问是否debug的问题选n,如果没什么问题的话,应该已经生成两个iptables的包和一个linux-image的包了,用dpkg -i安装上去就可以了,最后记得把l7-protocols的文件安装下,cd l7-protocols ; make install 。然后就可以测试了。 |
|