偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

手把手教你在Linux上搭建BitTorrent服務(wù)器

系統(tǒng) Linux
P2P技術(shù)在今天已經(jīng)是每個(gè)人都耳熟能詳,其最常見(jiàn)的技術(shù)實(shí)現(xiàn)之一就是通過(guò)BitTorrent的服務(wù)器和客戶(hù)端完成。P2P技術(shù)的好處是可以充分利用網(wǎng)絡(luò)帶寬,很適合大文件的共享。本文介紹了如何在Linux下搭建一個(gè)BitTorrent服務(wù)器,以及管理上需要注意的一些基本問(wèn)題。

網(wǎng)絡(luò)技術(shù)的飛速發(fā)展與迅速普及使其成為數(shù)據(jù)通信的重要手段,網(wǎng)絡(luò)規(guī)模越來(lái)越大,連入網(wǎng)絡(luò)中的計(jì)算設(shè)備的數(shù)量和種類(lèi)也越來(lái)越多,而這些資源并沒(méi)有得到充分利用,如果能將這些計(jì)算單元的處理器計(jì)算能力、磁盤(pán)存儲(chǔ)能力、網(wǎng)絡(luò)帶寬資源等進(jìn)行充分利用將會(huì)有效緩解目前互聯(lián)網(wǎng)所面臨的一些問(wèn)題。另一方面,現(xiàn)在的互聯(lián)網(wǎng)是構(gòu)建在這樣的一個(gè)假說(shuō)上的,即網(wǎng)絡(luò)用戶(hù)僅僅想從互聯(lián)網(wǎng)上下載東西,而不會(huì)上載信息。如今這種假設(shè)受到了愈來(lái)愈強(qiáng)烈的挑戰(zhàn),也促使了對(duì)等網(wǎng)絡(luò)技術(shù)蓬勃興起。

P2P(Peer to Peer 即對(duì)等網(wǎng)絡(luò))就是在這種背景下提出的一種網(wǎng)絡(luò)技術(shù),P2P可以簡(jiǎn)單地定義為通過(guò)直接交換信息,共享計(jì)算機(jī)資源和服務(wù),對(duì)等計(jì)算機(jī)兼有客戶(hù)機(jī)和服務(wù)器的功能。在這種網(wǎng)絡(luò)中所有的節(jié)點(diǎn)是對(duì)等的(稱(chēng)為對(duì)等點(diǎn)),各節(jié)點(diǎn)具有相同的責(zé)任與能力并協(xié)同完成任務(wù),對(duì)等點(diǎn)之間通過(guò)直接互連實(shí)現(xiàn)信息資源、處理器資源、存儲(chǔ)資源甚至高速緩存資源等的全面共享,無(wú)需依賴(lài)集中式服務(wù)器支持,消除信息孤島和資源孤島。任何一臺(tái)能上網(wǎng)的機(jī)器都可以是一個(gè)對(duì)等點(diǎn),甚至計(jì)算機(jī)上的一個(gè)程序都可以成為對(duì)等點(diǎn)。P2P網(wǎng)絡(luò)是一種與傳統(tǒng)的C/S或多層服務(wù)器網(wǎng)絡(luò)完全不同的網(wǎng)絡(luò)體系結(jié)構(gòu),P2P網(wǎng)絡(luò)中的對(duì)等點(diǎn)是彼此直接通訊的。與目前互連網(wǎng)上比較流行的C/S 計(jì)算模型不同的是:P2P 計(jì)算模型中不再區(qū)別服務(wù)器以及客戶(hù)端,系統(tǒng)中的各個(gè)節(jié)點(diǎn)是邏輯對(duì)等的,系統(tǒng)中的各個(gè)節(jié)點(diǎn)之間可以直接進(jìn)行數(shù)據(jù)通信而不需要通過(guò)中間的服務(wù)器,可以認(rèn)為它的任何一端同時(shí)具有Client和Server 的功能。一些P2P應(yīng)用也許在某些時(shí)候使用服務(wù)器,但P2P計(jì)算的總體影響是將網(wǎng)絡(luò)計(jì)算分散,它使真正的分布式計(jì)算成為可能。

