分享
 
 
 

使用Iptables的功能扩展全面封杀P2P流量

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

Linux真是好东西啊! Linux系统不但稳定,平台相对安全,而且还是开放源代码且是免费的,其中的iptables更是功能强大,所以笔者公司一直在用他做公司的内部网关, 并通过iptables 的设置做一些安全方面的初步设定.于是从网上查询iptables资料,呵呵,很多网友已经做过了相关的尝试,并且由于P2P在网络上的影响,使很多 Linuxer们开发出了相关的patch,专门来应对P2P对网络性能的不良影响,通过研究网上的绝大多数资料,看到很多种解决方法,见的最多的是使用 netfilter的patch-o-matic-ng补定包,打上ipp2p的补丁,然后再编译netfilter,还有就是先编译内核再结合多种软件包再来完成这种功能等,所有的方法有一点是相同的,就是都必须先打上补丁后,要重新编译内核,然后才能使功能得的扩展,暂不说众多的补丁如何正确的应用和重新编译内核步骤的纷杂,稍有不熟悉内核编译或者补丁应用就会造成有版本冲突,致使整个过程失败.笔者使用网上的很多方法,反复测试,最后还是不能完全成功,总是有这样那样的错误,冲突!经过了约一周的反复测试,和受到网上各位大侠的启发,终于发现了一种更简单的方法可以完全实现对P2P流量的完全控制, 该方法最大的特点是不用任何重新编译内核和模块。

一、测试工作环境:

RedHat Linux 9.0

内核版本:2.4.20-8

二、需要的软件包:

1.Netfilter的IPTABLES 1.2.9

下载位置: http://www.netfilter.org/project ... ables-1.2.9.tar.bz2

得到软件包为: iptables-1.2.9.tar.bz2

2. IP2PP 0.80

下载位置: http://www.ipp2p.org/downloads/ipp2p-0.8.0.tar.gz

得软件包为: ipp2p-0.8.0.tar.gz

3. SourceForge的IPTABLES-P2P

下载位置: http://sourceforge.net/projects/iptables-p2p

得到软件包为: iptables-p2p-0.3.0a.tar.gz

三、版本选择的说明:

由于对P2P下载软件的限制主要是依靠ip2pp-0.8.0和iptables-p2p,所以选择iptables和Linux内核版本均要兼顾他们的实际需求,这样主要是避免各种版本间的互相冲突,出现不可预知的错误.

首先ip2pp-0.8.0,也是目前发布的最新稳定版本,从说明文档可以看到

发布者在以下版本已经测试通过:

-Linux-Kernels 2.6: 2.6.3, 2.6.4, 2.6.6

-Linux-Kernels 2.4: 2.4.18, 2.4.19, 2.4.20, 2.4.21, 2.4.22, 2.4.23, 2.4.26

-iptables (from netfilter.org) 1.2.7a, 1.2.8, 1.2.9, 1.2.11, 1.3.0, 1.3.1

再看iptables-p2p最新版本是0.30a,从相关文档资料中看到,最后更新日期大概是2004/03/06 22:39:00,而且明确的看到在iptables 1.2.9下测试通过,对Linux内核的支持2.4也支持2.6, 但没有明确哪个具体版本.

综合以上信息笔者选了以上iptables1.2.9, kernel 2.4.20-8, 目的是避免以上两个软件包出现问题的可能性.

四、安装软件包

1.首先当然是你自己安装好RedHat Linux 9.0, 这个我想非常简单, 主要在分区时新手的问题多点,网上资料众多,随便拿个作为参考就可以了,如果比较懒的话就按Linux预先定制安装就可以了!

2.登陆系统把两个软件包放到适合的位置,然后解压缩

一般软件的包的源码都放在/usr/src下,我下载的软件包都在这下面准备使用

#cd /usr/src

#tar xjvf iptables-1.2.9.tar.bz2

