Você está na página 1de 20

BandwidthManagementdiLinux

ByHenrySaptono(boypyt@gmail.com)

Pendahuluan
Istilahbandwidthmanagementseringdipertukarkandenganistilahtrafficcontrol,yangdapat didefinisikansebagaipengalokasianyangtepatdarisuatubandwidthuntukmendukungkebutuhan ataukeperluanaplikasiatausuatulayananjaringan.Istilahbandwidthdapatdidefinisikansebagai kapasitasataudayatampungsuatuchannelkomunikasi(mediumkomunikasi)untukdapatdilewati sejumlahtrafficinformasiataudatadalamsatuanwaktutertentu.Umumnyabandwidthdihitung dalamsatuanbit,kbitataubps(bytepersecond).Pengalokasianbandwidthyangtepatdapatmenjadi salahsatumetodedalammemberikanjaminankualitassuatulayananjaringan(QoS=QualityOf Services). MaksuddarijudulartikelBandwidthManagementdiLinuxadalahbagaimanakitamenerapkan pengalokasianataupengaturanbandwidthdenganmenggunakansebuahkomputerlinux.Umumnya komputerlinuxdapatdigunakansebagaigateway/routersehinggamemungkinkanuntukmengatur trafficdataataumengalokasikanbandwidthdaritrafficdatayangmelewatikomputerlinuxtersebut untukmemberikanjaminankualitasakseslayananinternetbagikomputerkomputerdalamjaringan lokal.Dalamartikelinipenulistidakakanmembahassecarapanjanglebarmengenaibagaimanacara kerjakernellinuxdalammelaksanakanfungsitrafficcontrolataubandwidthmanagement,penulis hanyaakanmenjelaskanlangkahlangkahpraktismembangunsebuahbandwitdthmanagement dengansistemoperasilinuxbesertatoolsadministrasiyangmudahdiperolehdanfree.Untuk mengetahuidengandetilbagaimanacarakerjatrafficcontrolpadakernellinuxsebaiknyaAnda membacaguideataututorialtentangLinuxAdvancedRouting&TrafficControl ariwebsite d http://lartc.orgataututoriallainnyadiinternet.

QoSpadaKernelLinux
UmumnyakernellinuxsudahdilengkapidengandukunganfungsiimplementasiQoS(QualityOf Services)atautrafficcontrol,denganberbagaimodulnetworkscheduler.Untukmembuktikanbahwa kernellinuxmenyediakandukunganQoSbesertamodulmodulQueueingDisciplinesAndadapat mengeceknyadenganmelihatkonfigurasikernelyangAndagunakansaatini,sepertidalamgambar 1.

Halaman1

Gambar1.PengecekandukungankernellinuxterhadapfungsiQoS Jikahasilpengecekansepertitampakpadagambar1,makadapatdikatakankernellinuxAndasaatini sudahsiapuntukimplementasitrafficcontrol.

