Otu esi amachi bandwit netwọkụ nke ngwa na-eji na sistemụ Linux nwere aghụghọ


Ị hụtụla ọnọdụ ebe otu ngwa na-achịkwa bandwit netwọk gị niile? Ọ bụrụ na ị nọla n'ọnọdụ ebe otu ngwa riri okporo ụzọ gị niile, mgbe ahụ ị ga-eji ọrụ nke ngwa ihe na-emepụta bandwidth trickle kpọrọ ihe.

Ma ị bụ onye nchịkwa sistemu ma ọ bụ naanị onye ọrụ Linux, ịkwesịrị ịmụ ka esi ejikwa nbudata na nbudata ọsọ maka ngwa iji jide n'aka na bandwidth netwọkụ gị anaghị agba otu ngwa ọkụ.

[Ị nwekwara ike ịmasị: 16 Ngwa nlekota bandwit bara uru iji nyochaa ojiji netwọkụ na Linux]

Kedu ihe bụ Trickle?

Trickle bụ ihe na-emepụta bandwidth netwọk na-enye anyị ohere ijikwa nbudata na nbudata ọsọ nke ngwa iji gbochie onye ọ bụla n'ime ha ka ọ bụrụ ihe niile (ma ọ bụ ọtụtụ) nke bandwidth dị.

N'okwu ole na ole, aghụghọ na-enye gị ohere ijikwa ọnụego netwọkụ okporo ụzọ na ntinye ngwa ọ bụla, n'adịghị ka njikwa onye ọ bụla, nke bụ ihe atụ mara mma nke ịkpụgharị bandwit na gburugburu ebe ndị ahịa-ihe nkesa, ma eleghị anya nhazi anyị bụ karịa. maara nke ọma.

Kedu ka Trickle si arụ ọrụ?

Na mgbakwunye, aghụghọ nwere ike inyere anyị aka ịkọwa ihe ndị kacha mkpa na ntinye akwụkwọ nke mere na mgbe edobere oke maka sistemụ niile, ngwa ndị kacha mkpa ka ga-enwetakwu bandwidth na-akpaghị aka.

Iji rụzuo ọrụ a, aghụghọ ahụ na-edobe oke okporo ụzọ na ụzọ esi ezipu data ma nata ya, sọket na-eji njikọ TCP. Anyị ga-arịba ama na, karịa ọnụego mbufe data, aghụghọ adịghị agbanwe n'ụzọ ọ bụla omume nke usoro ọ na-akpụzi n'oge ọ bụla.

Kedu ihe Trickle enweghị ike ime?

Naanị mmachi, dị ka a pụrụ isi kwuo ya, bụ na aghụghọ agaghị arụ ọrụ na ngwa njikọ statically ma ọ bụ ọnụọgụ abụọ nwere SUID ma ọ bụ SGID bits setịpụrụ ebe ọ na-eji njikọ siri ike na nbudata iji tinye onwe ya n'etiti usoro akpụrụ akpụ na oghere netwọk metụtara ya. Trickle na-arụkwa ọrụ dị ka proxy n'etiti akụrụngwa ngwanrọ abụọ a.

Ebe ọ bụ na aghụghọ anaghị achọ ohere ndị isi ka ọ na-agba ọsọ, ndị ọrụ nwere ike ịtọ oke okporo ụzọ nke ha. Ebe ọ bụ na nke a nwere ike ọ gaghị abụ ihe na-achọsi ike, anyị ga-enyocha otu esi edobe oke oke nke ndị ọrụ sistemụ enweghị ike ịgafe. N'ikwu ya n'ụzọ ọzọ, ndị ọrụ ka ga-enwe ike ijikwa ọnụ ahịa okporo ụzọ ha, mana mgbe niile n'ime oke nke onye nchịkwa usoro setịpụrụ.

N'isiokwu a, anyị ga-akọwa otu esi amachi bandwidth netwọk nke ngwa na-eji na ihe nkesa Linux nwere aghụghọ.

Iji mepụta okporo ụzọ dị mkpa, anyị ga-eji ncftpput na ncftpget (ngwaọrụ abụọ ahụ dị site na ịwụnye ncftp) na onye ahịa (ihe nkesa CentOS - dev1: 192.168.0.17), na vsftpd na ihe nkesa (Debian - dev2: 192.168.0.15) maka ebumnuche ngosi. Otu ntuziaka ahụ na-arụkwa ọrụ na RedHat, Fedora na sistemụ Ubuntu.

Ịwụnye ncftp na vsftpd na Linux

