Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
ByHenrySaptono(boypyt@gmail.com) Aug2008 Maumemberikanjaminandownloadfiledariinternetyangfair?cobagunakanfiturdelaypoolyang disediakanolehsquid(proxyserver).DelaypooldapatAndajadikansebagaicaratermudahbagiAnda dalammengelolabandwidthinternetpadakantoratauwarnetAnda,meskipunhanyasebatasmengatur bandwidthdownloadfileviahttpatauftp,ternyatadelaypooldapatmemberikanlayananjaringanyang lebihberkualitasbagijaringandikantoratauwarnetAnda. Layananaksesinternetyangcukuppopuleradalahlayananaksesweb(http),bisadikatakansaatini hampirsebagianaplikasiberjalandalamenvironmentweb,sehinggaperluperlakukanyangkhususuntuk layananweb(http)ini.Penggunaninternetdiwarnetumumnyamerekamengaksesberbagaiaplikasidan layanandiinternetmelaluilayananhttpini,merekamendownloadfilemelaluilayananhttp,sehingga bagisebuahwarnetpengaturantrafficdownloadfilelewathttpinisangatpentingagarseluruhpenggunan memperolehkualitasjaringanyangbaikdanterjamin.Tidakbolehadaseorangataubeberapapengguna internetdidalamjaringanAndayangmemakanbandwidthdengan'rakus'dikarenakandiamendownload suatufileataumenontonvideodiyoutubedanlainlain.TentunyahaltersebutdapatAndaatur,salah satunyamenerapkanwebcachingdenganproxyserversepertisquid(http://www.squidcache.org),dan jaminankualitasdownloadfileyangadildapatdidukungdenganmemanfaatkanfiturdelaypoolyangada disquid. Dalamtulisankaliinipenulisakanmenjelaskanbagaimanamembangunsebuahproxyserverdengan squiduntukmemberikanataumenyediakanwebcachingdanpengaturanbandwidthdownloadfilevia http.Harapannyaadalahterciptanyajaringanaksesinternetyangberkualitasdanterjaminbagikantor atauwarnetAnda.DalamtulisaninipenulismenggunakansistemoperasiLinuxdistroCentOS5,dan softwaresquidyangdigunakanadalahbawaandistroCentOSyaitusquid2.6.STABLE63.el5. DiasumsikansistemoperasilinuxCentOSsudahAndainstalldansoftwaresquidsudahAndainstalljuga saatinstalasilinux,namunjikasquidbelumterinstallmakaAndadapatlakukaninstalasidenganyum ataumanualsepertiberikutini: # ym install squid atau # rpm -ivh /media/cdrom/CentOS/squid-2.6.STABLE6-3.el5.i386.rpm
I.Skenario
AgarmemudahkanpenjelasanmakapenulismembuatskenariojaringanLANsebagaiberikut: KoneksiinternetjaringanmenggunakanADSLdengandownlink512kbps(512kilobitper second) Komputeryangbertindaksebagaiproxyserveradalahkomputeryangjugaberperansebagai gateway(internetsharing)padajaringanLAN.Komputerinimemilikiduabuahnetwork interface,yaitueth0daneth1.Networkinterfaceeth0terhubungdenganmodemADSL, sedangkaneth1terhubungdenganhubatauswitchLAN.NetworkAddressLANadalah 192.168.1.0/24. Konfigurasiproxyyangakanditerapkanadalahtransparentproxy,denganskenariopengaturan bandwidthdownloadfileadalahsetiapkomputerdalamjaringandiaturagarbandwidthdownload viahttpsebesarsekitar16KBps(16kilobytepersecond),denganmaximumbucket64KBps.
II.KonfigurasiInternetsharing(gateway)
Langkahkonfigurasipertamaadalahmengkonfigurasikomputerbakalproxyserversebagaiinternet sharing(gateway),yaitusebagaiberikut:
EnbaleIPForwarding
EnableIPMasquerade
DiasumsikandefaultpolicyfirewallAndaadalahACCEPT,dantidakadarulespesifikapapun padakonfigurasifirewalldikomputerproxyserversebelumnya. # service iptables stop # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
RuleiptablesuntukmendukungTransparentproxy
# iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 dport 80 -j REDIRECT to-ports 3128 # service iptables save # chkconfig iptables on
III.Konfigurasisquidstandar
Langkahselanjutnyaadalahkonfigurasisquid,secaradefaultkonfigurasisquidakanmembloksemua koneksidarijaringanLANkeinternet.Untukitukitaharusmelakukankonfigurasiulangdengan mengeditfile/etc/squid/squid.conf.BeberapaparameterkonfigurasisquidyangsebelumnyaperluAnda setupdiantaranyaadalahparameterberikutini:
visible_hostname:parameterinimendefinisikannamakomputerproxyserverAnda,nilai defaultparameterinitidakdiset.Terkadangpenggunaawamseringmenjumpaisquiderrror dikarenakanparameterinitidakdisetdansquidmencobamenggunkannamahostnamekomputer Andayangternyatahostnamenyatidakditulislengkapdengannamadomain.parameterinidapat diisidengannamakomputeryangdilengkapidengannamadomain.Misalnyasebagaiberikut: visible_hostname proxy.coba.co.id http_port:parameterinimenunjukkannomorportservicesquid.Nilaidefaultnyadalah3128. JikaAndainginmenerapkantransparentproxymakanilaiparameteriniharusdisetsebagai berikut: http_port 3128 transparent acl:parameterinidigunakanuntukmendefinisikanaccesscontrollistformatpenulisannya sebagaiberikut: acl <nama-acl> <tipe-acl> <pattern> [<pattern...>]
Dalamkonfigurasisquidyangkitaskenariokan,Andaharusmembuatsebuahaclyang menunjukkanjaringanlocalAnda,SebaiknyadefinisiacliniAndatulispadafilekonfigurasisquidyaitu dibawahbarisyangbertuliskan#INSERTYOUROWNRULEHERE(S).......,sepertiberikutini: # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS acl lan src 192.168.1.0/24 http_access:parameterinimenunjukkanruleyangakanditerapkanpadasuatuaccesscontrollist. UntukskenariokitamakaAndaharusmendefinisikanruleyangakanmengijinkanLANAnda untukdapatmengaksesinternet(tulisruletersebutdibagianbawahdaripendefinisianacl), sepertiberikutini: # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS acl lan src 192.168.1.0/24 http_access allow lan
IV.Konfigurasisquiddelaypool
Untukmengaturbandwidthdownloadsesuaiskenarioyaitumenyediakanbandwidthdownloaduntuk setiaphostdalamLANsebesar16KBpsdanmaksimalbucket64KBps,makabeberapaparameter konfigurasisquidyangberkaitandengandelaypoolyangharusAndasetadalahsebagaiberikut(editfile /etc/squid/squid.conf):
Untukkonfigurasidelay_classyangsesuaidenganskenariokitaadalahsepertiberikutini: delay_class 1 2 delay_access:parameterinimenentukansuaturequestkeproxyserverharusdiletakkanpada delaypoolyangmana.Konfigurasidelay_accessyangsesuaidenganskenariokitaadalahseperti berikutini: delay_access 1 allow lan delay_access 1 deny all
delay_parameters:parameterinimendefinisikanparameterparameteruntuksuatudelaypool. Formatpenulisanparameterdelay_parametersadalahsebagaiberikut:
delay_parameter <pool> <aggregate bucket> [<network>] [<individual>] Untukskenariokitamakanilaidelay_parametersnyasebagaiberikut: delay_parameters 1 -1/-1 16000/64000 catatan:1/1berartibandwidthuntukaggregatenyadisetunlimited(sesuaidenganbandwidthinternet yangtersediadariISP).16000(16KBps)adalahtotalbandwidthrataratayangbakaldiperlolehsetiaphost dalamLAN,dan64000(64KBps)adalahnilaibandwidthmaksimumyangdapattersediadalambucket disetiapsaat. SetelahkonfigurasisquidAndalakukancobalahAndarestartataustartservicesquidsepertiberikutini: # service squid start # chkconfig squid on KemudiancobaAndagunakanwebbrowserdibeberapaclientdancobalahAndadownloadsuatufile diinternetkemudianperhatikankecepatandownloadpadawindowdownload.Berikutinigambar1,yang menunjukkanprosesdownloadpadasuatukomputerketikamendownloadsebuahfile(perhatikan kecepatanperdetiknyasekitar16KBps),danjugaperhatikangambar2yangmenggambarkankecepatan saatmendownload2buahfilebersamaan(perhatikanjikaditotalkecepatanperdetiknyasekitar16KBps) padasuatuhost.
Gambar1.Mendownloadsebuahfile
Gambar2.Mendownloadduabuahfile