隨著寬帶網(wǎng)的盛行,傳統(tǒng)的HTTP和FTP這種一點(diǎn)對(duì)多點(diǎn)的下載方式已經(jīng)滿(mǎn)足不了大家的需求了。它會(huì)隨著下載人數(shù)增加而出現(xiàn)連接不上和速度驟減的現(xiàn)象。而P2P技術(shù)則打破常規(guī)格式,極大地節(jié)省了網(wǎng)絡(luò)帶寬??墒鼓阒苯舆B接其他用戶(hù)的計(jì)算機(jī),交換和搜索文件,而不用再通過(guò)網(wǎng)頁(yè)瀏覽與下載,***限度地利用了網(wǎng)絡(luò)帶寬。它可使大家在互聯(lián)網(wǎng)上共享到平時(shí)用普通方式難以接觸到的各種各樣海量的資源。使用P2P軟件的每一臺(tái)PC 都是客戶(hù)機(jī)在下載資源,也是服務(wù)器在上傳文件,在索取的同時(shí)也給予。

BitTorrent是一個(gè)多點(diǎn)下載的開(kāi)放源碼的P2P軟件,使用非常方便。是一個(gè)多點(diǎn)下載的共享文件軟件,由于在下載的同時(shí),也可為其他用戶(hù)提供上傳,所以不會(huì)隨著用戶(hù)人數(shù)的增加而降低下載速度,因此,下載的人越多,速度便越快。現(xiàn)在不少大公司如RedHat,都有使用BT讓他們的客戶(hù)下載開(kāi)發(fā)版本。

Linux下的P2P協(xié)議主要包括:BitTorrent、aMule、Gnutella等。本文以普遍使用的BitTorrent為例介紹使用P2P服務(wù)的方法。

1、搭建BitTorrent服務(wù)器

BitTorrent使用Python語(yǔ)言編寫(xiě),是一個(gè)開(kāi)放源代碼軟件,既可以在Windows下運(yùn)行,也可以在Linux環(huán)境下運(yùn)行,目前在Linux下的***版本是6.1.2。

BitTorrent的官方網(wǎng)址:http://bitconjurer.org/BitTorrent/

安裝BitTorrent軟件

由于該軟件采用Python編寫(xiě),所以安裝BitTorrent前需要使用命令:

#rpm -qa|grep Python

檢查是否配置了Python語(yǔ)言。否則需要到Python的官方網(wǎng)站http://www.python.org下載安裝,然后執(zhí)行如下命令對(duì)BitTorrent軟件進(jìn)行安裝:

#rpm -ivh BitTorrent-6.1.2.Python2.4.noarch.rpm

安裝完成后所有BitTorrent命令和工具都安裝在/usr/bin目錄下。包括:btmaketorrent.py(制作種子工具)、bttest.py(測(cè)試種子工具)、bttrack.py(制作Tracker工具)、btdownloadheadless.py(制作共享源工具)、btlaunchmany.py(后臺(tái)啟動(dòng)共享源工具)、btshowmetainfo.py(查看下載情況工具)、btdownloadgui.py(圖形化制作共享源工具)、btmaketorrent.py(圖形化制作種子工具)。

配置和啟動(dòng)BitTorrent

BitTorrent的核心是Tracker,BitTorrent服務(wù)不需要服務(wù)器,但是BitTorrent服務(wù)中仍然有服務(wù)器的概念,這里稱(chēng)作Tracker。準(zhǔn)確地說(shuō),Tracker是指運(yùn)行的服務(wù)器上的一個(gè)程序,這個(gè)程序可以跟蹤多少人同時(shí)在下載同一個(gè)文件。BT客戶(hù)端連接到Tracker時(shí)會(huì)產(chǎn)生一個(gè)下載人員名單,根據(jù)這個(gè)名單,BT客戶(hù)端會(huì)自動(dòng)連接網(wǎng)絡(luò)中其他節(jié)點(diǎn)進(jìn)行下載。所以***步要啟動(dòng)一個(gè)Tracker:

# ./bttrack.py --port 8760 --dfile dstate > /dev/null 2>&1 &

推薦使用普通用戶(hù)權(quán)限來(lái)啟動(dòng)這個(gè)服務(wù),這樣更加安全。這個(gè)命令會(huì)在當(dāng)前目錄生成一個(gè)dstate的文件,并打開(kāi)8760端口。

制作種子(Seed)

BT服務(wù)器的track服務(wù)并不提供下載服務(wù),提供下載的是它的種子(seed),就是一個(gè)已經(jīng)下載完成或正在下載的客戶(hù)端。因?yàn)橐婚_(kāi)始沒(méi)有這樣的種子,所以你得先自己生成一個(gè),如果要為/home/cjh.avi制作種子,相關(guān)命令是:

# ./btdownloadheadless.py --max_allow_in 200 --max_upload_rate 100 --minport 8888 --maxport 8888 /home/mp3.vio.torrent http://www.bittorrent.com:8760/annouce

相關(guān)參數(shù)說(shuō)明如下:

  1. --max_allow 200:指明這個(gè)種子最多可以接受200個(gè)連接。
  2. --max_upload_rate 100:指這個(gè)種子***的可以接受下載的帶寬100 KB(byte)/s,這樣可以控制下載帶寬。
  3. --minport 8888 --maxport 8888:設(shè)置***最小監(jiān)聽(tīng)端口號(hào)碼,這樣寫(xiě)就是說(shuō)種子只監(jiān)聽(tīng)8888端口,這樣方便在防火墻上開(kāi)端口。
  4. mp3.vio.torrent:是制作的種子文件名稱(chēng)。

設(shè)置Apache服務(wù)器

配置Web服務(wù)器讓種子(.torrent)文件和application/x-bittorrent相關(guān)聯(lián)。不久Apache配置文件:/etc/httpd.conf,加入一行:

AddType application/x-bittorrent .torrent

然后,我們需要重新啟動(dòng)Web服務(wù)器,并且打開(kāi)防火墻6888端口:

將制作的種子放到Web服務(wù)器的文檔目錄中,讓用戶(hù)可以訪問(wèn),啟動(dòng)一個(gè)最原始的共享源。

#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地址,這樣用戶(hù)通過(guò)瀏覽器訪問(wèn) cjh.avi.torrent即可實(shí)現(xiàn)Web下載。

#p#

2、配置BitTorrent客戶(hù)端

到此為止,我們建立了一個(gè)BitTorrent服務(wù)器,如果要下載別人的BT資源,還要安裝一個(gè)客戶(hù)端。

1.使用Azureus(Vuze)軟件

(1)下載一個(gè)Bit Torrent客戶(hù)端軟件:Azureus,其官方網(wǎng)址為:http://azureus.sourceforge.net/。

(2)安裝Java虛擬機(jī)

由于Azureus是使用Java語(yǔ)言編寫(xiě)的,所以運(yùn)行它需要Java虛擬機(jī)。下載***的JDK(Java Development Kit)開(kāi)發(fā)包:j2sdk-1_4_2-linux-i586.bin,這是一個(gè)J2SE V1.4.2 SDK Linux自解壓的二進(jìn)制的文件。

(3)安裝BitTorrent客戶(hù)端軟件Azureus

這是一個(gè)綠色軟件只要解壓即可運(yùn)行不必編譯,操作如下:

#bunzip2 Azureus_4.5.1.0_linux.GTK.tar.bz2
#tar vxf Azureus_4.5.1.0_linux.GTK.tar

