手把手教你在Linux上搭建BitTorrent服务器[Linux安全]
本文“手把手教你在Linux上搭建BitTorrent服务器[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
网络技术的飞速发展与疾速遍及使其成为数据通信的重要手段,网络规模越来越大,连入网络中的计算设备的数目和种类也越来越多,而这些资源并没有得到充分操纵,假如能将这些计算单元的处理器计算本领、磁盘存储本领、网络带宽资源等举行充分操纵将会有效减缓目前互联网所面对的一些问题.另一方面,目前的互联网是构建在这样的一个假说上的,即网络用户仅仅想从互联网上下载东西,而不会上载信息.目前这种假定遭到了愈来愈激烈的挑衅,也促使了对等网络技术发达兴起.
P2P(Peer to Peer 即对等网络)就是在这种后台下提出的一种网络技术,P2P可以简单地定义为通过直接交换信息,同享计算机资源和服务,对等计算机兼有客户机和服务器的功效.在这种网络中全部的节点是对等的(称为对等点),各节点具有相同的责任与本领并协同完成任务,对等点之间通过直接互连实现信息资源、处理器资源、存储资源乃至高速缓存资源等的全面同享,无需依靠集合式服务器支持,消除信息孤岛和资源孤岛.任何一台能上网的机械都可以是一个对等点,乃至计算机上的一个程序都可以成为对等点.P2P网络是一种与传统的C/S或多层服务器网络完好差别的网络体系构造,P2P网络中的对等点是彼此直接通讯的.与目前互连网上对比风行的C/S 计算模子差别的是:P2P 计算模子中不再辨别服务器以及客户端,系统中的各个节点是逻辑对等的,系统中的各个节点之间可以直接举行数据通信而不需求通过中间的服务器,可以认为它的任何一端同时具有Client和Server 的功效.一些P2P利用大概在某些时刻利用服务器,但P2P计算的总体影响是将网络计算分离,它使真正的分布式计算成为大概.
随着宽带网的风行,传统的HTTP和FTP这种一点对多点的下载方法已经满意不了大家的需求了.它会随着下载人数增添而呈现衔接不上和速度骤减的现象.而P2P技术则冲破通例格局,极大地节俭了网络带宽.可以使你直接衔接其他用户的计算机,交换和搜索文件,而不用再通过网页浏览与下载,最大限度地操纵了网络带宽.它可以使大家在互联网上同享到平常用普通方法难以接触到的各种各样海量的资源.利用P2P软件的每一台PC 都是客户机在下载资源,也是服务器在上传文件,在讨取的同时也赐与.
BitTorrent是一个多点下载的开放源码的P2P软件,利用非常便利.是一个多点下载的同享文件软件,由于在下载的同时,也可为其他用户供应上传,所以不会随着用户人数的增添而降低下载速度,因此,下载的人越多,速度便越快.目前不少大公司如RedHat,都有利用BT让他们的客户下载开辟版本.
Linux下的P2P协议主要包含:BitTorrent、aMule、Gnutella等.本文以广泛利用的BitTorrent为例介绍利用P2P服务的办法.
1、搭建BitTorrent服务器
BitTorrent利用Python语言编写,是一个开放源代码软件,既可以在Windows下运行,也可以在Linux环境下运行,目前在Linux下的最新版本是6.1.2.
BitTorrent的官方网址:http://bitconjurer.org/BitTorrent/
安装BitTorrent软件
由于该软件采取Python编写,所以安装BitTorrent前需求利用号令:
#rpm -qa|grep Python
查抄能否配置了Python语言.不然需求到Python的官方网站http://www.python.org下载安装,然后履行以下号令对BitTorrent软件举行安装:
#rpm -ivh BitTorrent-6.1.2.Python2.4.noarch.rpm
安装完成后全部BitTorrent号令和工具都安装在/usr/bin目录下.包含:btmaketorrent.py(制作种子工具)、bttest.py(测试种子工具)、bttrack.py(制作Tracker工具)、btdownloadheadless.py(制作同享源工具)、btlaunchmany.py(后台启动同享源工具)、btshowmetainfo.py(查看下载情形工具)、btdownloadgui.py(图形化制作同享源工具)、btmaketorrent.py(图形化制作种子工具).
配置和启动BitTorrent
BitTorrent的核心是Tracker,BitTorrent服务不需求服务器,但是BitTorrent服务中仍旧有服务器的概念,这里称作Tracker.精确地说,Tracker是指运行的服务器上的一个程序,这个程序可以跟踪多少人同时在下载同一个文件.BT客户端衔接到Tracker时会产生一个下载人员名单,按照这个名单,BT客户端会自动衔接网络中其他节点举行下载.所以第一步要启动一个Tracker:
# ./bttrack.py --port 8760 --dfile dstate > /dev/null 2>&1 &
举荐利用普通用户权限来启动这个服务,这样越发安全.这个号令会在当前目录生成一个dstate的文件,并翻开8760端口.
制作种子(Seed)
BT服务器的track服务并不供应下载服务,供应下载的是它的种子(seed),就是一个已经下载完成或正在下载的客户端.因为一开始没有这样的种子,所以你得先自己生成一个,假如要为/home/cjh.avi制作种子,相关号令是:
# ./btdownloadheadless.py --max_allow_in 200 --max_upload_rate 100 --minport 8888 --maxport 8888 /home/mp3.vio.torrent http://www.bittorrent.com:8760/annouce
相关参数阐明以下:
- --max_allow 200:指明这个种子最多可以承受200个衔接.
- --max_upload_rate 100:指这个种子最大的可以承受下载的带宽100 KB(byte)/s,这样可以掌握下载带宽.
- --minport 8888 --maxport 8888:设置最大最小监听端口号码,这样写就是说种子只监听8888端口,这样便利在防火墙上初阶口.
- mp3.vio.torrent:是制作的种子文件名称.
设置Apache服务器
配置Web服务器让种子(.torrent)文件和application/x-bittorrent相关联.不久Apache配置文件:/etc/httpd.conf,加入一行:
AddType application/x-bittorrent .torrent
然后,我们需求重新启动Web服务器,并且翻开防火墙6888端口:
将制作的种子放到Web服务器的文档目录中,让用户可以拜候,启动一个最原始的同享源.
#iptables -A INPUT -i eth0 -p --dport 6888 -j ACCEPT #iptables -A OUTPUT -i eth0 -p --dport 6888 -j ACCEPT #./btdownloadheadless.py http://www.mydomain.com/cjh.avi.torrent
此中http://www.mydomain.com/cjh.avi.torrent是种子的URL地址,这样用户通过浏览器拜候 cjh.avi.torrent便可实现Web下载.
以上是“手把手教你在Linux上搭建BitTorrent服务器[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |