Anda di halaman 1dari 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&TrafficControldariwebsite
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.Untukmemudahkankonfigurasihtb.initpenulismenggunakan
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.Tetapiuntukmempermudahpemahamanmakapenulismembatasihanyamembahas
bagaimanamengaturalokasibandwidthdaritrafficyangakandikirimkamkeLANdariPCRouter
ataupundariInternet.Untukituberikutinipenulismenggambarkanskenariomaksimumrateyang
dapatditransmitdarieth1padaPCroutersebesar512Kbitsepertitampakdalamgambar3,dan
selanjutnyaakandibagibagikedalamkelaskelasaliarantrafficdata.Pengaturabakandilakukanvia

Halaman4
webmin.

Gambar3.Skenariomaksimumtransmitrate

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

Instalasiwebmin
Downloadterlebihdahuluwebmin:
# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.390-
1.noarch.rpm

Kemudianinstalsepertiberikutini:
[root@Similikiti ~]# rpm -ivh webmin-1.390-1.noarch.rpm

Selanjutnyaaktifkanwebminjikabelumaktif.
[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.initscriptdenganmenggunakanwebclient(misal:firefox)danketikURL
http://http://sourceforge.net/projects/htbinit/.Kemudianinstaldansetupsebagaiberikut:
[root@Similikiti ~]# cp htb.init-v0.8.5 /etc/init.d/htb.init
[root@Similikiti ~]# mkdir -p /etc/sysconfig/htb

Instalasiwebminhtbmodul
Downloadterlebihdahuluwebminhtbmodul:
# 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
Kelasyangkeduadenganinformasiparametersbb:
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)denganportasal(sourceport)berapapun
dandengandestinationkehostmanapundalamjaringanLAN.
SekarangAndatinggalmencobamenerapkanskenariotersebutdenganmengakseswebmin
(http://localhost:10000atauhttps://localhost:10000),kemudianloginmasukkanusername'root'dan
berikanpasswordroot,makaselanjutnyaAndaakanmasukkehalamanutamawebmin,Padahalaman
utamatersebutAndalihatmenusebelahkiri(jikawebminmenggunakandefaultthemes)pilihlah
menuNetworking>HierarchyTokenBucketqueuingdanAndaakanmenemuihalamanutama
modulHTBkemudianklikhyperlinkClickheretoenableinterfaceeth1makaselanjutnyaakan
tampakhalamaninisialisasisepertitampakpadagambar7,dantekantombolSavechanges.

Halaman9
Gambar7.Halamaninisialisasiinterfaceeth1

LangkahberikutnyaadalahAndamembuatataumendefinisikanmasingmasingkelassebagaimana
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(defaultclassdisetuntukkelasother),sepertitampakdalam
gambar14.

Halaman16
Gambar14.SetupDefaultClass

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

Halaman17
Gambar15.MengaktifkanHTBinit

Halaman18
Gambar16.StatuspengaktifanHTBinit.

Semuakonfigurasikelaskelasdanruledaritrafficcontrolmenggunakanwebminhtbmodul
disimpandalamdirektori/etc/sysconfig/htb.Konfigurasisetiapkelasdisimpandalammasingmasing
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

Anda mungkin juga menyukai