Bandwidth Management
Introduction Bandwidth manajemen merupakan cara pengaturan bandwidth supaya terjadi pemerataan pemakaian bandwidth Cara melakukan : Dari Proxy Dengan Qos / Traffick Shapping : HTB, CBQ
Bandwidth management Dgn Squid
Proxy Bandwidth management Parameter delay_pools menyatakan berapa banyak bagian/pool yang akan dibuat. Penulisan : delay_pools 2 terdapat dua kelompok management bandwidth delay_class menentukan klas/tipe pembagian bandwith dari setiap pool. Terdapat 3 tipe class yang ada Class 1 , 2 dan 3 tergantung parameter delay_class 1 2 Pada Pool/kelompok 1 tipe classnya 2 delay_class 2 1 Pada Pool/Kelompok 2 tipe classnya 1 delay_parameters Ini adalah bagian terpenting dari delay pools memberikan aturan main setiap delay pools yang dibentuk. Jumlah Parameter tergantung tipe class yang dipilih. Jika Memilih class 1 jumlah parameter 1, jika class 2 jumlah parameter 2, jika class 3 jumlah parameter 3 delay_parameters 1 1000/64000 Pada Pool/Kelompok 1 punya rule 1000/64000 delay_parameters 2 32000/32000 8000/8000 1000/64000 Pada Pool/kelompok 2 punya rule bandwitdh 32000/32000 8000/8000 1000/64000 delay_access Memberi batasan siapa saja yang boleh mempergunakan delay pools ini. delay_access 1 allow manajer Pool 1 diterapkan pada network manajer delay_access 1 deny all delay_access 2 allow sales Pool 2 diterapkan pada network sales delay_access 2 deny all Proxy Bandwidth management Parameter
Delay Parameter class 1 class 2 class 3 delay_parameters <#pool individual> ex: delay_parameters 1 1000/64000 Berarti semua network akan mendapat bandwidth yang sama di pool no 1. Sebesar 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb. class 2 delay_parameters <#pool agregate individual> ex: delay_parameters 1 32000/32000 1000/64000 Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth. Bila terdapat lebih dari 1 network class C, maka total yang dihabiskan tetap 256 kbit/sec dan tiap user akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb. class 3 delay_parameters <#pool agregate network individual> ex: delay_parameters 1 32000/32000 8000/8000 1000/64000 Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth. Bila terdapat lebih dari 1 network class C, maka setiap network akan dipaksa maksimum sebesar (8000*8) 64 kbits/sec dan tiap user pada satu network akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb
Delay Parameter Format baku : restore/max. restore menunjukkan maksimum kecepatan data yang dapat dilewatkan bila harga max sudah terlampaui, dalam satuan bytes/second max menunjukkan besar-nya file atau bucket yang dapat dilewatkan tanpa melalui proses delay. dalam satuan bytes. Perlu di perhatikan sewa bandwidth dari provider dalam satuan bits/second bukan bytes/second. Sedangkan satuan kecepatan dowload adalah bytes/sec. Perlu konversi ke bytes/sec SpesialCase: -1/-1 berarti unlimited atau tidak dibatasi pada nilai restore/max ex: 1000/64000 harga restore sama dengan =1000*8 = 8000 bits/sec atau 8 kbits/sec. Yang artinya user akan mendapat download brustable selama file yang akan dibuka lebih kecil dari 64 kbytes, jadi kecepatan bisa diatas 8 kbit/sec. Bila ternyata file yang dibuka melebihi 64 kbytes, maka proses limitasi akan segera dimulai dengan membatasi kecepatan maksimal 8 kbits/s
Delay Access Memberi batasan siapa saja yang boleh mempergunakan delay pools ini. Penting untuk diingat sebaiknya setelah menetukan batasan jangan lupa di akhiri dengan deny all. misal: delay_access 1 allow manajer delay_access 1 deny all delay_access 2 allow sales delay_access 2 deny all
Contoh 1 dalam suatu network yang sama dengan penggunaan bandwidth total tidak dibatasi, terdapat beberapa komputer dengan klasifikasi sebagai berikut : admin dengan bandwidth unlimited staff dengan bandwidth 1,5 kbytes/sec, bila file yang diakses melebihi 64Kbte umum dengan bandwidth 1 kbytes/sec, bila file yang diakses melebihi 32 Kbyte acl all src 0.0.0.0/0.0.0.0 acl admin src 192.168.1.250/255.255.255.255 acl server src 192.168.1.251/255.255.255.255 acl umum src 192.168.1.0/255.255.255.0 acl staff src 192.168.1.1 192.168.1.111 192.168.1.2 192.168.1.4 192.168.1.71 delay_pools 3 delay_class 1 1 delay_parameters 1 -1/-1 delay_access 1 allow admin delay_access 1 allow server delay_access 1 deny all delay_class 2 1 delay_parameters 2 1500/64000 delay_access 2 allow staf delay_access 2 deny all delay_class 3 1 delay_parameters 3 1000/32000 delay_access 3 allow umum delay_access 3 deny all
Contoh 2 Delay pools juga dapat digunakan untuk membatasi download file untuk extensi tertentu. Gunakan ACL url_regex untuk mengatasi hal ini. Contoh dibawah digunakan untuk membatasi download file multimedia hingga 1 kByte/sec. acl multimedia url_regex -i \.mp3$ \.rm$ \.mpg$ \.mpeg$ \.avi$ \.dat$ delay_pools 1 delay_class 1 1 delay_parameters 1 1000/16000 delay_access 1 allow multimedia delay_access 1 deny ALL
Contoh 3 bagaimana caranya membuat delay pools untuk membatasi download di siang hari untuk 15 klient sedangkan malam harinya lost asumsi jamnya ( 10:00 - 21:00) acl LTIME time SMTWHFA 10:00-21:00 acl download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$ acl download url_regex -i \.avi$ \.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$ \.mov$ \.dat$ \.mpe$ \.mid$ acl download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$ \.m1v$ \.mp2$ \.mpa$ \.wax$ acl download url_regex -i \.m3u$ \.asx$ \.wpl$ \.wmx$ \.dvr-ms$ \.snd$ \.au$ \.aif$ \.asf$ \.m2v$ acl download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$ \.vob$ \.aob$ \.dts$ acl download url_regex -i \.ac3$ \.cda$ \.vro$ \.deb$ delay_pools 1 delay_class 1 1 delay_parameters 1 3000/3000 delay_access 1 allow download TIME delay_access 1 deny all
TC Traffic Shaping Russell Sutherland Computing and Networking Services University of Toronto russell.sutherland@utoronto.ca
Network Traffic Shaping Policies All traffic from a local Redhat ftp site to the outside world gets a 50 kbps pipe Peer to peer traffic to and from UofT A&B gets a 256 kpbs full duplex pipe KaZaa 1214 eDonkey 466[12] BitTorrent 6881-6889 ResNet traffic gets conditioned by a dedicated Traffic Shaper (Packeteer) Everything else flows freely
Traffic Control Concepts I Set of mechanisms to condition net traffic Examples raise priority of some kinds of traffic limit the rate at which traffic is sent block undesirable traffic (same as packet filtering) TC is done at the network interface ingress (traffic entering an interface) limited set of functions (classifying, dropping) egress (traffic leaving an interface) full range of functions available queueing
Traffic Control Concepts II Classification Queueing Filter & Policy
Traffic Control Concepts III Classification looks at packet content and assigns each to one or more classes. Queueing stuffs incoming packets into storage silos based on class Scheduling (Filter & Policy) transmitting packets in queues based upon priority Queueing and Scheduling are often combined into queuing disciplines
Shorewall Shoreline Firewall atau lebih dikenalnya dengan istilah shorewall adalah tool tingkat tinggi yang digunakan untuk konfigurasi netfilter/iptables (firewall di linux). Untuk implementasi firewall dengan shorewall Anda harus mengkonfigurasi beberapa file konfigurasi shorewall seperti file zones, interfaces, policy, masq, dan rules. Semua file konfigurasi shorewall terletak dalam folder /etc/shorewall.
Konfigurasi Shorewall Langkah pertama, edit file /etc/shorewall/shorewall.conf untuk mengenable atau mengaktifkan shorewall, carilah parameter “STARTUP_ENABLED”, kemudian set parameter tersebut sebagai berikut: STARTUP_ENABLED=Yes Langkah kedua, editlah file /etc/shorewall/zones untuk mendefinisikan zone (segment) jaringan yang ada. Dalam contoh ini kita anggap firewall memiliki 2 buah interface network masing-masing terhubung dengan zone net (internet) dan zone loc (LAN). Lihat contoh berikut ini: #ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall net ipv4 loc ipv4 #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
Konfigurasi Shorewall Langkah ketiga, editlah file /etc/shorewall/interfaces untuk mendefinisikan interface network mana sajakah yang ada pada komputer firewall dan terhubung dengan zone mana sajakah.Lihat contoh berikut ini: #ZONE INTERFACE BROADCAST OPTIONS net eth0 detect loc eth1 detect #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
Konfigurasi Shorewall Langkah keempat, editlah file /etc/shorewall/policy untuk mendefinisikan default kebijakan firewall pada masing-masing zone yang telah didefinisikan. Lihat contoh berikut ini: #SOURCE DEST POLICY LOG LIMIT:BURST # LEVEL fw all ACCEPT loc fw DROP info loc net DROP info net fw DROP info net loc DROP info all all DROP #LAST LINE -- DO NOT REMOVE
Konfigurasi Shorewall Langkah kelima, editlah file /etc/shorewall/masq untuk memungkinkan masquerade paket dari LAN yang akan keluar dari firewall menuju internet. Lihat contoh berikut ini: #INTERFACE SUBNET ADDRESS PROTO PORT(S)IPSEC eth0 eth1 #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
Konfigurasi Shorewall Langkah keenam, editlah file /etc/shorewall/rules untuk mendefinisikan rule-rule firewall selain rule default yang telah didefinisikan dalam file /etc/shorewall/policy. Lihat contoh berikut ini: SECTION NEW ACCEPT net:202.159.11.154 fw ACCEPT loc:192.168.1.100 fw REDIRECT loc:!192.168.1.31 3128 tcp www ACCEPT net:202.159.11.154 fw tcp 20,21,22,25,53,80 ACCEPT net:202.159.11.154 fw udp 20,21,22,25,53,80 ACCEPT loc net tcp 20,21,22,25,53,80,443 ACCEPT loc net udp 20,21,22,25,53,80,443 #LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
Konfigurasi Shorewall sbg Traffic controll Langkah pertama dalam implementasi traffic controll menggunakan shorewall adalah mengenable Traffic Controll (TC) pada file konfigurasi utama shorewall (/etc/shorewall/shorewall.conf). Sebelumnya diasumsikan konfigurasi shorewall sebagai firewall dan gateway telah dilakukan dengan baik dan benar. Dalam file tersebut carilah parameter “TC_ENABLED”, dan pastikan atau set nilai parameter tersebut menjadi ssb: TC_ENABLED=Internal Langkah kedua editlah file /etc/shorewall/tcdevices, untuk menentukan pada device manakah akan Anda terapkan pengontrolan bandwidth, serta berapakan maksimum incoming dan outgoing bandwidth. Sebagai contoh kita akan mengatur agar bandwidth maksimum yang datang ke devices eth1 sebesar 512kbit dan bandwidth outgoing (traffic download dari client/ LAN) maksimum sebesar 384kbit. Lihat contoh berikut ini: #INTERFACE IN-BANDWITH OUT-BANDWIDTH eth1 512kbit 384kbit #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Konfigurasi Shorewall sbg Traffic controll Langkah ketiga editlah file /etc/shorewall/tcclasses, untuk menentukan atau mendefinisikan class-class pada qdisc. Sebagai contoh kita akan mendefinisikan 3 buah class , class pertama dengan prioritas utama memiliki rate 50% dari bandwidth (outgoing bandwidth) yang ada. Dan class yang kedua 30%, class yang ketiga 20% sebagai default class. Lihat contoh berikut ini: #INTERFACE MARK RATE CEIL PRIORITY OPTIONS eth1 1 full*5/10 full 0 eth1 2 full*3/10 full*5/10 1 eth1 3 full*2/10 full*5/10 2 default #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Konfigurasi Shorewall sbg Traffic controll Langkah keempat editlah file /etc/shorewall/tcrules, untuk menentukan atau mendefinisikan rule klasifikasi traffic. Dalam file ini menentukan traffic manakah yang masuk dalam class -class yang telah kita definisikan dalam file tcclasses. Lihat contoh sebagai berikut: #MARK SOURCE DEST PROTO PORT(S) CLIENT USER TEST # PORT(S) 1:F 0.0.0.0/0 0.0.0.0/0 icmp 1:F 0.0.0.0/0 192.168.1.2 all 2:F 0.0.0.0/0 192.168.1.3 tcp - 80,443 3:F 0.0.0.0/0 192.168.1.100 all #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Konfigurasi Shorewall sbg Traffic controll Langkah kelima, restartlah shorewall dengan perintah sbb: #shorewall restart Kemudian checklah qdisc dan class sbb: #shorewall show tc Dan terakhir cobalah Anda uji dan amati dengan mengakses server di internet (http,https,ssh dll) dari LAN atau dari IP - IP yang dicontohkan dalam tcrules (misal ip 192.168.1.2, 192.168.1.3, 192.168.1.100)
Referensi www.google.com www.iptables.org www.shorewall.net www.docum.org www.linuxhomenetworking.com