(4)運(yùn)行軟件

#cd azureus
#./azureus

(5)配置軟件

***次運(yùn)行azureus時(shí)要進(jìn)行簡(jiǎn)單的配置:

◆配置接入互聯(lián)網(wǎng)的方式:根據(jù)你的具體情況設(shè)置鏈接互聯(lián)網(wǎng)方式(ADSL、Modem等),***上傳速度、***下載文件、每個(gè)Torrent***上傳速度。然后用鼠標(biāo)按“Next”按鈕進(jìn)行服務(wù)器端口配置。

◆配置NAT/Server 的端口:使用NAT(Network Address Translation)的好處是:連接Internet,但不讓網(wǎng)絡(luò)內(nèi)的所有計(jì)算機(jī)都擁有一個(gè)真正的Internet IP地址。通過(guò)NAT功能,可以將申請(qǐng)的合法的Internet IP地址統(tǒng)一管理,當(dāng)內(nèi)部的計(jì)算機(jī)需要上Internet時(shí),動(dòng)態(tài)或靜態(tài)地將假的IP轉(zhuǎn)換為合法的IP地址。另外,如果不想讓外部網(wǎng)絡(luò)用戶(hù)知道網(wǎng)絡(luò)的內(nèi)部結(jié)構(gòu),可以通過(guò)NAT將內(nèi)部網(wǎng)絡(luò)與外部Internet隔離開(kāi)。這里強(qiáng)烈建議把NAT/Server 的端口設(shè)為:***6881、***6889。如果讀者對(duì)計(jì)算機(jī)網(wǎng)絡(luò)比較熟悉的話,也可以用鼠標(biāo)點(diǎn)擊“Test”按鈕測(cè)試一下,選擇別的端口。注意千萬(wàn)不要和某些系統(tǒng)已經(jīng)使用的端口沖突。然后用鼠標(biāo)點(diǎn)“Next”按鈕進(jìn)行下載的文件存放目錄的配置。

配置結(jié)束后就可以使用它下載,點(diǎn)擊“File”主菜單的“Creat a Torrent”然后輸入要下載的Torrent文件的鏈接即可開(kāi)始工作。

ctorrent-dnh3.3.2.tar.gz

2.使用命令行CTorrent軟件

CTorrent是國(guó)人用C/C++實(shí)現(xiàn)的一個(gè)小型的BitTorren的CUI客戶(hù)端,它對(duì)希望了解BitTorrent網(wǎng)絡(luò)的朋友們提供了一個(gè)很好的模板。程序只有5000多行,使用了openssl/sha庫(kù)。它主要實(shí)現(xiàn)了下列功能:

  1. 高速緩沖,缺省大小cfg_cache_size(btconfig.cpp)
  2. 帶寬限制
  3. 解析Bencoding編碼,可以用'-x'選項(xiàng)查看.torrent文件信息而不下載
  4. 快速緩沖,使用'-b'選項(xiàng)
  5. 制造.torrent文件

下載地址:http://www.rahul.net/dholmes/ctorrent/ctorrent-dnh3.3.2.tar.gz

下載后,我們可以使用如下命令對(duì)其進(jìn)行安裝:

#tar zxvf ctorrent-dnh3.3.2.tar.gz
#cd ctorrent-dnh3.3.2
#./configure
#make
#make install

安裝完成后,使用下述命令對(duì)其運(yùn)行即可,具體的命令行使用參數(shù)本文不再贅述,讀者可自行了解使用:

#ctorrent 1.torrent

#p#

3、其他軟件