1. Maka RHEL/CentOS 8/7, mee ka ebe nchekwa EPEL rụọ ọrụ. Ngwunye mgbakwunye maka Linux Enterprise (EPEL) bụ ebe nchekwa sọftụwia mepere emepe nke Fedora na-echekwa yana 100% dakọtara na spinoffs ya, dị ka Red Hat Enterprise Linux na CentOS. A na-eme ma trickle na ncftp site na ebe nchekwa a.

2. Wụnye ncftp dị ka ndị a:

# yum update && sudo yum install ncftp		[On RedHat based systems]
# aptitude update && aptitude install ncftp	[On Debian based systems]	

3. Hazie ihe nkesa FTP na sava dị iche. Biko mara na ọ bụ ezie na FTP enweghị nchebe, a ka na-ejikarị ya eme ihe mgbe nchekwa na-ebugo ma ọ bụ nbudata faịlụ adịghị mkpa.

Anyị na-eji ya n'isiokwu a iji gosi ihe bara uru nke trickle na n'ihi na ọ na-egosi ọnụego mbufe na stdout na onye ahịa, anyị ga-ahapụkwa mkparịta ụka ma ọ kwesịrị ma ọ bụ na-ekwesịghị iji maka ụbọchị na oge ọzọ.

# yum update && yum install vsftpd 		[On RedHat based systems]
# apt update && apt install vsftpd 	[On Debian based systems]

Ugbu a, dezie faịlụ /etc/vsftpd/vsftpd.conf na sava FTP dị ka ndị a:

$ sudo nano /etc/vsftpd/vsftpd.conf
OR
$ sudo /etc/vsftpd.conf

Mee mgbanwe ndị a:

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

Mgbe nke ahụ gasịrị, jide n'aka na ịmalite vsftpd maka nnọkọ gị ugbu a yana iji mee ka ọ nwee ike ịmalite ịmalite na akpụkpọ ụkwụ n'ọdịnihu:

# systemctl start vsftpd 		[For systemd-based systems]
# systemctl enable vsftpd
# service vsftpd start 			[For init-based systems]
# chkconfig vsftpd on

4. Ọ bụrụ na ị họrọ ịtọ ihe nkesa FTP na CentOS/RHEL droplet nwere igodo SSH maka ohere dịpụrụ adịpụ, ị ga-achọ akaụntụ njirimara echedoro paswọọdụ yana akwụkwọ ndekọ kwesịrị ekwesị na ikikere faịlụ maka ibugo na nbudata ọdịnaya achọrọ n'èzí n'ụlọ mgbọrọgwụ. ndekọ.

Ị nwere ike ịgagharị na ndekọ ụlọ gị site na itinye URL ndị a na ihe nchọgharị gị. Window nbanye ga-apụta na-akpali gị maka akaụntụ njirimara na paswọọdụ dị na sava FTP.

ftp://192.168.0.15

Ọ bụrụ na nyocha ahụ ga nke ọma, ị ga-ahụ ọdịnaya nke ndekọ ụlọ gị. Mgbe emechara na nkuzi a, ị ga-enwe ike iweghachi ibe ahụ iji gosipụta faịlụ ndị ebugoro n'oge usoro ndị gara aga.

Otu esi etinye Trickle na Linux

Ugbu a tinye trickle site na yum ma ọ bụ apt.

Iji hụ na nrụnye na-aga nke ọma, a na-ewere ya dị ka omume dị mma iji jide n'aka na ngwugwu arụnyere ugbu a bụ ihe ọhụrụ (iji yum update) tupu ịwụnye ngwá ọrụ n'onwe ya.

# yum -y update && yum install trickle 		        [On RedHat based systems]
# apt -y update && apt install trickle 	[On Debian based systems]

Chọpụta ma trickle ọ ga-arụ ọrụ na ọnụọgụ abụọ achọrọ. Dịka anyị kọwara na mbụ, trickle ga-arụ ọrụ naanị na ọnụọgụ abụọ site na iji ọba akwụkwọ dị ike ma ọ bụ nkekọrịta. Iji nyochaa ma anyị nwere ike iji ngwa a na ụfọdụ ngwa, anyị nwere ike iji ldd utility amaara nke ọma, ebe ldd na-anọchi anya ndepụta ndabere ike.

Kpọmkwem, anyị ga-achọ ọnụnọ nke glibc (ọbá akwụkwọ GNU C) na ndepụta nke ndabere siri ike nke mmemme ọ bụla enyere n'ihi na ọ bụ ọba akwụkwọ ahụ na-akọwapụta oku sistemụ na-etinye aka na nkwukọrịta site na sọket.

Gbaa iwu na-esonụ megide ọnụọgụ abụọ nyere iji hụ ma enwere ike iji aghụghọ mee bandwit ya:

