Centos5反p2p模块安装精要

来源:互联网 发布:淘宝达人不能开店 编辑:程序博客网 时间:2024/06/09 20:10
Centos5.1的内核源码路径为:/usr/src/kernels/2.6.18-8.el5-i686,这是个很坚挺的系统,经过长时间的检验效果还不错。
    因为国外的那个ipp2p产品停止开发了,所以现在只有国内的高手自己出的修正版。在这里,我们用的是ipp2p-0.99.15。操作系统上自带的iptables版本是1.3.5。我们今天就把它们配合起来炖锅粥,啊,错了,是为防火墙加入反p2p功能。根据高手的说法,他是在2.6.23内核 + iptables-1.3.8下做的。于是,我前期吃了不少苦头。满屏幕错误一次又一次让我疯狂,不过现在我已经处惊不变了,因为我的心脏已经锻炼的很坚强。当出现:
gcc -O3 -Wall -DIPTABLES_VERSION=/"1.3.5/" -I/root/iptables-1.3.5/include -fPIC -c libipt_ipp2p.cld -shared -o libipt_ipp2p.so libipt_ipp2p.o
这个无错误提示的时候,我很平静,真的很平静,平静的犹如西门吹雪刚吃完老婆饼蹲在院子里端详他的剑。我已经不年轻了……如果在一年前,我可能还会骂出该死的GCC,破烂的防火墙模块,挨千刀的谁写的那么复杂的东西之类的话……而现在,我不会了。

江湖中的牛人是这样说的:

1.解压缩.tar.gz文件后,进入源码目录。
2.修改Makefile文件,主要是其中的KERNEL_SRC和IPTABLES_SRC,使他们指向具体的内核源代码目录和iptables的源代码目录。(内核必须要设置正确,因为通常编译的内核都不会打开“Module versioning support”选项;但是iptables的目录不是必须的,只要iptables.h文件在系统的include目录(通常是/usr/include)中就可以)
3.如果提示编译libipt_ipp2p.so有错误,请将Makefile中的“$(CC) -shared -o libipt_ipp2p.so libipt_ipp2p.o”修改为“ld -shared -o libipt_ipp2p.so libipt_ipp2p.o”。(1.3.5版的iptables使用ld没问题;但是1.3.8版的使用ld就不行了,只能使用gcc)
4.将编译好的libipt_ipp2p.so复制到iptables的模块目录下(通常为/lib/iptables);将ipt_ipp2p.ko复制到内核的netfilter目录下(通常为/lib/modules/内核名称/kernel/net/ipv4/netfilter)
5.运行depmod -a,更新内核模块的依赖关系。
6.停止iptables服务,rmmod ipt_ipp2p,启动iptables服务。

步骤看上去很简单,但是实际操作的时候很多问题。唉……
原创粉丝点击