除了上面介紹的BitTorrent之外,aMule是一種支持ED2K網(wǎng)絡(luò)的P2P軟件,它基于wxWindows并且類(lèi)似于eMule。是在遵循E-Donkey的網(wǎng)絡(luò)協(xié)議基礎(chǔ)上發(fā)展而來(lái),它相當(dāng)于e-Donkey(驢子)的一個(gè)Mod,而且源代碼是完全公開(kāi)的。而且aMule比e-Donkey配置更為簡(jiǎn)單,界面、圖標(biāo)和按鈕更美觀,突出了其立體和半透明的感覺(jué)?,F(xiàn)在大家?guī)缀醵嫁D(zhuǎn)向用e-Mule。aMule軟件可以算是Linux網(wǎng)絡(luò)環(huán)境下的e-Mule。

aMule的每個(gè)用戶(hù)端都既是文件下載者又是上傳者,既索取又給予。在你正在下載但還沒(méi)下載完整文件時(shí),你已經(jīng)把已下載的部分共享給別人了。aMule是同時(shí)從很多文件上傳者(稱(chēng)之為“源”,跟BT的種子差不多)那里下載所需的文件***再拼成整個(gè)文件的,而且aMule對(duì)沒(méi)在下載隊(duì)列中的文件共享很方便,不用像BT 那樣要很麻煩地制作種子,再上傳到服務(wù)器,只需指定一個(gè)共享目錄,aMule會(huì)自動(dòng)將其共享。這個(gè)共享目錄在運(yùn)行aMule就開(kāi)始強(qiáng)制共享,即使在下載欄未下載任何文件。這點(diǎn)比BT做得好,可以防止大家好逸惡勞,只下載不上傳。而B(niǎo)T在運(yùn)行時(shí)只上傳自己正在下載或已下載完畢的東西,不能共享目錄,甚至有人把BT的下載設(shè)置為無(wú)限制,而把上傳調(diào)至幾KB/s甚至0KB/S。而在使用aMule中如果你把上傳速度設(shè)為一個(gè)小于10 的值,aMule也會(huì)自動(dòng)限制你的下載速度。

aMule安裝相當(dāng)困難,它對(duì)一些鏈接庫(kù)文件的依賴(lài)性特別強(qiáng),另外它還需要GTK的支持。軟件下載安裝詳細(xì)步驟如下:

#cd /usr/local
#wget http://jaist.dl.sourceforge.net/sourceforge/wxwindows/wxGTK-2.6.1.tar.gz
#wget http://jaist.dl.sourceforge.net/sourceforge/wxwindows/wxBase-2.6.1.tar.gz
#wget http://jaist.dl.sourceforge.net/sourceforge/amule/aMule-2.1.0.tar.bz2

需要特別注意安裝順序:先裝wxBase再裝wxGTK,***裝aMule,安裝wxBase后要執(zhí)行一下ldconfig命令,wxGTK編譯參數(shù)為./configure --with-gtk:

#cd wxBase-2.6.1;./configure;make;make install; /sbin/ldconfig;cd ..
#cd wxGTK-2.6.1;./configure --with-gtk;make;make install;make clean;cd ..
#cd aMule-2.1.0;./configure;make;make install

如果aMule的下載速度太慢,比如只有2KB/s~3KB/s,那一定是沒(méi)有端口映射。只需映射4662 TCP 和4672 UDP 兩個(gè)端口即可。不需要像使用BT那樣映射一堆端口。如果打開(kāi)了4771 TCP 端口就可遠(yuǎn)程控制。aMule下載跟Azureus不一樣,要多添加些文件下載。如果系統(tǒng)裝有Linux防火墻,需要在防火墻中打開(kāi)以上相應(yīng)的TCP、UDP端口。

另外,如果你正在尋找Linux下功能全面的GTK+ BitTorrent下載軟件,那么Deluge是一個(gè)不錯(cuò)的選擇。Deluge的開(kāi)發(fā)非?;钴S,時(shí)常更新以滿(mǎn)足用戶(hù)的需要。經(jīng)過(guò)近一個(gè)月的開(kāi)發(fā),Deluge于日前發(fā)布了1.3.0版。新版本為一些常用功能綁定了快捷鍵,引入了內(nèi)置瀏覽器,并對(duì)某些插件進(jìn)行了增強(qiáng)。