# ldd $(which [binary]) | grep libc.so

Ọmụmaatụ,

# ldd $(which ncftp) | grep libc.so

onye mmepụta ya bụ:

# libc.so.6 => /lib64/libc.so.6 (0x00007efff2e6c000)

Eriri dị n'etiti brackets na mmepụta nwere ike ịgbanwe site na sistemụ gaa na sistemụ na ọbụna n'etiti ọsọ ọsọ nke otu iwu ebe ọ na-anọchi anya adreesị ibu nke ọba akwụkwọ na ebe nchekwa anụ ahụ.

Ọ bụrụ na iwu a dị n'elu anaghị alaghachite nsonaazụ ọ bụla, ọ pụtara na ọnụọgụ abụọ ọ na-agba ọsọ anaghị eji libc, yabụ enweghị ike iji aghụghọ mee ihe dị ka onye na-emepụta bandwidth n'ọnọdụ ahụ.

Mụta otu esi eji Trickle na Linux

Ojiji kacha eme nke trickle bụ na ọnọdụ kwụ ọtọ. N'iji usoro a, a na-eji trickle kọwaa nke ọma nbudata na bulite ọsọ nke ngwa enyere. Dịka anyị kọwara na mbụ, maka nkenke, anyị ga-eji otu ngwa ahụ maka nbudata na nbudata ule.

Anyị ga-atụnyere nbudata na bulite ọsọ na-enweghị iji aghụghọ. Nhọrọ -d na-egosi ọsọ nbudata na KB/s, ebe ọkọlọtọ -u na-agwa trickle ka ọ kpachie ọsọ nbudata site na otu nkeji. Na mgbakwunye, anyị ga-eji ọkọlọtọ -s, nke na-akọwapụta na aghụghọ kwesịrị ịgba ọsọ na ọnọdụ kwụ ọtọ.

Ihe nkiti syntax na-agba ọsọ trickle na standalone mode bụ dị ka ndị a:

# trickle -s -d [download rate in KB/s] -u [upload rate in KB/s]