#tar zxvf ipp2p-0.8.0.tar.gz

#tar zxvf iptables-p2p-0.3.0a.tar.gz

3.升级IPTABLES

RedHat 9.0自带的iptables版本是.1.2.7a,所以先升级iptables到1.2.9

#cd /usr/src/iptables-1.2.9

#export KERNEL_DIR=/usr/src/linux-2.4

#export IPTABLES_DIR=/usr/src/iptables-1.2.9

#make BINDIR=/sbin LIBDIR=/lib MANDIR=/usr/share/man install

4.安装IPP2P软件包

#cd /usr/src/ipp2p-0.8.0

#make

#cp libipt_ipp2p.so /lib/iptables

#insmod ipt_ipp2p.o

5.安装iptables-p2p软件包

#cd /usr/src/iptables-p2p-0.3.0a

#cp –a /usr/src/iptables-1.2.9/include/* /usr/include

#make

#cp kernel/ipt_p2p.o /lib/modules/2.4.20-8/kernel/net/ipv4/netfilter

#cp iptables/libipt_p2p.o /lib/iptables/

所有安装工作完成了,是不是很简单!

五、功能简介

1.ipp2p的使用说明

#iptables -m ipp2p –help

关于ipp2p段的说明:

IPP2P v0.8.0 options:

--ipp2p Grab all known p2p packets

--edk [TCP&UDP] All known eDonkey/eMule/Overnet packets

--dc [TCP] All known Direct Connect packets

--kazaa [TCP&UDP] All known KaZaA packets

--gnu [TCP&UDP] All known Gnutella packets

--bit [TCP&UDP] All known BitTorrent packets

--apple [TCP] All known AppleJuice packets

--winmx [TCP] All known WinMX

--soul [TCP] All known SoulSeek

--ares [TCP] All known Ares

Note that the follwing options will have the same meaning:

'--ipp2p' is equal to '--edk --dc --kazaa --gnu --bit --apple --winmx --soul --ares'

IPP2P was intended for TCP only. Due to increasing usage of UDP we needed to change this.

You can now use -p udp to search UDP packets only or without -p switch to search UDP and TCP packets.

See README included with this package for more details or visit http://www.ipp2p.org

Examples:

iptables -A FORWARD -m ipp2p --ipp2p -j MARK --set-mark 0x01

iptables -A FORWARD -p udp -m ipp2p --kazaa --bit -j DROP

iptables -A FORWARD -p tcp -m ipp2p --edk --soul -j DROP

2.iptables-p2p的使用说明

#iptables -m p2p –help

P2P段的说明:

P2P match v0.3.0a options:

--p2p-protocol [!] protocol[,...]

--p2p ...

match application-layer protocol

Valid p2p protocols:

fasttrack

gnutella

edonkey

dc

bittorrent

openft

OK,一切准备就绪,就等你使用了,有专门识别包类型的控制(ipp2p),也有专门对准协议的控制(iptables-p2p),一切允许与否就看你的几条命令了!

注:以上所有过程本人都经过测试通过,没发现任何问题,本人初次原创,不足之处希望大家谅解,如果能对一些朋友有帮助,在下非常荣幸!另外本人参考过网上多篇文章,再此对他们表示感谢!

后记:写这篇文章的目的并不是要求所有网络管理人员全部屏蔽P2P下载软件,本人也是P2P软件使用的爱好者,但是使用软件时从来都是先设置连接数量和下载速度限制,以免影响别人的网络使用.由于深深感受到不加限制使用P2P下载软件对整个网络系统性能造成的严重影响,所以建议大家能在使用P2P下载软件时考虑网络环境,先设置连接数量和下载速度限制.同时也建议网络管理同行们根据情况到最后再考虑是否完全屏蔽掉P2P.

给文章原文出处http://jammyse.blogchina.com/5444126.html,那我的BLOG,开了很久了,内容比较少,欢迎大家去参观啊!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有