Persiapandankebutuhansoftware
Penulisdalamcontohartikelinimenggunakankernel2.6.188.el5dengandistribusinyamenggunakan CentOS5.DalamartikelinipenulismenggunakanmodulnetworkscheduleratauQueueing DisciplinesSFQ(StochasticFairnessQueueing)danHTB(HierarchicalTokenBucket)untuk metodeantriantrafficdatadalamkernellinuxdanfilteringu32untukmemfilterkelaskelaspaket. Penulisjugamenggunakanhtb.initscripts(http://sourceforge.net/projects/htbinit/)untukmen setuptrafficcontrolberbasiskanHTB. ntukmemudahkankonfigurasihtb.initpenulismenggunakan U webmin(http://prdownloads.sourceforge.net/webadmin/webmin1.3901.noarch.rpm)frontend QoSyangberbasisHTB(http://www.sehier.fr/webminhtb/webminhtb.tar.gz)yangsebelumnya harusAndainstalkedalamwebminsebagaimodul.SelanjutnyaAndajugamemerlukantooluntuk managementbandwitdthyangdisertakanolehpaketsoftwareiproute2(ipdantc)untukitupastikan bahwasoftwareiproute2initelahterinstal,sebaiknyaAndacekdenganperintahberikut:

Halaman2

[root@Similikiti ~]# rpm -qa|grep iproute iproute-2.6.18-4.el5 JikabelumterinstalAndadapatsegeramenginstalnya,umumnyapaktesoftwareiproute2disertakan dalamCD/DVDdistroyangAndagunakan,jaditidakperlumendownloadnyadariInternet.

Skenariojaringan
Agarlebihmudahdipahamimakapenulismembuatsebuahskenariojaringansepertitampakdalam gambar2.

Halaman3

Gambar2.Skemajaringan Sebagaimanatampakpadagambar2,bahwakomputerlinuxyangberfungsisebagaiPCRouter (gateway)jugadifungsikansebagaibandwitdthmanagementuntukmengaturalokasibandwitdth dalamLAN.Yangperludiperhatikanadalahbahwakitahanyaakanmengaturataumengalokasikan bandwidthdaritrafficdatayangdikirimolehnetworkinterfacepadakomputerlinuxPCRouterdan tidakmengaturbandwidthtrafficdatayangdatangdarijaringankenetworkinterfacepadalinuxPC Router(alasannyacobaAndabacatutorialdarilartc.org).Dandalamcontohinipenulisakan mencontohkanbagaimanakitadapatmengaturbandwidthdaritrafficdatayangdikirimkan/keluarke komputerkomputerjaringanLAN,sehinggadengankatalainkitahanyaakanmengaturbandwidth trafficdatayangdatangdariInternetmenujukomputerkomputerpadajaringanlokal(LAN). Sebagaimanadalamgambar2,makakitahanyaakanmenerapkantrafficcontrolpadanetwork interfaceeth1darikomputerPCRouter.NamunsebaiknyaAndajugamenerapkantrafficcontrol padainterfaceeth0yangdapatbermanfaatdalammengaturtrafficdatayangdikirimkandarieth0 menujujaringanInternetsehinggaharapannyamenghindariterjadinyabottleneckpadaModem ADSL.Tetapiuntukmempermudahpemahamanmaka enulismembatasihanyamembahas p bagaimanamengaturalokasibandw idthdaritrafficyangakandikirimkamkeLANdariPCRouter ataupundariInternet.Untukituberikutinipenulismenggambarkanskenariomaksimumrateyang dapatditransmitdarieth1padaPCroutersebesar512Kbitsepertitampakdalamgambar3,dan selanjutnyaakandibagibagikedalamkelaskelasaliaran trafficdata.Pengaturabakandilakukanvia Halaman4

webmin.

Gambar3.Skenariomaksimumtransmitrate

Instalasidankonfigurasisoftware
Ok,agarlebihcepatmakapenulismengasumsikanbahwasoftwaredankebutuhanyanglaintelah terinstaldandikonfigurasidenganbenar,keculaisoftwarewebmin,kemudianmodulwebminhtb, sertahtb.inityangbelumterinstal.Untukitumarikitamulaidenganmenginstalwebmin.

Instalasiwebmin
Downloadterlebihdahuluweb min:
# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.3901.noarch.rpm

Kemudianinstalsepertiberikutini: [root@Similikiti ~]# rpm -ivh webmin-1.390-1.noarch.rpm Selanjutnyaaktifkanwebm injikabelumaktif. [root@Similikiti ~]# service webmin start atau [root@Similikiti ~]# /etc/init.d/webmin start KemudianAndadapatmengakseswebmindenganmenggunakanwebclient(misal:firefox),dengan URLhttp://localhost:10000ataujikamendukungsecureconnectionURLnyaadalah https://localhost:10000. Halaman5

Instalasihtb.initscript
Downloaddahuluhtb.initscriptdenganmeng gunakanwebclient(misal:firefox)danketikURL http://http://sourceforge.net/projects/htb init/.Kemudianinstaldansetupsebagaiberikut: [root@Similikiti ~]# cp htb.init-v0.8.5 /etc/init.d/htb.init [root@Similikiti ~]# mkdir -p /etc/sysconfig/htb

Instalasiwebminhtbmodul
Downloadterlebihdahuluweb minhtbmodul: # wget http://www.sehier.fr/webmin-htb/webmin-htb.tar.gz Kemudianinstalmodulwebminhtbtersebutmelaluiwebmin,denganmemilihmenuWebmin> Webminconfiguration>WebminModules,sepertitampakdalamgambar4.

Gambar4.InstalasimodulHTBviawebminmodules

Halaman6

Gambar5.HalamanselesaiinstalmoduleHTB SelanjutnyaAndaharusmengkonfigurasidahulumodulwebminhtbdenganmengklikhyperlink HierarchicalTokenBucketyangtampakpadagambar5setelahinstalasimodulHTB.Dan selanjutnyaAndaakanmenemuihalamansepertigambar6.SebagaicatatansebaiknyaAnda pastikandahuluapakahsudahterinstalmodulperlTree::DAG_Node,jikabelumAndadapat menginstalnyaterlebihdahulusebelummelakukankonfigurasimodulwebminHTB,sepertiberikut ini: [root@labtop1 ~]# cpan -i Tree::DAG_Node

Halaman7

Gambar6.HalamankonfigurasimodulHTB.

Setuptrafficcontrolmenggunakanfrontendwebminhtbmodul
Sebelummemulaimensetuptrafficcontrolmenggunakanfrontendwebminhtbmelaluiwebmin, penulisakanmembuatskenariopengalokasianbandwidthdanfilteringnya,yaknisebagai berikut:

BandwidthTrafficdataakandisetupmaksimumhanya512Kbityangdapatditransmitdari eth1kejaringan. Jumlahkelastrafficdatayangakandisetupada3kelasyangterdiridari:

kelasyangpertamadenganinformasiparametersbb:

Name:http Rate:400Kbit Ceil:512Kbit

Halaman8

Priority:1 Denganrulesfilteringsbb:

Sourceaddress0.0.0.0/0(darimanapun)denganportasal(sourceport)adalah 80,443dan3128,dengandestinationkejaringan192.168.1.0/24

Kelasyangkeduadenganinformasiparameter sbb:

Name:ssh Rate:80Kbit Ceil:112Kbit Priority:2 Denganrulesfilteringsbb:

Sourceaddress0.0.0.0/0(darimanapun)denganportasal(sourceport)adalah22 ,dengandestinationkehost192.168.1.251.

Kelasyangketigadenganinformasiparametersbb: Name:other Rate:32Kbit Ceil:32Kbit Priority:3 Denganrulesfilteringsbb: Sourceaddress0.0.0.0/0(darimanapun)dengan portasal(sourceport)berapapun dandengandestinationkehostmanapundalamjaringanLAN.

SekarangAndatinggalmencobamenerapkan skenariotersebutdengan engakseswebmin m (http://localhost:10000atauhttps://localhost:10000),kemudianloginmasukkanusername'root'dan berikanpasswordroot,makaselanjutnyaAndaakanmasukkehalamanutamawebm in,Padahalaman utamatersebutAndalihatmenusebelahkiri(jikawebminmenggunakandefaultthemes)pilihlah menuNetworking>HierarchyTokenBucketqueuingdanAndaakanmenemuihalamanutama modulHTBkemudianklikhyperlinkClickheretoenableinterfaceeth1makaselanjutnyaakan tampakhalamaninisialisasisepertitampakpadagambar7,dantekantombolSavechanges.

Halaman9

Gambar7.Halamaninisialisasiinterfaceeth1

Langkahberikutnyaadalah ndamembuatataumendefinisikanmasingmasingkelassebagaimana A skenarioyangtelahdipaparkansebelumnya.Untukmembuatkelaslihatpadahalamankonfigurasi moduleHTB,padabagianIntefaceeth1,kliklahmenu/hyperlinkNewchild[>].Kemudianakan munculhalamansepertipadagambar8.

Halaman10

Gambar8.HalamanCreateNewChildpertama BerikutnyaeditkelasyangbaruAndabuatdenganmengklikmenu/hyperlink[2]EDIT_ME,dan andaakanmenjumpaihalamaneditkemudianisilahseluruhelemenformyangadasesuaidengan skenarioyangtelahdijelaskanuntukkelasyangpertama.Lihatgambar9untukkelasyangpertama.

Halaman11

Gambar9.HalamanEditMe,untukpembuatankelaspertama. Setelahmengedit/membuatkelastrafficcontrolyangpertamabesertarulefilteringnya,tekanlah tombolSavechanges.Langkahpembuatankelasyangkeduadanketigamengikutilangkah langkahyangtelahAndalakukanuntukkelasyangpertama,hanyasajasesuaikanskenarionya. Berikutinigambargambaryangmenjelaskanlangkahlangkahpembuatankelaskeduadanketiga besertarulefilternya.Catatanjikaandainginmembuatsatukelaslagimakapastikantotalratenya untuksemuakelassamadenganmaksimumrateyangandainginkan.Andajugadapatmembuatchild kelasdalamsebuahkelasyangtelahdidefinisikanuntukmembentukhirarkikelas(lihat menu/hyperlinknewcildyangadapadabagiankanansetiapkelasyangdiatandaidengantanda[>].

Halaman12

Gambar10.HalamanCreateNewChildkedua

Halaman13

Gambar11.HalamanEditMe,untukpembuatankelaskedua

Halaman14

Gambar12.HalamanCreateNewChildketiga

Halaman15

Gambar13.HalamanEditMe,untukpembuatankelasketiga Langkahberikutnyasetdefaultclass(default classdisetuntukkelasother),sepertitampakdalam gambar14.

Halaman16

Gambar14.SetupDefaultClass

LangkahselanjutnyajikasemuakelasdanrulefilteringnyasudahselesaiAndadefinisikanmaka Andadapatsegeramengaktifkanhtb.initdenganmenekantombolstartsebagaimanaditunjukkan dalamgambar15.(Modulwebminhtbinisepertinyaperlupatchagarmuncullabelstartdanstop padatomboltombolyangditunjukkandalamgambar15.).

Halaman17

Gambar15.MengaktifkanHTBinit

Halaman18

Gambar16.StatuspengaktifanHTBinit.

Semuakonfigurasikelaskelasdanruledaritrafficcontrolmenggunakanwebminhtbmodul disimpandalamdirektori/etc/sysconfig/htb.Konfigurasisetiapkelasdi impandalammasingmasing s filesepertiberikutini: [root@Similikiti ~]# ls -al /etc/sysconfig/htb/ total 28 drwxr-xr-x 2 root root 4096 Feb 3 20:11 . drwxr-xr-x 12 root root 4096 Feb 3 19:36 .. -rw-r--r-- 1 root root 10 Feb 3 20:04 eth1 -rw-r--r-- 1 root root 107 Feb 3 20:07 eth1-2.http -rw-r--r-- 1 root root 55 Feb 3 20:11 eth1-4.ssh -rw-r--r-- 1 root root 31 Feb 3 20:11 eth1-6.other Agarsetiapkalibootinghtb.initdiaktifkanmakaandadapatmendaftarkankepadasistemagarservice htb.initdiaktifkansaatbootolehinitsecaraotomatis,untukitulakukanperintahberikut: [root@Similikiti ~]# chkconfig htb.init on

Halaman19

Selanjutnyacobalahhasilkonfigurasitrafficcontroltersebutdengancaramelakukantransferfile (download)yangterdapatdisebuahserverdiInternetviaSSH/SCPkekomputer192.168.1.251untuk mengujiapakahrulepadakelasyangkeduaberjalandengantepat.AtaucobadownloadfileviaHTTP darisebuahserverdiinternetkekomputerjaringanlokaluntukmengujiruleyangditerapkanpada kelaspertama.Andadapatmengamatiprosesdownloadapakahadaperbedaanketikasebelumdiatur menggunakanbandwidthmanagerpadaPCRouterdengansetelahdiatur.AdabaiknyaAndagunakan toolsuntukmonitoringnetworktrafficseperti:BWMonitor:monitor.pl (http://www.docum.org/docum.org/monitor/download/monitor.pl),HTBMonitor:monitor.pl (http://www.docum.org/docum.org/monitor/download/monitor_tc.pl),danlainlain.

Referensi:
http://lartc.org http://www.docum.org/docum.org http://www.sehier.fr/webminhtb

Halaman20

Você também pode gostar