Iji mee ihe atụ ndị a n'onwe gị, jide n'aka na ị nwere trickle na ncftp arụnyere na igwe ndị ahịa (192.168.0.17 n'ọnọdụ m).

Anyị na-eji faịlụ Linux Fundamentals PDF nke na-ekesa n'efu (nke dị na ebe a) maka ule ndị a.

Ị nwere ike budata faịlụ a na akwụkwọ ndekọ aha gị ugbu a site na iji iwu a:

# wget http://linux-training.be/files/books/LinuxFun.pdf 

Okwu syntax iji bulite faịlụ na sava FTP anyị na-enweghị aghụghọ bụ nke a:

# ncftpput -u username -p password 192.168.0.15  /remote_directory local-filename 

Ebe/remote_directory bụ ụzọ akwụkwọ ndekọ aha bulite metụtara ụlọ aha njirimara, yana faịlụ mpaghara bụ faịlụ na ndekọ ndekọ ọrụ gị ugbu a.

Kpọmkwem, na-enweghị aghụghọ, anyị na-enweta ọsọ kacha elu nke 52.02 MB/s (biko mara na nke a abụghị ezigbo nbudata ngwa ngwa, kama ọ bụ ngwa ngwa na-amalite ngwa ngwa), a na-ebulite faịlụ ahụ ihe fọrọ nke nta ka ọ bụrụ ozugbo:

# ncftpput -u username -p password 192.168.0.15  /testdir LinuxFun.pdf 

Mpụta:

LinuxFun.pdf:                                        	2.79 MB   52.02 MB/s

Site na aghụghọ, anyị ga-amachi ọnụego mbulite na 5 KB/s. Tupu ebugo faịlụ nke ugboro abụọ, anyị kwesịrị ihichapụ ya na ebe ndekọ; ma ọ bụghị ya, ncftp ga-agwa anyị na faịlụ dị na ebe ndekọ aha bụ otu ihe anyị na-agbalị bulite, na ọ gaghị eme mbufe:

# rm /absolute/path/to/destination/directory/LinuxFun.pdf 

Mgbe ahụ:

# trickle -s -u 5 ncftpput -u username -p password 111.111.111.111 /testdir LinuxFun.pdf 

Mpụta:

LinuxFun.pdf:                                        	2.79 MB	4.94 kB/s

N'ihe atụ dị n'elu, anyị nwere ike ịhụ na nkezi ọsọ nbulite gbadara ~5 KB/s.

Mbụ, cheta ihichapụ PDF na akwụkwọ ndekọ aha mbụ:

# rm /absolute/path/to/source/directory/LinuxFun.pdf 

Biko mara na ikpe ndị a ga-ebudata faịlụ dịpụrụ adịpụ na ndekọ aha ugbu a na igwe ndị ahịa. Egosiputa eziokwu a site na oge ('.') nke na-egosi mgbe adreesị IP nke ihe nkesa FTP gasịrị.

Na-enweghị aghụghọ:

# ncftpget -u username -p  password 111.111.111.111 . /testdir/LinuxFun.pdf 

Mpụta:

LinuxFun.pdf:                                        	2.79 MB  260.53 MB/s

Site na aghụghọ, na-amachi ọsọ nbudata na 20 KB/s:

# trickle -s -d 30 ncftpget -u username -p password 111.111.111.111 . /testdir/LinuxFun.pdf 

Mpụta:

LinuxFun.pdf:                                        	2.79 MB   17.76 kB/s

Na-agba ọsọ Trickle na ọnọdụ a na-elekọta [anaghị ejikwa ya].

Trickle nwekwara ike na-agba ọsọ na ọnọdụ anaghị ejikwa, na-eso usoro nke akọwapụtara na /etc/trickled.conf. Faịlụ a na-akọwa etu aghụghọ (daemon) si eme ma na-ejikwa aghụghọ.

Na mgbakwunye, ọ bụrụ na anyị chọrọ ịtọ ntọala zuru ụwa ọnụ ka a ga-eji, n'ozuzu, site na ngwa niile, anyị ga-achọ iji iwu aghụghọ. Iwu a na-agba daemon ma na-enye anyị ohere ịkọwa nbudata na bulite oke nke ngwa niile na-agba ọsọ ga-ekekọrịta na-enweghị anyị mkpa ịkọwapụta oke oge ọ bụla.

Dịka ọmụmaatụ, ịgba ọsọ:

# trickled -d 50 -u 10

Ga-eme ka nbudata na bulite ọsọ nke ngwa ọ bụla na-agba site na aghụghọ ga-ejedebe na 30 KB/s na 10 KB/s, n'otu n'otu.

Biko mara na ị nwere ike ịlele n'oge ọ bụla ma aghụghọ na-agba ọsọ yana ihe arụmụka:

# ps -ef | grep trickled | grep -v grep

Mpụta:

root 	16475 	1  0 Dec24 ?    	00:00:04 trickled -d 50 -u 10

N'ihe atụ a, anyị ga-eji vidiyo Ọ bụ onyinye nke a na-ekesa n'efu, dị maka nbudata na njikọ a.

Anyị ga-ebudata faịlụ a na ndekọ ndekọ aha gị ugbu a site na iji iwu a:

# wget http://media2.ldscdn.org/assets/missionary/our-people-2014/2014-00-1460-he-is-the-gift-360p-eng.mp4 

Nke mbụ, anyị ga-amalite daemon aghụghọ na iwu edepụtara n'elu:

# trickled -d 30 -u 10

Na-enweghị aghụghọ:

# ncftpput -u username -p password 192.168.0.15 /testdir 2014-00-1460-he-is-the-gift-360p-eng.mp4 

Mpụta:

2014-00-1460-he-is-the-gift-360p-eng.mp4:           	18.53 MB   36.31 MB/s

Na aghụghọ:

# trickle ncftpput -u username -p password 192.168.0.15 /testdir 2014-00-1460-he-is-the-gift-360p-eng.mp4 

Mpụta:

2014-00-1460-he-is-the-gift-360p-eng.mp4:           	18.53 MB	9.51 kB/s

Dịka anyị nwere ike ịhụ na mmepụta dị n'elu, ọnụego mbufe ebugo gbadara ~ 10 KB/s.

Dịka Ọmụmaatụ 2, anyị ga na-ebudata faịlụ ahụ na ndekọ ọrụ ugbu a.

Na-enweghị aghụghọ:

# ncftpget -u username -p password 192.168.0.15 . /testdir/2014-00-1460-he-is-the-gift-360p-eng.mp4 

Mpụta:

2014-00-1460-he-is-the-gift-360p-eng.mp4:           	18.53 MB  108.34 MB/s

Na aghụghọ:

# trickle ncftpget -u username -p password 111.111.111.111 . /testdir/2014-00-1460-he-is-the-gift-360p-eng.mp4 

Mpụta:

2014-00-1460-he-is-the-gift-360p-eng.mp4:           	18.53 MB   29.28 kB/s

Nke dabara na oke nbudata nke edobere na mbụ (30 KB/s).

Mara: na ozugbo amalitere daemon, ọ dịghị mkpa ịtọ oke n'otu n'otu maka ngwa ọ bụla na-eji aghụghọ.

Dịka anyị kwuru na mbụ, mmadụ nwere ike hazie nhazi bandwidth nke trickle site na trickled.conf. Akụkụ a na-ahụkarị na faịlụ a nwere ihe ndị a:

[service]
Priority = <value>
Time-Smoothing = <value>
Length-Smoothing = <value>

Ebee,

  1. [ọrụ] na-egosi aha ngwa nke anyị bu n’obi ịkpụzi ojiji bandwit ya.
  2. Ibu ụzọ na-enye anyị ohere ịkọwapụta ọrụ ka ọ bụrụ ihe kacha mkpa gbasara onye ọzọ, yabụ na-agaghị ekwe ka otu ngwa hog bandwit niile nke daemon na-achịkwa. Ọnụ ọgụgụ dị ala, ka bandwidth na-ekenye na [ọrụ].
  3. Time-Smoothing [n'ime sekọnd]: na-akọwa na oge etiti oge aghụghọ ga-anwa ikwe ka mbufe ngwa na/ma ọ bụ nweta data. Obere ụkpụrụ (ihe dị n'etiti oke nke 0.1 - 1s) dị mma maka ngwa mmekọrịta ma ga-eme ka nnọkọ na-aga n'ihu na-aga n'ihu (dị nro) ebe ụkpụrụ dị ntakịrị (1 - 10 s) dị mma maka ngwa ndị chọrọ nnyefe buru ibu. Ọ bụrụ na akọwapụtaghị uru ọ bụla, a na-eji ndabara (5 s) eme ihe.
  4. Ogologo-Ntọọ [na KB]: echiche bụ otu ihe ahụ dị na Time-Smoothing, mana dabere na ogologo ọrụ I/O. Ọ bụrụ na akọwapụtaghị uru ọ bụla, a na-eji ndabara (10 KB).

Ịgbanwe ụkpụrụ ire ụtọ ga-atụgharị gaa na ngwa nke [ọrụ] akọwapụtara site na iji ọnụego mbufe n'ime nkeji oge kama ịbụ uru a kapịrị ọnụ. N'ụzọ dị mwute, ọ nweghị usoro iji gbakọọ oke ala na elu nke etiti oge a n'ihi na ọ dabere na ọnọdụ ọ bụla akọwapụtara.

Ihe a bụ faịlụ nlere aghụghọ.conf na onye ahịa CentOS 7 (192.168.0.17):

[ssh]
Priority = 1
Time-Smoothing = 0.1
Length-Smoothing = 2

[ftp]
Priority = 2
Time-Smoothing = 1
Length-Smoothing = 3

Iji ntọlite a, aghụghọ ga-ebute njikọ SSH ụzọ karịa mbufe FTP. Rịba ama na usoro mmekọrịta, dị ka SSH, na-eji ụkpụrụ dị nro na-ewe obere oge, ebe ọrụ na-arụ ọrụ nnyefe data buru ibu (FTP) na-eji uru ka ukwuu.

Ụkpụrụ ire ụtọ na-ahụ maka nbudata na bulite ọsọ n'ihe atụ anyị gara aga na-adakọghị ọnụ kpọmkwem nke daemon ghọgburu akọwapụtara mana ọ na-aga n'ime oge dị nso na ya.

[Ị nwekwara ike ịmasị: Otu esi echekwa ma sie ike OpenSSH Server]

Mmechi

N'isiokwu a, anyị enyochala otu esi amachi bandwit nke ngwa na-eji aghụghọ na nkesa Fedora na Debian/usoro. Okwu ikpe ndị ọzọ enwere ike iji ya gụnyere, mana ọnweghị oke na:

  • Igbochi ọsọ nbudata site na ngwa sistemu dị ka ndị ahịa iyi, dịka ọmụmaatụ.
  • Na-amachi ọsọ nke enwere ike imelite sistemu gị site na \ikike\, ọ bụrụ na ị nọ na sistemụ dabere na Debian), sistemụ njikwa ngwugwu.
  • Ọ bụrụ na ihe nkesa gị nọ n'azụ proxy ma ọ bụ firewall (ma ọ bụ bụ proxy ma ọ bụ firewall n'onwe ya), ị nwere ike iji trickle tọọ oke na nbudata na bulite ma ọ bụ ọsọ nkwurịta okwu na ndị ahịa ma ọ bụ n'èzí.
  • >

A na-anabata ajụjụ na azịza. Enwere onwe gị iji fọm dị n'okpuru ziga ha ụzọ anyị.