谢 谢 收 藏 http://www.qqread.com/linux/y551883206.html看到一则报道说尽管某宽带公司现有技术可以容纳的网络用户容量为400至600万用户,可是目前,在容纳了45万用户的情况下,网络已经拥挤不堪,时常出现断网情况,一到上网高峰,网速就会急剧下降。为何网络会如此拥挤不堪?这是因为自从出现诸如电驴、Kazaa、BT等P2P软件之后,海量的数据文件(如大容量文件交换、视频文件下载等)逐渐占据了大部分的网络带宽。P2P这一新应用给用户带来了前所未有的方便和丰富的资源,但同时也引发了网络带宽和安全问题。
如何在发挥P2P强大功能的情况下对其进行一些必要的限制呢?本文将介绍在Linux中如何利用netfilter/iptables实现对P2P应用流量的限制。
升级内核
由于在公开发布的Linux内核文件中,有关iptables的各种参数里没有关于P2P属性的参数,所以必须通过升级Linux内核和iptables来打上这个补丁,使其支持P2P属性设置。
在具体操作之前,先要了解一下升级内核补丁需要的一些相关软件:linux-2.4.20-8.tar.gz、patch-o-matic- 20040609.tar.bz2、iptables-1.2.8.tar.bz2、iptables-p2p-0.3.0a.tar.gz和ipp2p -0.5c.tar.gz。
这里的测试环境为Red Hat 9.0,内核为2.4.20-8。由于2.4.*是一个稳定的内核,因此不能把当前开发的一些新功能提交到主内核中去,而只能首先在patch-o- matic中测试,然后打补丁到内核中。在CVS中可以找到最新的patch-o-matic包—Patch-o-matic- 20040609.tar.bz2。
有了内核支持后,还需要iptables支持,其中iptables-p2p-0.3.0a.tar.gz为netfilter/iptables组织开发的专门支持P2P的iptables扩展软件包;ipp2p-0.5c.tar.gz为Eicke Friedrich开发的一个支持P2P的iptables扩展包。这两个扩展包各有特色,后面将会分别介绍。
装载模块
首先在/usr/src下解压软件包:
生成patch-o-matic-20040609.tar.out。
生成补丁目录patch-o-matic-20040609。Red Hat 9.0中默认的内核目录为/usr/src/linux-2.4。进入补丁目录/usr/src/patch-o-matic-20040609,由于支持P2P协议控制选项需要CONNMARK模块,该模块在extra子目录下,因此需要运行如下命令来升级内核补丁。
运行该命令后会出现一个模块选择界面,界面有两个区域,一个给出相关的模块名、模块功能、用法和语法实例;另一个给出各种选项,如N/y/b/r.../q/?,其中第一个为大写字母,表示缺省选项,n表示下一个模块,y表示确定,b表示上一个模块,q表示退出。
首先应该确定当前的模块是否需要,不需要就按“N”键后回车,继续显示下一个模块的相关信息。当出现需要的模块时,按“Y”键确认,同时应该将里面的相关语法实例抄录下来以备用。选择完所有需要的模块后,按“Q”键退出。
编译内核
进入内核文件所在目录/usr/src/linux-2.4,开始编译内核:
注意,在配置选项中必须选择Networking options→IP:Netfilter Configuration→Connection mark tracking support和CONNMARK target support两个选项。确保关键文件在正确位置:
编译选择的模块:
将编译后的模块转移到系统标准位置:
让系统自动修改启动配置文件grub.conf:
重新启动系统,选择Red Hat Linux(2.4.20-8custom)选项,则启动了新编译的内核。
升级iptables
安装iptables-1.2.8
首先解压iptables-1.2.8.tar.bz2文件:
编译iptables-1.2.8:
拷贝可执行文件到相应目录:
安装iptables-p2p软件
首先解压iptables-p2p-0.3.0a.tar.gz:
拷贝iptables-1.2.8的头文件到适当的目录:
运行“make”编译iptables-p2p,并拷贝相关文件到相应的目录:
安装ipp2p软件
首先修改Makefile文件中的源目录、内核目录和netfilter版本号,将以下内容:
改为:
编译软件,并拷贝库文件到相应的目录:
装入模块:
更多内容请看P2P工具软件专题、防火墙软件应用、Linux防火墙专题,或进入讨论组讨论。
如何在发挥P2P强大功能的情况下对其进行一些必要的限制呢?本文将介绍在Linux中如何利用netfilter/iptables实现对P2P应用流量的限制。
升级内核
由于在公开发布的Linux内核文件中,有关iptables的各种参数里没有关于P2P属性的参数,所以必须通过升级Linux内核和iptables来打上这个补丁,使其支持P2P属性设置。
在具体操作之前,先要了解一下升级内核补丁需要的一些相关软件:linux-2.4.20-8.tar.gz、patch-o-matic- 20040609.tar.bz2、iptables-1.2.8.tar.bz2、iptables-p2p-0.3.0a.tar.gz和ipp2p -0.5c.tar.gz。
这里的测试环境为Red Hat 9.0,内核为2.4.20-8。由于2.4.*是一个稳定的内核,因此不能把当前开发的一些新功能提交到主内核中去,而只能首先在patch-o- matic中测试,然后打补丁到内核中。在CVS中可以找到最新的patch-o-matic包—Patch-o-matic- 20040609.tar.bz2。
有了内核支持后,还需要iptables支持,其中iptables-p2p-0.3.0a.tar.gz为netfilter/iptables组织开发的专门支持P2P的iptables扩展软件包;ipp2p-0.5c.tar.gz为Eicke Friedrich开发的一个支持P2P的iptables扩展包。这两个扩展包各有特色,后面将会分别介绍。
装载模块
首先在/usr/src下解压软件包:
|
生成patch-o-matic-20040609.tar.out。
|
生成补丁目录patch-o-matic-20040609。Red Hat 9.0中默认的内核目录为/usr/src/linux-2.4。进入补丁目录/usr/src/patch-o-matic-20040609,由于支持P2P协议控制选项需要CONNMARK模块,该模块在extra子目录下,因此需要运行如下命令来升级内核补丁。
|
运行该命令后会出现一个模块选择界面,界面有两个区域,一个给出相关的模块名、模块功能、用法和语法实例;另一个给出各种选项,如N/y/b/r.../q/?,其中第一个为大写字母,表示缺省选项,n表示下一个模块,y表示确定,b表示上一个模块,q表示退出。
首先应该确定当前的模块是否需要,不需要就按“N”键后回车,继续显示下一个模块的相关信息。当出现需要的模块时,按“Y”键确认,同时应该将里面的相关语法实例抄录下来以备用。选择完所有需要的模块后,按“Q”键退出。
编译内核
进入内核文件所在目录/usr/src/linux-2.4,开始编译内核:
|
注意,在配置选项中必须选择Networking options→IP:Netfilter Configuration→Connection mark tracking support和CONNMARK target support两个选项。确保关键文件在正确位置:
|
编译选择的模块:
|
将编译后的模块转移到系统标准位置:
|
让系统自动修改启动配置文件grub.conf:
|
重新启动系统,选择Red Hat Linux(2.4.20-8custom)选项,则启动了新编译的内核。
升级iptables
安装iptables-1.2.8
首先解压iptables-1.2.8.tar.bz2文件:
|
编译iptables-1.2.8:
|
拷贝可执行文件到相应目录:
|
安装iptables-p2p软件
首先解压iptables-p2p-0.3.0a.tar.gz:
|
拷贝iptables-1.2.8的头文件到适当的目录:
|
运行“make”编译iptables-p2p,并拷贝相关文件到相应的目录:
|
安装ipp2p软件
首先修改Makefile文件中的源目录、内核目录和netfilter版本号,将以下内容:
|
改为:
|
编译软件,并拷贝库文件到相应的目录:
|
装入模块:
|
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- P2P工具软件专题 (876篇文章)
- 防火墙软件应用 (1861篇文章)
- Linux防火墙 (148篇文章)
- Linux安全 (542篇文章)
- Linux集群技术 (8259篇文章)
- Cisco防火墙专题 (4604篇文章)
- 体验Linux的音影世界 (7931篇文章)
- Linux驱动大全 (8729篇文章)
- Linux下的路由的配置与应用 (11721篇文章)
- Linux命令简介 (9775篇文章)
- Linux与Windows Vista的桌面之争 (83次浏览)
- 对比评测Vista XP Linux启动时间 (59次浏览)
- Linux 基本概念及常用命令 (57次浏览)
- Linux系统如何判断CPU是双核还是单核 (53次浏览)
- VMware下Linux与真实主机共享上网 (31次浏览)
- Linux系统下如何更改终端显示分辨率 (30次浏览)
- 实用技巧:配置Linux操作系统环境变量 (30次浏览)
- Fedora 8 Linux下安装配置audacious过程 (27次浏览)
- Linux系统下设置环境变量Path的方法 (25次浏览)
- 最流行的发行版:Ubuntu 8.04 Alpha 2发布 (24次浏览)