4、需要注意的問(wèn)題

上面我們?cè)敿?xì)介紹了BitTorrent服務(wù)器和客戶(hù)機(jī)的配置,以及一些實(shí)用的P2P軟件。從本質(zhì)上來(lái)說(shuō),P2P軟件是為資源共享服務(wù)的,然而,他有一個(gè)比較大的特點(diǎn)就是在資源共享同時(shí)帶來(lái)比較高的資源消耗,P2P下載軟件對(duì)于網(wǎng)絡(luò)的負(fù)面影響還是非常大的,然而它卻是資源共享的一個(gè)非常有效的方式。那么,在此,我們給出幾條合理使用P2P軟件的建議,僅供參考使用:

  1. 保護(hù)主機(jī)和網(wǎng)絡(luò)資源,控制上傳和下載速率:實(shí)踐證明,合理地設(shè)置P2P軟件的上傳和下載速率,可以有效地提高資源共享率,同時(shí)最重要的是能夠使得自己的主機(jī)和網(wǎng)絡(luò)資源不致于因?yàn)镻2P的使用而受到影響甚至阻塞;
  2. 合理分配使用時(shí)間:對(duì)于企業(yè)用戶(hù)來(lái)說(shuō),合理地分配時(shí)間是非常必要的。用戶(hù)應(yīng)當(dāng)選擇在上班之間之外的時(shí)間進(jìn)行下載和共享,以防止由于眾多使用者而導(dǎo)致的網(wǎng)路速度變慢影響正常的工作,這個(gè)是非常重要的。
  3. 注意資源的安全性:目前,發(fā)現(xiàn)有很多共享資源中存在病毒,尤其對(duì)于P2P這種傳播速度極快的應(yīng)用來(lái)說(shuō),病毒的傳播速度是非??斓?,所以建議各位用戶(hù)在文件下載后首先通過(guò)病毒掃描軟件進(jìn)行安全掃描后方能進(jìn)行正常使用,以避免由于病毒影響而帶來(lái)的損失。

去作者的博客交流:http://patterson.blog.51cto.com

【編輯推薦】

  1. 主流FTP服務(wù)器Wu-ftpd入門(mén)指南
  2. Linux下的NFS快速配置教程與安全策略
  3. Samba服務(wù)器簡(jiǎn)介與快速配置指南
  4. BitTorrent 協(xié)議規(guī)范
責(zé)任編輯:yangsai 來(lái)源: 51CTO.com
相關(guān)推薦

2010-01-20 10:44:01

linux DHCP服務(wù)器

2020-06-01 16:25:43

WindowsLinux命令

2011-02-22 17:42:26

2020-07-16 08:37:39

NginxCentOS7搭建

2022-05-26 07:41:24

2009-01-06 18:57:38

2010-07-06 09:38:51

搭建私有云

2022-03-14 14:47:21

HarmonyOS操作系統(tǒng)鴻蒙

2011-01-10 14:41:26

2020-07-27 10:15:51

LinuxJenkins命令

2011-03-25 12:45:49

Oracle SOA

2021-08-12 10:25:33

SVN服務(wù)器VisualSVN s

2009-06-12 18:21:46

App Engine上

2022-01-10 11:52:46

Gitee服務(wù)器代碼

2020-11-03 14:10:29

Vue服務(wù)端渲染前端

2018-10-10 15:14:20

Linux虛擬機(jī)配置

2021-09-18 14:26:49

Linux Linux 啟動(dòng)流程Linux 系統(tǒng)

2010-07-06 09:43:57

搭建私有云

2022-01-04 08:52:14

博客網(wǎng)站Linux 系統(tǒng)開(kāi)源

2022-01-17 07:50:37

Linux Patch項(xiàng)目
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)