Centos5.4升级内核 iptables Layer7 ipp2p
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-08
的补丁没有试过
patch -p1 < ../netfilter-layer7-v2.20/iptables-1.4-for-kernel-2.6.20forward-layer7-2.20.patch
5、接下来就是安装打好补丁的iptables1.4.2了,进入到iptables1.4.2源码目录,执行以下命令:
./configure --with-ksource=/usr/src/linux-2.6.28
make KERNEL_DIR=/usr/src/linux BINDIR=/sbin LIBDIR=/lib MANDIR=/usr/share/man
拥有帝国一切,皆有可能。欢迎访问phome.net
make install BINDIR=/sbin LIBDIR=/lib MANDIR=/usr/share/man
四、重新启动之后查看内核是否加载成功 以及iptables版本
[root@DB2 ~]# uname –a
Linux DB2 2.6.28 #1 SMP Thu Feb 24 11:19:41 CST 2011 x86_64 x86_64 x86_64 GNU/Linux
[root@DB2 ~t ~]# iptables -V
iptables v1.4.5
五、编译加载ipp2p(这个步骤一定会出现一些问题,是新版本的内核和iptabels的改变导致的) 修改Makefile,编译 tar zxvf ipp2p-0.99.15.tar.gz cd ipp2p-0.99.15/ vi Makefile 修改kernel_dir为/usr/src/linux-2.6.24.7 make 如果完全按照上面的步骤操作,编译的时候遇到的第一个错误应该 是这样的:图一
这是版本差异造成的,需要修改代码: 修改libipt_ipp2p.c 找到报警的行:375,376,378,379 参考系统的libxt_mark.c修改相关代码如下: static void 删除init(struct ipt_entry_match *m, unsigned int *nfcache) 添加init(struct xt_entry_match *m) { struct ipt_p2p_info *info = (struct ipt_p2p_info *)m->data; 删除 *nfcache |= NFC_UNKNOWN; /*init the module with default values*/ info->cmd = 0; info->debug = 0; } static int parse(int c, char **argv, int invert, unsigned int *flags, 删除 const struct ipt_entry *entry, 删除 unsigned int *nfcache, 添加 const void *entry, struct xt_entry_match **match) { struct ipt_p2p_info *info = (struct ipt_p2p_info *)(*match)->data; static void 删除print(const struct ipt_ip *ip, 添加print(const void *ip, const struct xt_entry_match *match, int numeric) { static void 拥有帝国一切,皆有可能。欢迎访问phome.net删除save(const struct ipt_ip *ip, const struct iptt_entry_match *match) 添加save(const void *ip, const struct xt_entry_match *match) { struct ipt_p2p_info *info = (struct ipt_p2p_info *)match->data; 重新编译,make clean make 成功编译! 将编译出的libipt_ipp2p.so(目录 ipp2p-0.99.15/下)复制到/lib/iptables/ cp libipt_ipp2p.so /lib/iptables/ cp ipt_ipp2p.ko /lib /modules/2.6.24.7/kernel/net/ipv4/netfilter 将ipt_ipp2p.ko复制到内核的netfilter目录下 运行depmod -a,更新内核模块的依赖关系. 重启iptables服务 Service iptables restart 测试L7成功 Iptables –A FORWARD –m layer7 –l7proto q –j DROP 测试ipp2p成功 Iptables –A FORWARD –p tcp –m ipp2p –xunlei –j DROP
本文出自 “海风的linux之路” 博客,请务必保留此出处http://lhflinux.blog.51cto.com/1961662/504573 拥有帝国一切,皆有可能。欢迎访问phome.net |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Centos5.4升级内核 iptables Layer7 ipp2p的所有评论