SKRIPSI
LOAD BALANCING DENGAN METODE PER CONNECTION CLASSIFIER (PCC) MENGGUNAKAN PROXY SERVER SEBAGAI CACHING
(Studi Kasus : Madrasah Tsanawiyah An-Nizhamiyyah Cileungsi)
Oleh : Muhammad Hafizh 106091002863
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011/1432 H
PERNYATAAN DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENARBENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, September 2011
Muhammad Hafizh 106091002863
iv
KATA PENGANTAR
Assalamualaikum Wr. Wb
Alhamdulillah hirrabil’alamin, satu kata yang dapat penulis ucapkan kepada Allah SWT, atas segala rahmat dan hidayahNya sehingga penulis dapat menyelesaikan skripsi ini, dan shalawat serta salam semoga selalu terlimpah kepada junjungan kita Nabi Besar Muhammad SAW, Beserta para keluarga, Sahabat serta para pengikutnya hingga akhir zaman kelak. Skripsi ini penulis buat sebagai syarat kelulusan dalam menempuh pendidikan jenjang Strata-1 (S1) di Universitas Islam Negeri Syarif Hidayatullah Jakarta. Selain itu juga penulis berharap apa yang penulis teliti, yang dijelaskan di dalam skripsi ini, dapat dipergunakan dengan baik oleh semua pihak yang membutuhkan, sehingga perkembangan ilmu pengetahuan dan teknologi dapat lebih maju. Sehubungan dengan selesainya skripsi ini, penulis mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu penulis, juga atas dorongan serta bimbingannya sehingga penulis bisa menyelesaikan dengan sangat lancar tanpa adanya gangguan yang berarti. Semoga Allah SWT membalas semua amal dan ibadah mereka, Insya Allah. Terima Kasih penulis ucapkan kepada :
vi
1. Bapak DR. Syopiansyah Jaya Putra, M.Sis selaku Dekan Fakultas Sains dan Teknologi 2. Bapak Yusuf Durachman, M.Sc selaku Ketua Program Studi Teknik Informatika. 3. Bapak Herlino Nanang, MT dan Bapak Wahyudi, MT yang telah rela meluangkan waktunya untuk mendukung dan membimbing penulis dalam menyelesaikan skripsi ini. 4. Bapak Feri Fahrianto, M.Sc dan Hasan Basri, M.Kom sebagai penguji yang memberikan kritik dan saran pada skripsi ini. 5. Dosen-Dosen Fakultas Sains dan Teknologi yang telah mengajarkan kepada penulis berbagai macam ilmu yang dapat penulis terapkan dalam penulisan skripsi ini. 6. Kepala Sekolah, guru-guru dan staf TU MTs. An-Nizhamiyyah yang telah membantu dan memberikan ijin penulis untuk melakukan penelitian skripsi ini. 7. Kedua Orang tua penulis, Bapak Benyamin & Alm. Ibu Nurbaiti Aziz, yang selalu memberikan doanya dengan ikhlas, allâhummaghfirlîî wa liwâlidayya warhamhummâ kamâ rabbayânî shighîrâ, yang selalu memberikan nasihat, motivasi, mengajarkan arti hidup dan senantiasa mencurahkan dukungannya demi kesuksesan penulis dalam proses kuliah dan kehidupan ini. 8. Kedua adik penulis, Lukman Hakim dan M. Iqbal yang selalu memberikan motivasi dan mendukung penulis dalam penyusunan skripsi ini.
vii
9. Jamaliah, Teman Terdekat Penulis atas dorongan semangat, Pengertian dan Perhatian tiada henti di saat penulis merasa buntu dan suntuk serta menjadi lebih menyenangkan dan berwarna dalam penyusunan skripsi ini. 10. Bapak Drs. Uyun Robaniyun serta keluarga yang telah membantu dan mendukung dalam penyelesaian skripsi ini. 11. Sahabat – sahabat, Amir Rizky, Habib, Nanda Rahmanto, Deka Hasby, Pudi Rizki, dan Tri Pujiyanto yang telah membantu penulis dalam kekurangan alat sistem dan mewarnai kehidupan di luar kampus. 12. Seluruh teman-teman KKN 15, teman-teman TI A, Networking VII B dan Seluruh kawan-kawan jurusan Teknik Informatika angkatan 2006. Sukses selalu untuk kita semua. 13. Seluruh pihak yang telah membantu dan namanya tidak dapat disebutkan satu per satu. Terima kasih atas dukungan dan motivasinya, Semoga Allah SWT membalas segala kebaikan yang telah diberikan kepada penulis. Semoga Allah SWT memberikan balasan yang setimpal atas segala bantuan dan kebaikan yang telah mereka berikan kepada penulis, Amin. Demikianlah, Semoga apa yang tertulis dalam skripsi ini dapat bermanfaat bagi semua pihak. Dalam hal ini, penulis mengharapkan saran dan kritik yang membangun demi menambah kesempurnaan bagi skripsi ini. Wassalamualaikum Wr.Wb. Jakarta,
September 2011
Penulis
viii
DAFTAR ISI
Halaman Halaman judul ........................................................................................ i Persetujuan pembimbing ......................................................................... ii Halaman pengesahan .............................................................................. iii Halaman pernyataan ............................................................................... iv Abstrak ................................................................................................... v Kata Pengantar ........................................................................................ vi Daftar isi.................................................................................................. ix Daftar Gambar ........................................................................................ xiii Daftar Tabel ............................................................................................ xv Daftar Lampiran ..................................................................................... xvi BAB I
PENDAHULUAN
1.1. Latar Belakang ......................................................................... 1 1.2. Rumusan Masalah ..................................................................... 2 1.3. Batasan Masalah ....................................................................... 3 1.4. Tujuan dan Manfaat Penelitian .................................................. 3 1.4.1. Tujuan Penelitian............................................................ 3 1.4.2. Manfaat Penelitian.......................................................... 4 1.5. Metodologi Penelitian .............................................................. 5 1.5.1. Pengumpulan Data.......................................................... 5 1.5.2. Pengembangan Sistem .................................................... 6 1.6. Sistematika Penulisan ............................................................... 7
ix
BAB II LANDASAN TEORI 2.1. Router ...................................................................................... 9 2.1.1. Router dan Gateway ....................................................... 10 2.2. Firewall..................................................................................... 11 2.2.1. Fungsi Firewall .............................................................. 12 2.2.2. Mikrotik sebagai Firewall .............................................. 13 2.2.3. Firewall Dengan Iptabels................................................ 15 2.3. Network Address Translator (NAT)........................................... 18 2.4. Routing ..................................................................................... 20 2.5. Load Balancing ........................................................................ 22 2.5.1. Algoritma Load Balancing.............................................. 25 2.5.2. Sistem Load Balancing ................................................... 26 2.6. Per Connection Classifier (PCC)............................................... 35 2.7. Proxy Server ............................................................................. 37 2.8. Squid Proxy............................................................................... 40 2.9. Tools ........................................................................................ 41 2.9.1. Hardware ....................................................................... 42 2.9.2. Software ........................................................................ 42 2.9.3. Simulator Sistem ............................................................ 48 2.10. Metode Pengembangan Sistem .................................................. 50 2.11. Study Sejenis............................................................................. 56 BAB III METODOLOGI PENELITIAN 3.1. Metode Pengumpulan Data ....................................................... 58
x
3.1.1. Studi Pustaka ................................................................ 58 3.1.2. Studi Sejenis .................................................................. 58 3.1.3. Wawancara ................................................................... 59 3.1.4. Observasi ...................................................................... 60 3.2. Metode Pengembangan Sistem ................................................. 60 3.2.1. Analisis (Analysis) ........................................................ 60 3.2.2. Perancangan (Design) .................................................... 62 3.2.3. Simulasi Prototipe (Simulation Prototype) ..................... 63 3.2.4. Penerapan (Implementation)........................................... 63 3.2.5. Pengawasan (Monitoring) .............................................. 64 3.2.6. Pengaturan (Management) ............................................. 64 3.3. Alur Penelitian ......................................................................... 65 BAB IV ANALISIS DAN PERANCANGAN 4.1. Sekilas Tentang MTs. An-Nizhamiyyah Cileungsi .................... 66 4.1.1. Profile Madrasah ........................................................... 66 4.1.2. Visi dan Misi ................................................................ 66 4.1.3. Strategi dan Tujuan........................................................ 67 4.1.4. Struktur Organisasi ........................................................ 68 4.1.5. Struktur Kurikulum dan Alokasi Waktu ........................ 68 4.2. Analisis .................................................................................... 70 4.2.1. Analisis Sistem Berjalan ................................................ 71 4.2.2. Identifikasi Masalah ...................................................... 72 4.2.3. Analisis Teknologi yang Digunakan .............................. 72
xi
4.2.4. Analisa kebutuhan ......................................................... 76 4.2.5. Analisis User ................................................................. 80 4.3. Perancangan (Design) ............................................................... 83 4.3.1. Perancangan Fisik Jaringan ........................................... 83 4.3.2. Perancangan Logic Jaringan........................................... 84 4.4. Simulasi Prototipe (Simulation Prototype) ................................ 88 4.5. Implementasi Metode PCC (implementation) ............................ 89 4.5.1. Inisialisasi Interface Router ............................................ 90 4.5.2. Pemberian alamat IP address .......................................... 91 4.5.3. Kebijakan Mangle .......................................................... 95 4.5.4. Kebijakan routing........................................................... 101 4.6. Monitoring ............................................................................... 102 4.6.1. Pengujian sebelum implementasi (Sistem berjalan)......... 103 4.6.2. Pengujian Setelah Implementasi Sistem .......................... 107 4.6.3. Hasil monitoring............................................................. 115 4.7. Management.............................................................................. 116 BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan .............................................................................. 119 5.2. Saran ........................................................................................ 120 DAFTAR PUSTAKA ............................................................................ 121 LAMPIRAN-LAMPIRAN
xii
DAFTAR GAMBAR Halaman Gambar 2.1. Firewall........................................................................................ 13 Gambar 2.2. Menghubungkan jaringan kecil ke internet..................................... 20 Gambar 2.3. Load Balancing dengan dua backbone provider ............................ 23 Gambar 2.4. DNS Round Robin......................................................................... 27 Gambar 2.5. Integrated Load Balancing ............................................................. 31 Gambar 2.6. Cara kerja Proxy ............................................................................ 38 Gambar 2.7. Personal Komputer ........................................................................ 42 Gambar 2.8. Tampilan Winbox .......................................................................... 47 Gambar 2.9. Network Development Cycle .......................................................... 50 Gambar 3.1. Alur Penelitian ............................................................................. 65 Gambar 4.1. Struktur Organisasi Madrasah ........................................................ 68 Gambar 4.2. Sistem yang sedang berjalan .......................................................... 71 Gambar 4.3. Modem ADSL ............................................................................ 78 Gambar 4.4. Modem 3G ................................................................................. 78 Gambar 4.5. Switch......................................................................................... 78 Gambar 4.6. Modem 3G Router ...................................................................... 79 Gambar 4.7. Website yang sering dikunjungi .................................................. 82 Gambar 4.8. Topologi Jaringan ....................................................................... 84 Gambar 4.9. Proses Sistem.............................................................................. 87 Gambar 4.10. Interface Router ........................................................................ 90 Gambar 4.11. IP Address Router..................................................................... 91
xiii
Gambar 4.12. Login Modem Public 1 ............................................................. 92 Gambar 4.13. Konfigurasi IP Address Public 1 ............................................... 92 Gambar 4.14. Login modem Public 2.............................................................. 92 Gambar 4.15. Konfigurasi IP Address Public 2 ............................................... 93 Gambar 4.16. Konfigurasi 3G Router.............................................................. 93 Gambar 4.17. Sinyal dan IP Address modem 3G.............................................. 93 Gambar 4.18. Konfigursi IP Address client LAN .......................................... 94 Gambar 4.19. Konfigurasi IP Address client Wireless..................................... 95 Gambar 4.20. Monitoring bandwidth ............................................................ 103 Gambar 4.21. Kecepatan Download yang diperoleh ....................................... 104 Gambar 4.22. Bandwidth yang sudah mencukupi............................................ 105 Gambar 4.23. Pengujian Menggunakan pingtest.net ........................................ 106 Gambar 4.24. Pengujian Beban traffic........................................................... 108 Gambar 4.25. Pengujian Bandwidth .............................................................. 108 Gambar 4.26. Traffic pada mangle (PCC) ..................................................... 109 Gambar 4.27. Pengujian Menggunakan Pingtest.net...................................... 111 Gambar 4.28. Hasil Cache ............................................................................ 114 Gambar 4.29. Hit Proxy ................................................................................ 115 Gambar 4.30. Rule management bandwidth .................................................. 117 Gambar 4.31. Queue list client ...................................................................... 118
xiv
DAFTAR TABEL
Halaman Tabel 3.1. Studi Sejenis............................................................................ 59 Tabel 4.1. Struktur Kurikulum MTs. An-Nizhamiyyah Cileungsi............. 69 Tabel 4.2. Daftar beberapa ISP ADSL...................................................... 74 Tabel 4.3. Daftar beberapa ISP Modem USB ........................................... 75 Tabel 4.4. Perangkat Keras PC Server...................................................... 77 Tabel 4.5. Perangkat Keras Router ........................................................... 77 Tabel 4.6. Tabel IP Address ..................................................................... 84 Tabel 4.7. hasil pengujian dengan pingtest.net ......................................... 106 Tabel 4.8. Hasil pengujian ....................................................................... 111
xv
DAFTAR LAMPIRAN
LAMPIRAN 1 (Wawancara) LAMPIRAN 2 (Surat Pernyataan Riset) LAMPIRAN 3 (Instalasi Ubuntu Server) LAMPIRAN 4 (Instalasi Mikrotik) LAMPIRAN 5 (Source Code Program)
xvi
BAB I PENDAHULUAN
1.1 Latar Belakang Pemanfaatan teknologi jaringan komputer sebagai media komunikasi data hingga
saat
ini
semakin
meningkat,
terutama
pada
jaringan
internet
(interconnection networking) yang merupakan suatu jaringan yang kompleks. Kebutuhan atas penggunaan bersama resources yang ada dalam jaringan baik software
maupun
hardware
telah
mengakibatkan
timbulnya
berbagai
pengembangan teknologi jaringan itu sendiri. Seiring dengan semakin tingginya tingkat kebutuhan dan semakin banyaknya pengguna jaringan yang menginginkan suatu bentuk jaringan yang dapat memberikan hasil maksimal baik dari segi efisiensi maupun peningkatan keamanan jaringan itu sendiri. Sebuah instansi sekolah tentunya ingin memberikan yang terbaik dalam kualitas koneksi internet dan meminimilaisasi biaya yang dikeluarkan. Apakah koneksi yang disediakan cepat atau lambat. Untuk memenuhi kebutuhan tersebut tentunya harus bijak dalam memilih ISP yang ada. Beberapa ISP menyediakan koneksi dalam kecepatan tinggi, namun biaya operasionalnya juga perlu diperhitungkan. Berlangganan terhadap dua atau lebih line (jalur) dalam satu ISP merupakan salah satu solusi yang dapat diambil untuk memenuhi kebutuhan internet yang besar. Akan tetapi jalur-jalur tersebut harus dapat digunakan secara bersamaan agar didapat bandwidth yang besar dan berimbang demi memenuhi kebutuhan internet yang besar pula. Dalam dunia jaringan komputer, teknik penggabungan dan penyeimbangan ini sering disebut sebagai Load Balancing.
1
2
Load balancing dapat dilakukan dengan menggunakan sebuah router. Router adalah perangkat yang akan melewatkan paket IP dari suatu jaringan ke jaringan yang lain, menggunakan metode addressing dan protocol tertentu untuk melewatkan paket data. Salah satu router yang dikenal saat ini adalah MikroTik RouterOS™. Dengan load balancing yang pada praktiknya nanti menggunakan Mikrotik, maka semua client yang ada pada jaringan akan memiliki satu gateway, dan gateway itu yang akan menentukan paketnya akan melewati modem yang mana. Load balancing akan melakukan proses penyeimbangan (balance) yang nantinya akan dihasilkan bandwidth yang maksimal sesuai dengan yang diinginkan. Uraian-uraian tersebut telah mendorong penulis untuk melakukan penelitian sistem Load Balancing dengan proxy server yang memperhatikan segi kecepatan dan penghematan bandwidth. Dalam hal inilah yang mendorong penulis untuk melakukan penelitian “LOAD BALANCING DENGAN
METODE
PER
CONNECTION
CLASSIFIER
(PCC)
MENGGUNAKAN PROXY SERVER SEBAGAI CACHING” dengan Studi kasus pada “MTs. An-Nizhamiyyah”.
1.2 Rumusan Masalah Berdasarkan penjelasan pada latar belakang di atas, maka masalah yang akan dibahas adalah sebagai berikut : 1. Bagaimana mengoptimalkan koneksi internet pada jaringan lab annizhamiyyah dengan biaya yang murah.
3
2. Bagaimana akses streaming video dan web tertentu dengan lebih cepat. 3. Bagaimana mengatur penyebaran bandwidth dalam jaringan agar bandwidth yang di terima pengguna merata dan kecepatannya stabil.
1.3 Batasan Masalah Berdasarkan perumusan masalah di atas, penulis membatasi masalah pada: 1. Penulis menggunakan Load Balancing dengan metode PCC (Per Connection Classifier) untuk mengoptimalkan koneksi internet. 2. Akses Web dan streaming video hanya terbatas pada situs tertentu seperti youtube, googlevideo, gmail, yahoo, detik dan 4shared. 3. Penulis menggunakan software squid sebagai proxy server yang difungsikan sebagai cache video untuk mempercepat akses internet. 4. Dalam implementasinya penulis menggunakan mikrotik RouterOS sebagai sistem operasi Router, sistem operasi proxy server yang di pakai ubuntu server 10.04. 5. Banyaknya akses internet yang akan di load balancing menggunakan koneksi dengan 2 isp yang berbeda.
1.4 Tujuan dan Manfaat Penelitian 1.4.1 Tujuan penelitian : 1. Membangun load balancing yang optimal dengan menggunakan proxy server sebagai cache video.
4
2. Meningkatkan pembagian beban traffic internet. 3. Memaksimalkan penggunaan bandwitdh agar tersebar merata untuk pengguna jaringan. 4. Mengatasi permasalahan apabila salah satu koneksi down.
1.4.2 Manfaat Penelitian 1. Manfaat bagi Penulis 1. Mendukung penulis dalam mempelajari dan mendalami teori, konsep dan prakteknya tentang load balancing. 2. Mendukung
penulis
dalam
mempelajari,
mendalami,
serta
mempraktekkan fungsi proxy server sebagai cache video.
3. Mendukung
penulis
dalam
mempelajari,
mendalami,
serta
mempraktekkan penggunaan sistem operasi mikrotik RouterOS
dalam melakukan fungsi load balancing yang stabil dan murah. 4. Mendukung
penulis
dalam
mempelajari,
mendalami,
serta
mempraktekkan sistem operasi ubuntu server 10.04 sebagai
proxy server untuk menchace video.
2. Manfaat bagi sekolah 1.
Memberikan kecepatan akses internet yang stabil
2.
Memberikan penghematan bandwidth
3.
Memberikan solusi penerapan load balancing untuk membagi beban traffic jaringan internet pada sekolah.
5
4.
Dapat
menerapkan
bagaimana
memanajemen
jaringan
sehingga bermanfaat pada pengembangan jaringan.
1.5 Metodologi Penelitian 1.5.1
Metode pengumpulan data 1. Studi pustaka Yaitu dengan mengumpulkan informasi-informasi yang berkaitan dengan konsep, teori serta kegunaan yang berhubungan dengan penelitian, baik melalui media buku, media internet, maupun ebook. 2. Studi Sejenis Perbandingan studi sejenis ini diperlukan agar nantinya penelitian ini dapat bermanfaat dan menjadi pelengkap dan penyempurna dari studistudi sejenis yang telah dilaksanakan sebelumnya.
3. Wawancara Dalam melakukan pengumpulan data, penulis juga melakukan wawancara secara langsung kepada pihak terlibat yang nantinya akan berhubungan dengan sistem ini (MTs. An-Nizhamiyyah) 4. Observasi Observasi dilakukan dengan cara secara langsung ke lapangan untuk mengetahui dan mengamati bagaimana sistem yang sudah ada pada MTs. An-Nizhamiyyah.
6
1.5.2
Metode Pengembangan Sistem Dalam penyusunan skripsi ini penulis melakukan penelitian dengan metode Network Development Life Cycle (NDLC) dengan Tahapan sebagai berikut: [Goldman and Rawles, 2001] 1.
Analysis Tahap awal ini dilakukan analisa sistem yang berjalan, identifikasi masalah, analisa teknologi yang digunakan, dan analisa kebutuhan serta analisis user.
2.
Design Dari
data-data
dan
informasi
yang
telah
didapatkan
sebelumnya, tahap design ini akan dibuat rancangan fisik arsitektur jaringan pada MTs. An-Nizhamiyyah serta rancangan konfigurasi jaringan. 3.
Simulation Pada tahap ini penulis membuat simulasi sistem jaringan yang menggunakan load balancing dan proxy server dengan bantuan tools yaitu simulator VM ware versi 7.
4. Implementation Pada tahap implementasi terdiri atas penginstalan hardware dan software yang membentuk sistem jaringan. Fase ini dapat dibagi menjadi Perolehan software, Perolehan hardware, Instalasi, Pengujian, Dokumentasi.
7
5. Monitoring Tahapan monitoring merupakan tahapan yang penting, agar jaringan komputer dan komunikasi dapat berjalan sesuai dengan keinginan dan tujuan awal. 6.
Management Tahap manajemen atau pengaturan, salah satu yang menjadi perhatian khusus adalah masalah Policy, kebijakan perlu dibuat untuk membuat/mengatur agar sistem yang telah dibangun dan berjalan dengan baik dapat berlangsung lama dan unsur Reliability terjaga.
1.6.
Sistematika Penulisan Dalam Skripsi ini, pembahasan yang dilakukan penulis terbagi menjadi lima bab yang secara singkat dapat dijelaskan sebagai berikut : BAB I :
PENDAHULUAN Bab ini mencakup latar belakang dari penyusunan skripsi, ruang lingkup, tujuan yang ingin dicapai, manfaat yang dapat diperoleh,
metodologi
penelitian
yang
digunakan
dan
sistematika penulisan skripsi ini. BAB II : LANDASAN TEORI Bab ini berisi tentang segala macam teori serta konsep yang berkaitan dengan penelitian, seperti Jaringan Komputer, Routing, Load Balancing, Proxy Server, Firewall, dan Caching.
8
BAB III : METODOLOGI PENELITIAN Bab ini berisikan tentang metode pengumpulan data dan metode pengembangan Sistem NDLC (Network Development Life Cycle). BAB IV : PERANCANGAN DAN IMPLEMENTASI Pada bab ini akan berisi tentang rancangan fisik jaringan, instalasi dan implementasi paket aplikasi konfigurasi internet, spesifikasi yang dibutuhkan dan evaluasi dari aplikasi dan jaringan yang telah dirancang. BAB V : PENUTUP Bab akhir yang memuat kesimpulan dan saran dari hasil penelitian yang telah dibuat.
BAB II LANDASAN TEORI
2.1
Router Router adalah perangkat yang akan melewatkan paket IP dari suatu jaringan ke jaringan yang lain, menggunakan metode addressing dan protocol tertentu untuk melewatkan paket data tersebut. Router memiliki kemampuan melewatkan paket IP dari satu jaringan ke jaringan lain yang mungkin memiliki banyak jalur diantara keduanya. Router-router yang saling terhubung dalam jaringan internet turut serta dalam sebuah algoritma routing terdistribusi untuk menentukan jalur terbaik yang dilalui paket IP dari system ke system lain. Proses routing dilakukan secara hop by hop. IP tidak mengetahui jalur keseluruhan menuju tujuan setiap paket. IP routing hanya menyediakan IP address dari router berikutnya yang menurutnya lebih dekat ke host tujuan. Berikut merupakan fungsi router secara umum : 1. Membaca alamat logika/IP address source dan destination untuk menentukan routing dari suatu LAN ke LAN lainnya. 2. Menyimpan routing table untuk menentukan rute terbaik antara LAN ke WAN. 3. Perangkat dilayer 3 OSI Layer dan Interfaces Ethernet, Serial, ISDN BRI 4. Bisa berupa “box” atau sebuah OS yang menjalankan sebuah daemon routing.
9
10
2.1.1
Router dan Gateway a. Router Router adalah perangkat jaringan yang digunakan untuk membagi protocol kepada anggota jaringan yang lainnya, dengan adanya router maka sebuah protocol dapat di-sharing kepada perangkat jaringan lain. Ciri-ciri router adalah adanya fasilitas DHCP
(Dynamic
Host
Configuration
Procotol),
dengan
mensetting DHCP, maka dapat membagi IP Address, fasilitas lain dari Router adalah adanya NAT (Network Address Translator) yang dapat memungkinkan suatu IP Address atau koneksi internet disharing ke IP Address lain. b. Gateway Gateway adalah sebuah perangkat yang digunakan untuk menghubungkan satu jaringan komputer dengan satu atau lebih jaringan komputer yang menggunakan protokol komunikasi yang berbeda sehingga informasi dari satu jaringan computer dapat diberikan kepada jaringan komputer lain yang protokolnya berbeda. Apabila ada suatu komputer yang ingin terkoneksi oleh internet atau terkoneksi dengan komputer lain maka komputer itu harus memasukan ip gatewaynya jadi komputer harus melewati gerbang utama pada jaringan internet atau yang lain.
11
2.2
Firewall Firewall adalah sistem keamanan yang menggunakan device atau system yang diletakkan di dua jaringan dengan fungsi utama melakukan filtering terhadap akses yang akan masuk. Berupa seperangkat hardware atau software, bisa juga berupa seperangkat aturan dan prosedur yang ditetapkan oleh organisasi. Firewall juga dapat disebut sebagai sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggapnya aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak aman. Umumnya firewall diimplementasikan dalam sebuah mesin terdedikasi, yang berjalan pada pintu gerbang (gateway) antara jaringan lokal dan jaringan lainnya. Firewall juga umumnya digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses terhadap jaringan pribadi dari hak luar. Saat ini, istilah firewall menjadi istilah generik yang merujuk pada sistem yang mengatur komunikasi antar dua jaringan yang berbeda. Firewall atau “tembok penghalang” merupakan sebuah perangkat yang ditujukan untuk melindungi network dari “kejahatan dunia luar”. Biasanya firewall digunakan untuk melindungi LAN dari berbagai serangan atau intrusions. Serangan dapat ditujukan kepada host tertentu yang dapat menyebabkan data corrupt atau service menjadi tidak berfungsi (Yusuf, 2010).
12
2.2.1
Fungsi Firewall Firewall berfungsi menjaga keamanan jaringan dari ancaman pihak lain yang tidak berwenang. Mengubah, merusak, atau menyebarkan data-data penting perusahaan merupakan contoh ancaman yang harus dicegah. Firewall memiliki fungsi ganda, yaitu memeriksa paket dan menyaring paket, keduanya merupakan salah satu peran yang paling mendasar dari sebuah firewall. (Fasarilla, 2010) Berikut Fungsi – fungsi Firewall secara umum : 1.
Mengontrol dan mengawasi paket data yang mengalir di jaringan. Firewall harus dapat mengatur, memFilter dan mengontrol lalu lintas data yang diizin untuk mengakses jaringan privat yang dilindungi firewall. Firewall harus dapat melakukan pemeriksaan terhadap paket data yang akan melewati jaringan private. Beberapa
kriteria
yang
dilakukan
firewall
memperbolehkan paket data lewati atau tidak, antara lain : 1. Alamat IP dari komputer sumber 2. Port TCP/UDP sumber dari sumber 3. Alamat IP dari komputer tujuan 4. Port TCP/UDP tujuan data pada komputer tujuan 5. Informasi dari header yang disimpan dalam paket data 2.
Melakukan autentifikasi terhadap akses.
apakah
13
3.
Aplikasi Proxy Firewall mampu memeriksa lebih dari sekedar header dari paket data, kemampuan ini menuntut firewall untuk mampu mendeteksi protokol aplikasi tertentu yang spesifikasi.
4.
Mencatat semua kejadian di jaringan Mencatat setiap transaksi kejadian yang terjadi di firewall. Ini memungkinkan membantu sebagai pendeteksian dini akan kemungkinan penjebolan jaringan.
Gambar 2.1 Firewall (rsdcool.blogspot.com) 2.2.2
Mikrotik sebagai Firewall Firewall beroperasi menggunakan aturan tertentu. Aturan inilah yang menentukan kondisi ekspresi yang memberitahu router tentang apa yang harus dilakukan router terhadap paket IP yang melewatinya. Setiap aturan disusun atas kondisi dan aksi yang akan dilakukan.
Ketika
ada
paket
IP
lewat,
firewall
akan
mencocokkannya dengan kondisi yang telah dibuat kemudian menentukan aksi apa yang akan dilakukan router sesuai dengan kondisi tersebut.
14
Selain sebagai gateway, Mikrotik juga dipadukan dengan kemampuan firewall untuk mencegah hal-hal yang menggangu dari pihak lain, mengingat begitu banyaknya aplikasi yang dijalankan oleh pengguna jaringan. Ada aplikasi yang berjalan normal, tetapi ada juga aplikasi yang bersifat mengganggu kinerja jaringan. Sebagai contoh, paket broadcast yang dilakukan oleh virus dan paket berlebihan yang sering disebut sebagai flooding. Paket dengan ukuran kecil memang tidak mengganggu koneksi jaringan. Namun, jika paket yang kecil tersebut dalam jumlah banyak, hal ini bisa menurunkan kinerja jaringan (down). Maka disinilah pentingnya memakai firewall untuk menghindari insiden jaringan yang bersifat negative. Pada sistem operasi Mikrotik, firewall sudah termasuk paket Mikrotik RouterOS yang di dalam direktori firewall sendiri terdapat 6 direktori: 1. Mangle, untuk menandai paket dengan suatu tanda khusus sebagai indentitas paket tersebut. 2.
NAT, ntuk memetakan suatu IP address ke IP address lain.
3. Connection, untuk mengetahui informasi dari suatu koneksi yang aktif, seperti IP address asal dan tujuan beserta port yang digunakan, jenis protokol yang dipakai. 4. Address-list, untuk mendefinisikan IP address ke dalam group tertentu.
15
5. Service port, untuk mengaktifkan dan mengubah nomor port aplikasi. 6. Filter, untuk menyaring paket yang masuk atau melewati router. Router akan meneruskannya jika paket diizinkan lewat, dan sebaliknya. 7. Export, untuk menyimpan/backup semua konfigurasi di dalam direktori firewall.
2.2.3
Firewall dengan IPtabels Iptabels adalah administrator Tools untuk memFilter paket IPV4 dan NAT. Iptabels digunakan untuk men-setup, mengatur dan memeriksa paket dari aturan pem-filteran paket IP pada kernel linux. (Yusuf, 2010) Iptabels merupakan salah satu tool firewall yang bekerja menggunakan prinsip Packet Filter. Modul Iptabels dalam kernel merupakan bagian dari framework NetFilter. Modul ini dapat memberikan kemampuan Filtering dan manajemen paket-paket IP yang masuk maupun keluar firewall, sehingga ada yang menyebut Iptabels sebagai NetFilter. Sebutan ini kurang tepat, jangan terkecoh antara instilah NetFilter dengan Iptabels itu sendiri. NetFilter merupakan framework yang bekerja pada level kernel yang membentuk sebuah sistem. Sedangkan Iptabels sendiri merupakan modul yang bekerja pada level aplikasi dan user (user space).
16
IPtabels bekerja pada layer internet dan transport. Artinya header paket yang berada pada kedua layer ini akan di Filter sesuai aturan yang telah ditentukan. IPtabels memiliki tiga macam daftar aturan bawaan dalam tabel penyaringan, daftar tersebut dinamakan rantai firewall (firewall Chain) atau sering disebut Chain saja. Ketiga Chain tersebut adalah a.
INPUT Digunakan untuk memilah paket data yang masuk ke mesin firewall
b.
OUTPUT Digunakan untuk memilah paket data yang melalui mesin firewall dan diRoutingkan kembali ke jalur yang lainnya
c.
FORWARD. Digunakan untuk memilah paket data yang keluar dari mesin firewall IPtabels menangani lalu lintas paket menggunakan tiga buah
tabel acuan. Setiap tabel memiliki beberapa buah Chain atau sekumpulan aturan berantai. Ketiga tabel tersebut antara lain : 1. Filter tabel Berisikan Chain yang melakukan penyaringan paket yang masuk maupun keluar. Filter tabel terdiri atas tiga buah Chain, yaitu :
17
1.
INPUT Chain, untuk menyaring paket-paket yang datang menuju localhost
2.
FORWARD Chain, untuk menyaring paket yang berasal dari host lain yang diteruskan ke host lain pula. Kondisi ini lazim disebut sebagai Routing.
3.
OUTPUT Chain, untuk menyaring paket yang keluar / pergi (outgoing traffic) dari localhost.
2. NAT tabel Berisikan Chain yang memodifikasi paket yang keluar masuk. Modifikasi meliput pengubahan address atau port komunikasi yang dapat dijumpai pada header sebuah paket, sedemikian rupa sehingga menjadi sebuah bentuk yang dikenali diluar maupun didalam jaringan. Pada NAT tabel terdapat tiga Chain, yaitu : 1.
PREROUTING Chain, untuk mengubah paket yang berasal dari host lain
2.
OUTPUT Chain, untuk mengubah paket yang dihasilkan oleh localhost.
3.
POSTROUTING Chain, untuk mengubah paket yang akan menuju host lain.
Ada dua jenis NAT, yaitu DNAT (Destination NAT) dan SNAT (Source NAT). Sesuai dengan namanya, DNAT digunakan untuk mengganti destination IP yang berasal dari jaringan luar, seperti
18
internet dengan IP jaringan lokal, sehingga internet dapat mengenali komputer lokal. Sedangkan SNAT digunakan untuk mengganti source IP yang berasal dari jaringan lokal dengan IP public, sehingga komputer lokal dapat berinteraksi dengan jaringan luar (internet). Kemudian ada juga yang disebut IP masquerade. IP masquerade mirip dengan SNAT. SNAT maupun IP masquerade dibuat agar dapat menghemat penggunaan IP address public.
3. Mangle tabel Mangle tabel memiliki kemampuan untuk mengolah semua Chain, baik yang dimiliki oleh Filter tabel maupun NAT tabel. Sejak versi kernel 2.4.18, mangle tabel memiliki lima buah Chain, yaitu :
2.3
1.
PREROUTING Chain
2.
INPUT Chain
3.
OUTPUT Chain
4.
FORWARD Chain
5.
POSTROUTING Chain
Network Address Translator (NAT) Ada dua tipe alamat IP: umum dan pribadi. Alamat umum diberikan kepada kita oleh Internet Service Provider (ISP) yang kita pakai untuk
19
berhubungan ke internet. Bagi host di dalam organisasi yang tidak memerlukan akses langsung ke internet, alamat IP yang tidak menduplikasi alamat
umum yang sudah
diberikan memang dibutuhkan.
Untuk
memecahkan persoalan alamat ini, para desainer internet mencadangkan suatu bagian dari ruang alamat IP dan menamai ruang ini sebagai ruang alamat pribadi. Suatu alamat IP pada ruang alamat pribadi tidak pernah diberikan sebagai alamat umum. Alamat IP di dalam ruang alamat pribadi dikenal sebagai alamat pribadi. Dengan memakai alamat IP pribadi, kita dapat memberikan proteksi dari para hacker jaringan. Karena alamat IP pada ruang alamat pribadi tidak akan pernah diberikan oleh Internet Network Information Center (InterNIC) sebagai alamat umum, maka route di dalam internet router untuk alamat pribadi takkan pernah ada. Alamat pribadi tidak dapat dijangkau di dalam internet. Oleh karena itu, saat memakai alamat IP pribadi, kita membutuhkan beberapa tipe proxy atau server untuk mengonversi sejumlah alamat IP pribadi pada jaringan lokal kita menjadi alamat IP umum yang dapat dirouted. Pilihan lain adalah menerjemahkan alamat pribadi menjadi alamat umum yang valid dengan network address translator (NAT) sebelum dikirimkan di internet. Dukungan bagi NAT untuk menerjemahkan alamat umum dan alamat pribadi memungkinkan terjadinya koneksi jaringanjaringan kantor-rumah atau kantor yang kecil ke internet seperti ditampilkan gambar 2.2 berikut ini.
20
Gambar 2.2 Menghubungkan jaringan kecil ke internet (Sumber : Alwi ,2011) Sebuah NAT menyembunyikan alamat-alamat IP yang dikelola secara internal dari jaringan-jaringan eksternal dengan menerjemahkan alamat internal pribadi menjadi alamat eksternal umum. Hal ini mengurangi biaya registrasi alamat IP dengan cara membiarkan para pelanggan memakai alamat IP yang tidak terdaftar secara internal melalui suatu terjemahan ke sejumlah kecil alamat IP yang terdaftar secara eksternal. Hal ini juga menyembunyikan struktur jaringan internal, mengurangi resiko penolakan serangan layanan terhadap sistem internal.
2.4
Routing Routing adalah proses dimana suatu router mem-forward paket ke jaringan yang dituju. Suatu router membuat keputusan berdasarkan IP address yang dituju oleh paket. Semua router menggunakan IP address tujuan untuk mengirim paket. Agar keputusan Routing tersebut benar, router harus belajar bagaimana untuk mencapai tujuan. (Yusuf. 2010)
21
Tujuan utama dari Routing protokol adalah untuk membangun dan memperbaiki tabel Routing. Dimana tabel ini berisi jaringan-jaringan dan interface yang berhubungan dengan jaringan tersebut. Router menggunakan protokol Routing ini untuk mengatur informasi yang diterima dari routerrouter lain dan interfacenya masing masing, sebagaimana yang terjadi di konfigurasi Routing secara manual. Konfigurasi Routing secara umum terdiri dari 3 macam yaitu : . (Yusuf. 2010) 1.
Minimal Routing Dari namanya dapat diketahui bahwa ini adalah konfigurasi yang paling sederhana tapi mutlak diperlukan. Biasanya minimal Routing dipasang pada network yang terisolasi dari network lain atau dengan kata lain hanya pemakaian lokal saja.
2. Static Routing Konfigurasi Routing jenis ini biasanya dibangun dalam network yang hanya mempunyai beberapa gateway, umumnya tidak lebih dari 2 atau 3. Static Routing dibuat secara manual pada masing masing gateway. Jenis ini masih memungkinkan untuk jaringan kecil dan stabil. Stabil dalam arti kata jarang down. Jaringan yang tidak stabil yang dipasang Static Routing dapat membuat kacau seluruh Routing, karena tabel Routing yang diberikan oleh gateway tidak benar sehingga paket data yang seharusnya tidak bisa diteruskan masih saja dicoba sehingga menghabiskan bandwidth.
22
3. Dynamic Routing Dalam sebuah network dimana terdapat jalur Routing lebih dari satu rute untuk mencapai tujuan yang sama dan network besar yang memiliki lebih dari 3 gateway biasanya menggunakan dynamic Routing. Dengan penggunaan dynamic Routing, tabel Routing yang terbaru akan didapatkan secara otomatis dengan menjalankan Routing protokol yang dipilih.
2.5
Load Balancing Load Balancing adalah teknik untuk mendistribusikan beban trafik pada dua atau lebih jalur koneksi secara seimbang, agar trafik dapat berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap dan menghindari overload pada salah satu jalur koneksi. (Dewobroto, 2009). Secara umum, load balancing dapat diartikan sebagai suatu teknik untuk mendistribusikan beban kerja secara merata pada dua atau lebih komputer, network links, CPU, hard drive atau sumber daya lainnya, untuk mendapatkan pemanfaatan sumber daya yang optimal, memaksimalkan throughput, meminimalkan waktu respon dan menghindari overload. Menggunakan
beberapa
komponen
dengan
load
balancing
dapat
meningkatkan kehandalan melalui redudansi. Layanan load balancing biasanya disediakan oleh program khusus atau perangkat keras (seperti multilayer switch atau DNS server).
23
Dengan mempunyai banyak link maka optimalisasi utilisasi sumber daya throughput, atau responde time akan semakin baik karena mempunyai lebih dari satu link yang bisa saling mem-backup pada saat network down dan menjadi cepat pada saat network normal jika memerlukan realibilitas tinggi yang memerlukan 100 % koneksi uptime dan yang menginginkan koneksi upstream yang berbeda dan dibuat saling mem-backup. Dalam jaringan komputer, load balancing lebih mengarah kepada pengkombinasian beberapa antarmuka ethernet ke dalam satu jalur sehingga dapat diutilisasi secara bersamaan dengan menghasilkan koneksi yang lebih cepat. Untuk dapat mengimplementasikan sistem ini diperlukan suatu perangkat tambahan baik berupa router Cisco atau menggunakan solusi router dari Mikrotik yang lebih ekonomis namun powerfull
Gambar 2.3 Load Balancing dengan dua backbone provider. (sumber: Dewobroto, 2009) Dengan konsep yang sederhana, sebuah load balancer diletakkan di antara client dan server seperti terlihat pada Gambar 2.3 Load balancer akan menampung trafik yang datang dan membaginya ke dalam request-request individual lalu menentukan server mana yang menerima request tersebut.
24
Beberapa keuntungan dari penerapan Load Balancing antara lain (Sagala, 2010): 1.
Scalability : Ketika beban sistem meningkat, kita dapat melakukan perubahan terhadap sistem agar dapat mengatasi beban sesuai dengan kebutuhan.
2.
High Availability : Load balancer secara terus-menerus melakukan pemantauan terhadap server. Jika terdapat server yang mati, maka load balancer akan menghentikan request ke server tersebut dan mengalikannya ke server yang lain.
3.
Manageability : Mudah ditata meskipun secara fisik sistem sangat besar.
4.
Security : Untuk semua trafik yang melewati load balancer, aturan keamanan dapat diimplementasikan dengan mudah. Dengan private network digunakan untuk server, alamat IP nya tidak akan diakses secara langsung dari luar sistem. Saat sebuah router mempunyai dua koneksi ke internet (sama atau
berbeda ISP-nya), default gateway di router tetap hanya bisa satu, ditambah pun yang bekerja tetap hanya satu. Jadi misal router NAT terhubung ke ISP A melalui interface A dan gateway A dan ke ISP B melalui interface B dan gateway B, dan default gateway ke ISP A, maka trafik downlink hanya akan datang dari ISP A saja. Begitu juga sebaliknya jika dipasang default gateway ke ISP B. Penerapan teknik load balancing dapat menyelesaikan
25
permasalahan tersebut dengan menggabungkan trafik downlink ISP A dan ISP B sehingga dapat diutilisasi secara bersamaan. Prinsip dari load balancing adalah sebagai berikut: 1. Lalu lintas didistribusikan berdasarkan probabilitas. 2. Harus tau seberapa besar tiap link, dan didistribusikan sesuai lalulintas. 3. Berdasarkan kecepatan pada keluaran dan masukan pada router, load balancing dapat diilustrasikan sebagai berikut :
512 + 256 ≠ 768 512 + 256 = 256 + 256 + 256 512 + 256 = 128 + 128 + 128 + 128 +128 + 128 4. Jika ada dua gateway, missal A dan B, A memiliki bandwidth sebesar 1mbps dan B memiliki bandwidth sebesar 2 mbps. Maka lalulintas akan dibagi kedalam 3 aliran, dan mengirim 1 aliran ke A dan 2 aliran ke B.
2.5.1
Algoritma Load Balancing Algoritma pembagian beban digunakan dalam penelitian ini adalah : 1. Algoritma Hashing Algoritma
hashing
merupakan
algoritma
yang
menggunakan informasi dari IP Address yang berasal dari permintaan client pada saat mengirimkan request ke suatu server. Informasi IP Address yang digunakan tergantung dari penerapan sistem tertentu.untuk WAN Link Load Balancing, informasi IP Address yang digunakan adalah informasi dari IP
26
Address tujuan paket. Semua request untuk tujuan IP Address tertentu akan dikirim ke gateway yang sama. (Chin dan Jian, 2008:277). 2. Fungsi Hashing Hash adalah fungsi yang diberi input dan menghasilkan output yang deterministic. Itu berarti bahwa ketika sebuah fungsi hash mengenkripsi suatu input yang berbunyi “halo” lalu akan menghasilkan output “1”. Dengan sifat dari hashing yang deterministic maka dapat ditetapkan bahwa jika fungsi hash tersebut mengenkripsi input berupa “halo” pada saat kedua kalinya
atau
seterusnya,
maka
sudah
dipastikan
akan
menghasilkan output yang sama yaitu “1”. (Fewi,2010).
2.5.2
Sistem Load Balancing Sistem load balancing sebenarnya dapat dibuat dengan banyak cara. Pembuatannya tidak terikat oleh sebuah operating system saja, atau hanya dapat dibuat oleh sebuah perangkat saja. Namun secara garis besar cara pembuatan sistem load balancing terbagi menjadi tiga kategori besar, yaitu load balancing dengan menggunakan DNS round robin, Integrated load balancing, dan Dedicated load balancing. Ketiga jenis ini memiliki cara kerja yang unik dan berbeda satu sama lain, tetapi tetap menuju suatu hasil akhir yang sama, yaitu menciptakan sebuah sistem yang
27
lebih menjamin kelangsungan hidup jaringan dibelakangnya dan membuatnya lebih skalabel. 1. DNS round robin Metode yang paling sederhana untuk menciptakan sistem load balancing adalah dengan menggunakan metode DNS Round robin. Metode ini sebenarnya merupakan sebuah fitur dari aplikasi bernama BIND (Berkeley Internet Name Domain). Ini merupakan aplikasi open source khusus untuk membangun server DNS yang tampaknya sudah menjadi semacam standar yang digunakan di mana-mana. Sistem DNS round robin banyak mengandalkan teknik input penamaan yang teratur rapi dan dipadukan dengan sistem perputaran round robin.
Gambar 2.4 DNS Round Robin (sumber : Andesoni, 2010)
28
Seperti yang telah kita ketahui, DNS merupakan sebuah sistem penamaan terhadap perangkat-perangkat komputer. Penamaan ini dibuat berdasarkan alamat IP dari perangkat tersebut. Sebuah perangkat yang memiliki alamat IP dapat diberi nama dan dapat diakses menggunakan namanya saja jika Anda memiliki DNS server. Sistem penamaan tersebut banyak sekali manfaatnya, misalnya hanya untuk sekadar lebih mudah diakses atau untuk diproses lebih lanjut. Dari sistem penamaan ini dapat dibuat sebuah sistem load balancing sederhana dan murah yang memanfaatkan sifat alami dari program BIND ini, yaitu sistem perputaran round robin. Pada sebuah record DNS yang berisikan informasi penamaan, Anda dapat memasukkan beberapa nama lain untuk diwakili oleh sebuah nama utama. Beberapa nama lain itu memiliki masing- masing record sendiri yang juga mewakili alamat-alamat IP dari perangkat jaringan. Jadi setelah
proses
input
penamaan
selesai,
Anda
akan
mendapatkan sebuah nama utama yang mewakili beberapa nama-nama lain yang mewakili beberapa perangkat jaringan seperti server. Di sinilah kuncinya, ketika ada yang mengakses nama utama tersebut, DNS server akan dihubungi oleh si pencari.
29
Setelah menerima permintaan, DNS server akan mencari record dari nama utama tersebut. Ternyata di dalam record tersebut terdapat beberapa nama lain yang berhubungan dengan nama utama. Pada kondisi inilah, DNS server akan menjalankan sistem perputaran round robin untuk menggilir informasi nama- nama lain mana saja yang diberikan ke para pemintanya. Di sini, sistem load balancing sebenarnya sudah terjadi. Alamat IP dari server-server yang diwakili oleh nama lain tersebut akan diberikan kepada para peminta secara bergiliran sesuai dengan algoritma round robin. Ini menjadikan beban terbagi-bagi secara bergilir ke serverserver lain dengan sendirinya. Sistem load balancing ini terbilang mudah dan sederhana untuk diimplementasikan, namun ada juga beberapa kelemahan yang cukup signifikan. Problem yang sering terjadi adalah ketika ada sebuah DNS server lain (misalkan DNS A) di Internet yang masih meng-cache hasil pencariannya yang pertama. Jadi jika kali pertama server DNS A tersebut mendapatkan informasi IP dari domain utama perusahaan tersebut adalah IP 1.1.1.2, maka DNS A tidak mengetahui alamat IP yang lain dari domain utama tersebut. Ini membuat
30
para pengguna yang menggunakan server DNS ini juga tidak dapat mengetahui sistem load balancing yang ada, sehingga load balancing tidak bekerja. Kelemahan lainnya adalah ketika sebuah server di dalam sistem load balancing ini tidak dapat bekerja, maka sistem
DNS
tidak
dapat
mendeteksinya.
Hal
ini
menyebabkan server yang tidak dapat bekerja tersebut malahan mendapatkan banyak request dari luar, meskipun tidak dapat bekerja.
2. Integrated Load balancing Integrated load balancing biasanya merupakan solusi load balancing tambahan dari sebuah aplikasi atau operating system. Biasanya aplikasi atau operating system yang memiliki fitur ini adalah yang memiliki kemampuan beroperasi sebagai server. System load balancing bukan merupaka fungsi utama. Oleh sebab itu, biasanya fitur, performa digunakan
dan
kemampuannya
untuk
system
cukup
berskala
sederhana kecil
dan
menengah.
Fasilitasnya juga lebih banyak bersifat general saja, jarang yang spesifik. Meski demikian, fitur ini amat berguna jika digunakan pada jaringan yang tepat.
31
Gambar 2.5 Integrated Load Balancing (sumber : Andesoni, 2010) Salah satu integrated load balancing ini dapat anda temukan di Microsoft windows 2000 advance server yang merupakan fitur tambahan. Pada operating system yang memiliki kemampuan jaringan yang hebat ini, anda dapat mengkonfigurasi system load balancing dengan cukup mudah. Selain itu, fitur – fitur yang diberikan untuk keperluan ini juga terbilang cukup lengkap.
3.
Network Load Balancing (NLB) Network Load Balancing merupakan fasilitas yang memungkinkan mesin windows 2000 Advance Server melakukan load balancing terhadap aplikasi – aplikasi yang berjalan berdasarkan jaringan IP. Aplikasi yang berjalan diatas IP seperti HTTP/HTTPS, FTP, SMTP dan banyak lagi dapat dengan mudah di load balance dengan menggunakan
32
fasilitas ini. Dengan menggunakan NLB, anda dapat membuat satu group cluster server yang dilengkapi dengan system load balancing terhadap semua servis–servis TCP, UDP dan GRE (Generic Routing Encapsulation). Untuk semua proses tersebut, dikenal sebuah istilah Virtual server yang bertindak sebagai satu titik pusat pengaksesan server – server dibawahnya. Dengan adanya fasilitas ini, servis dan layanan yang dijalankan oleh server – server ini lebih terjamin kelancarannya. Sangat ideal digunakan untuk keperluan servis – servis front end, seperti web server agar masalah – masalah seperti bottleneck pada server dapat dikurangi.
4.
Component Load Balancing (CLB) Teknologi load balancing ini menyediakan system load balance terhadap komponen – komponen yang mendukung jalannya sebuah software atau aplikasi. Aplikasi atau software yang dapat di load balance adalah yang komponen – komponennya menggunakan COM+. Dengan melakukan load balancing terhadap komponen – komponen COM+ yang ada di beberapa server, maka jalannya sebuah aplikasi lebih terjamin dan lebih skalabel melayani para penguna aplikasi.
33
Ada beberapa keuntungan pada saat menggunakan system load balancing diantaranya adalah : 1. Asymmetric Load Rasio dapat dibuat menentukan koneksi yang menjadi primary dianggap paling baik backbonenya dan terbaik dalam path routing, jadi kita dapat membuat mesin untuk mencari best path determination dan routing yang terpendek dan terbaik untuk sampai ketujuan 2. Aktivitas berdasarkan Prioritas Disaat load jaringan lagi peek, server akan dapat membagi aktivitas berdasarkan prioritas dank e link cadangan. 3. Proteksi dari serangan DDoS Karena kita dapat membuat features SYN Cookies dan delayed – binding (suatu metode di back end server pada saat terjadi proses TCP handshake) pada saat terjadi serangan SYN Flood. 4. Kompresi HTTP Memungkinkan data untuk bias mentransfer objek HTTP dengan dimungkinkannya penggunaan utilitasi kompresi gzip yang berda di semua web browser yang modern. 5.
TCP Buffering Dapat membuat respon buffer dari server dan berakibat dapat memungkinak task akses lebih cepat.
34
6.
HTTP Caching Dapat
menyimpan
content
yang
static,
dengan
demikian request dapat di handel tanpa harus melakukan kontak ke web server diluar jaringan yang berakibat akses terasa semakin cepat. 7.
Content Filtering Beberapa load balancing dapat melakukan perubahan trafik pada saat dijalankan.
8.
HTTP Security Beberapa
system
load
balancing
dapat
menyembunyikan HTTP error pages, menghapus identifikasi header server dari respon HTTP, dan melakukan enkripsi cookies agar user tidak dapat memanipulasinya. 9.
Priority Queuing Berguna untuk memberikanperbedaan prioritas traffic paket.
10.
Spam Filtering Spam merupakan penyalagunaan dalam pengiriman berita elektronik untuk menampilkan berita iklan dan keperluan lainnya yang mengakibatkan ketidaknyamanan bagi pengguna web. Bentuk berita spam yang umum dikenal meliputi spam surat elektronik, spam instant messaging, spam usenet newsgroup, spam mesin pencari informasi web (web search engine spam), spam blog, spam berita pada telepon
35
genggam, spam forum internet dan lain – lain. Spam ini biasanya dating bertubi – tubi tanpa diminta dan sering kali tidak dikehendaki oleh penerimanya. Beberapa contoh lain dari spam ini bias berupa surat elektronik berisi iklan, sms pada telepon genggam, berita yang masuk dala suatu forum newsgroup berisi promosi barang yang tidak terkaitdengan aktifitas newsgroup tersebut. Spamdexing yang mendominir suatu mesin pencari (search engine) untuk mencari popularitas bagi suatu URL tertentu, ataupun bias berupa berita yang tak berguna dan masuk dala suatu blog, buku tamu situs web dan lain – lain.
2.6
Per Connection Classifier (PCC) Merupakan metode yang mengelompokkan trafik koneksi melalui atau keluar masuk router menjadi beberapa kelompok. Pengelompokan ini bisa dibedakan berdasarkan src-address, dst-address, src-port dan atau dst-port. Router akan menyimpan informasi tentang jalur gateway yang dilewati data ditiap trafik koneksi, sehingga pada paket-paket selanjutnya yang masih berkaitan dengan paket data sebelumnya akan dilewatkan pada jalur gateway yang sama juga. (Dewabroto, 2009) PCC merupakan metode yang dikembangkan oleh Mikrotik dan mulai diperkenalkan pada Mikrotik RouterOS versi 3.24. PCC mengambil bidang yang dipilih dari header IP, dan dengan bantuan dari algoritma hashing
36
mengubah bidang yang dipilih menjadi nilai 32-bit. Nilai ini kemudian dibagi dengan denominator tertentu dan sisanya kemudian dibandingkan dengan remainder tertentu, jika sama maka paket akan ditangkap. Rules dapat dibuat dengan memilih informasi dari src-address, dst-address, srcport, atau dst-port dari bagian header IP. Header IP memiliki field yang berisi beberapa bidang, dua diantaranya adalah alamat IP sumber (srcaddress) paket dan alamat IP tujuan (dst-address) dari paket tersebut. Paket TCP dan UDP juga memiliki header yang berisi port sumber dan port tujuan. (Fewi,2010). per-connection-classifier= PerConnectionClassifier ::= [!]ValuesToHash:Penyebut/Remainder Remainder ::= 0..4294967295 (bilangan integer) Penyebut ::= 1..4294967295 (bilangan integer) ValuesToHash ::= both-addresses|both-ports|dst-address-andport| src-address|src-port|both-addresses-and-ports|dstaddress|dst- port|src-address-and-port
Dalam hal ini penyebut merupakan jumlah koneksi yang akan di-load balancing. Meskipun
PCC
merupakan
metode
yang
digunakan
untuk
menyebarkan beban secara merata, namun PCC itu sendiri sama sekali tidak ada hubungannya dengan Routing. PCC adalah cara untuk mencocokan paket, dan tidak langsung berkaitan dengan perintah menandai paket yang sama walaupun itu adalah tujuan dari PCC. (Fewi,2010).
37
2.7
Proxy Server Proxy server adalah sebuah komputer server atau program komputer yang dapat bertindak sebagai komputer lainnya untuk melakukan request terhadap content dari Internet atau intranet. Proxy Server bertindak sebagai gateway terhadap dunia Internet untuk setiap komputer klien. Proxy server tidak terlihat oleh komputer klien seorang pengguna yang berinteraksi dengan Internet melalui sebuah Proxy server tidak akan mengetahui bahwa sebuah Proxy server sedang menangani request yang dilakukannya. Web server yang menerima request dari Proxy server akan menginterpretasikan requestrequest tersebut seolah-olah request itu datang secara langsung dari komputer klien, bukan dari Proxy server. (Yosike, 2010) Proxy server adalah sebuah sistem komputer atau program aplikasi yang melayani permintaan dari client dengan meminta layanan ke server lain. Proxy server mempunyai 3 fungsi utama yaitu : 1. Connection Sharing Sebagai perantara antara pengguna dan server – server di internet. Proxy Server bekerja dengan menerima permintaan layanan dari user dan kemudian sebagai gantinya Proxy server akan mewakili permintaan pengguna ke server – server di internet yang dimaksudkan 2. Filtering Bekerja pada layer aplikasi sehingga berfungsi sebagai firewall packing Filtering yang digunakan untuk melindungi jaringan lokal dari serangan atau gangguan yang berasal dari jaringan Internet dengan
38
cara melakukan Filtering atas paket yang lewat dari dan ke jaringan – jaringan yang dihubungkan dan dapat dikonfigurasi untuk menolak akses ke website tertentu pada waktu tertentu 3. Caching Proxy server memiliki mekanisme penyimpanan obyek-obyek yang sudah pernah diminta dari server-server di internet, biasa disebut Caching. Caching Proxy menyimpan data yang sering diminta oleh client ke suatu tempat penyimpanan di server. Proxy melakukan permintaan layanan ke penyedia layanan asli. Setelah penyedia layanan asli memberikan hasil, kemudian Proxy baru akan mengembalikan hasil eksekusi permintaan layanan ke pengguna. Sehingga dari sisi penyedia layanan asli, Proxy sama seperti pengguna layanan. Gambar 2.6 menggambarkan cara kerja Proxy secara umum.
Gambar 2.6 Cara kerja Proxy (Sumber : Penulis) Pada Gambar 2.6 diilustrasikan mengenai cara kerja proxy server. Client terhubung ke sebuah web server melalui proxy . Client mengirimkan request dan proxy server melayani request tersebut dengan
39
mengirimkannya kepada web server. Setelah mendapatkan jawaban dari web server, maka proxy server akan mengirimkannya kembali kepada client. Oleh karena itu, dapat dikatakan bahwa proxy server berperan sebagai server untuk client dan sebagai client untuk web server. Dalam
melayani
permintaannya,
Proxy
dapat
menambah
kehandalan layanannya dengan melakukan proses Caching. Cache adalah sebuah penyimpanan dari koleksi data yang digunakan sebelumnya, yang letaknya lebih dekat dengan peminta data daripada penyedia data aslinya. Hal ini dapat diartikan bahwa data aslinya lebih mahal untuk diambil (misalnya
karena
untuk
ulang, dibandingkan dengan biaya untuk
dikomputasi
waktu
akses
yang
lama)
atau
membaca dari cache. Dengan kata lain, cache adalah sebuah area penyimpanan sementara dimana data yang sering diakses bisa selalu disimpan
untuk
pengaksesan
yang
cepat.
Caching
adalah
aktivitas untuk membuat cache. (Pramadesa : 2008) Pada penggunaannya, proxy server juga memiliki kelemahan antara lain. 1. Single Point of Failure (Kesalahan Terpusat). Jika service proxy berhenti atau mengalami kerusakan (crash), maka seluruh koneksi akan terputus. Untuk menangani hal ini, biasanya digunakan fitur load balancing yang dapat membagi kerja diantara beberapa proxy server pada saat yang bersamaan.
40
2. Proxy Server tidak dapat melindungi Sistem Operasi. Proxy server yang bekerja berdasarkan web server beroperasi pada Application Layer (di atas Network dan Transport Layer), sehingga tugasnya hanya menyaring paket TCP/IP yang ada di server. Hal ini rentan terhadap hacking.
2.8
Squid Proxy Squid merupakan salah satu aplikasi cache yang berlisensi GPL(GNU Public License)dan merupakan implementasi proxy server yang dapat menyimpan objek pada cache. Squid dapat dikatakan sebagai sebuah software yang diaplikasikan untuk membuat cache dari http, https, gopher dan beberapa aplikasi/protokol lainnya. Port number pada aplikasi browser yang bekerja pada pihak client harus dikonfigurasi sesuai dengan port number yang ada pada file konfigurasi squid. Browser meminta content (biasa disebut dengan objek) kepada cache server. Setelah dijalankan (running), squid akan mendengarkan (listen) pada port yang telah ditentukan dan melayani request pada port ini. Setelah memperoleh objek yang diminta oleh client, squid akan menyimpan objek tersebut ke dalam harddisk. Sehingga apabila terdapat permintaan terhadap objek yang sama di lain waktu, objek tersebut akan diambil dari harddisk. Squid bekerja dengan cara memeriksa request yang datang. Jika squid diatur dengan autentikasi tertentu, squid memeriksa autentikasi user terlebih dahulu. Autentikasi ini hanya untuk user account dan password pada file
41
konfigurasi squid. Jika telah sesuai dengan konfigurasi, request tersebut kembali diperiksa apakah objek yang diminta telah berada di cache. Jika sudah ada maka proxy server tidak perlu melanjutkan request ke internet tetapi langsung mereply request dengan objek yang diminta. Keuntungan penggunaan Squid : 1. Squid web-cache proxy server adalah proxy server yang bersifat open source yang didisain untuk berjalan di sistem unix dan keluarganya (seperti Linux, FreeBSD,SunOS/Solaris, dan lainnya). 2. Squid tidak hanya dapat meng-cache objek-objek web saja, namun juga dapat mengcache DNS dan network lookup lainnya dan penggunaan squid akan sangat terasa dan membantu untuk optimasi penggunaan bandwidth yang kecil. 3. Dapat melakukan pembatasan akses kepada situs-situs tertentu (misalnya situs hacking dan situs terlarang) 4. Squid merupakan cache proxy server yang mempunyai performansi tinggi dan mendukung operasional FTP, Gopher dan HTTP. 5. Dapat menghemat bandwidth 6. Dapat melakukan pembatasan waktu-waktu yang diperbolehkan untuk melakukan download.
2.9
Tools Dalam penelitian ini untuk membangun jaringan membutuhkan Tools baik Hardware maupun software diantaranya :
42
2.9.1 Hardware 1. Komputer Komputer adalah perangkat elektronik yang dapat menerima masukan (input), dan selanjutnya melakukan pengolahan (process) untuk
menghasilkan
keluaran
(output)
berupa
informasi.
(Supriyanto, 2005: 3). 1. Komputer Server Komputer yang akan dijadikan server harus memiliki spesifikasi tertentu yang lebih tinggi dari pada client yang didesain khusus untuk kebutuhan server. 2. Komputer Client Merupakan komputer PC biasa, ditambah dengan NIC. Spesifikasi PC client biasanya lebih rendah dibanding dengan server.
Gambar 2.7 Personal Komputer (Sumber: indonetwork.co.id) 2.9.2 Software Untuk membangun sebuah jaringan selain membutuhkan perangkat keras (Hardware) dibutuhkan juga perangkat lunak (software) yang berfungsi sebagai tampilan GUI (graphical user interface) untuk
43
melakukan aktivitas jaringan seperti manajemen jaringan, pengamanan jaringan, pengoperasian Hardware, dan sebagainya. 1. Sistem Operasi Sistem operasi merupakan software yang berfungsi melakukan operasi yang mengurusi tentang segala aktivitas komputer seperti mendukung operasi sistem aplikasi dan mengendalikan semua perangkat komputer agar dapat berjalan selaras dengan fungsinya (Supriyanto, 2005: 87). a. Windows Windows adalah sistem operasi dengan modus tampilan grafik atau Graghical User Interface (GUI) yang dikeluarkan oleh perusahaan Microsoft, sehingga visualisasinya akan lebih menarik penggunanya dan lebih mudah menggunakannya (Supriyanto, 2005: 106). b. Linux Linux merupakan sistem operasi bebas dan terbuka (open source) berlisensi General Public Lisence (GPL) yang mana pendistribusian dan pengembangannya bisa dilakukan secara bebas dengan mengikuti kode program asal sebagai turunannya (Supriyanto, 2005: 97). c. MikroTik RoutersOS™ MikroTik RoutersOS merupakan sistem operasi jaringan (operating sistem network) yang banyak digunakan oleh Internet
44
Service Provider untuk keperluan firewall atau router network yang handal yang dilengkapi dengan berbagai fitur dan tool, baik untuk jaringan kabel maupun wireless (Saputro & Kustanto, 2008: 56). Adapun fitur fitur yang disediakan oleh MikroTik RouterOS™ adalah sebagai berikut : 1. Address list : Pengelompokan IP Address berdasarkan nama 2. Asynchronous : Mendukung serial PPP dial-in / dial-out, dengan otentikasi CHAP,PAP, MSCHAPv1 dan MSCHAPv2, Radius, dial on demand, modem pool hingga 128 ports. 3. Bonding
/
Load
balancing
:
Mendukung
dalam
pengkombinasian beberapa antarmuka ethernet ke dalam 1 pipa pada koneksi cepat. 4. Bridge : Mendukung fungsi bridge spinning tree, multiple bridge interface, bridging firewalling. 5. Data Rate Management : QoS berbasis HTB dengan penggunaan burst, PCQ, RED, SFQ, FIFO queue, CIR, MIR, limit antar peer to peer. 6. DHCP : Mendukung DHCP tiap antarmuka; DHCP Relay; DHCP Client, multiple network DHCP; static and dynamic DHCP leases. 7. Firewall and NAT : Mendukung pemfilteran koneksi peer to peer, source NAT dan destination NAT. Mampu memfilter
45
berdasarkan MAC, IP address, range port, protokol IP, pemilihan opsi protokol seperti ICMP, TCP Flags dan MSS. 8. Hotspot : Hotspot gateway dengan otentikasi RADIUS. Mendukung limit data rate, SSL ,HTTPS. 9. IPsec : Protokol AH dan ESP untuk IPSec; MODP DiffieHellmann groups 1, 2, 5; MD5 dan algoritma SHA1 hashing; algoritma enkirpsi menggunakan DES, 3DES, AES-128, AES-192, AES-256; Perfect Forwarding Secresy (PFS) MODP groups 1, 2,5. 10. ISDN : mendukung ISDN dial-in/dial-out. Dengan otentikasi PAP, CHAP, MSCHAPv1 dan MSCHAPv2, Radius. Mendukung 128K bundle, Cisco HDLC, x751, x75ui, x75bui line protokol. 11. M3P : MikroTik Protocol Package Packer untuk wireless links dan Ethernet protocol (CDP). 12. Monitoring/Accounting : Laporan IP Traffic, log, statistik graph yang dapat diakses melalui HTTP. 13. NTP : Network Time Protokol untuk server dan clients; sinkronisasi menggunakan sistem GPS. 14. Point to Point Tunneling Protocol : PPTP, PPPoE dan L2TP Access Concentrator; protokol otentikasi menggunakan PAP, CHAP, MSCHAPv1, MSCHAPv2; otentikasi dan
46
laporan radius; enkripsi MPPE; kompresi untuk PPoE; limit data rate. 15. Proxy : Cache untuk FTP dan HTTP proxy server, HTTPS proxy; transparent proxy untuk DNS dan HTTP; mendukung protokol SOCKS; mendukung parent proxy; static DNS. 16. Routing : Routing statik dan dinamik; RIP v1/v2, OSPF v2, BGP v4. 17. SDSL : Mendukung Single Line DSL; mode pemutusan jalur koneksi dan jaringan. 18. Simple Tunnels : Tunnel IPIP dan EoIP (Ethernet over IP). 19. SNMP : Simple Network Monitoring Protocol mode access read-only. 20. Synchronous : V.35, V.24, E1/T1, X21, DS3 (T3) media ttypes; sync-PPP, Cisco HDLC; Frame Relay line protokol; ANSI-617d (ANDI atau annex D) dan Q933a (CCITT atau annex A); Frame Relay jenis LMI. 21. Tool : Ping, Traceroute; bandwidth test; ping flood; telnet; SSH; packet sniffer; dynamic DNS update. 22. UPnP : Mendukung antarmuka Universal Plug and Play. 23. VLAN : Mendukung Virtual LAN IEEE 802.1g untuk jaringan ethernet dan wireless; multiple VLAN; VLAN bridging. 24. VOIP : Mendukung aplikasi voice over IP.
47
25. VRRP : Mendukung Virtual Router Redudant Protocol 26. WinBox : Aplikasi mode GUI untuk meremote dan mengkonfigurasi MikroTik RouterOS. Namun dalam peng-load balancing-an nanti hanya beberapa fitur yang akan digunakan. 2. Winbox WinBox merupakan aplikasi yang mengubah “hitam putihnya” MikroTik menjadi mode GUI yang user friendly dibanding dengan router lainnya yang masih menggunakan console mode untuk meremote dan mengkonfigurasi MikroTik RoutersOSTM (Moch. Linto Herlambang & Azis Catur L, 2008: 35).
Gambar 2.8 Tampilan Winbox (sumber : Penulis) 3. Squid Squid merupakan mesin Caching Proxy untuk klien Web, seperti HTTP, HTTPS, FTP, dan layanan lainnya sejenis lainnya. Squid
mampu
menurunkan
konsumsi
bandwidth
sekaligus
mempercepat waktu respon. Squid memiliki setumpuk kendali akses
48
yang dapat mendongkrak kecepatan server. Squid menangani semua request melalui sebuah proses I/O tunggal. Squid bekerja menyimpan meta data, terutama pada objek yang sering diakses. Mereka dijaga (di-cache) dalam memori RAM. Squid juga mampu melayani lookup pada DNS (Rafiudin, 2008: 1)
2.9.3 Simulator Sistem Perangkat lunak simulator digunakan untuk mensimulasikan keadaan yang diinginkan dari konsep yang ada sebelumnya dilakukan pada keadaan sebenarnya. Penggunaan simulator bertujuan untuk meminimalisir kesalahan dan menghindari resiko yang idak diingkan. Perangkat simulator yang digunakan adalah 1. VMware Workstation 7.0 VMware merupakan software untuk virtual machine (mesin virtual). Fungsinya adalah untuk menjalankan banyak sistem operasi dalam satu perangkat keras dan untuk menjalankan aplikasi yang ditujukan untuk sistem operasi lainnya. Fungsi lainnya adalah untuk mempelajari suatu sistem operasi baik ketika
pada
proses pembelajaran
atau
ketika proses
pengembangan sistem operasi. VMWare merupakan software yang banyak digunakan untuk mengoptimalkan dan mengelola kinerja Teknologi Informasi melalui virtualisasi dari desktop ke data center. VMWare
49
pertama kali memperkenalkan teknologi virtualisasi pada komputer dengan platform x86 pada tahun 1999, dan sejak saat itu telah tersimpan lebih dari 100 ribu pelanggan dengan milyaran dolar untuk biaya operasi. Infrastruktur VMware secara abstrak berjalan pada sistem operasi dan Hardware. Menyediakan standarisasi virtual pada Hardware untuk sistem operasi dan aplikasinya yang memungkinkan untuk menjalankan virtual machine secara simultan dan berdiri sendiri pada satu atau lebih shared processor. Dengan virtualisasi, pengguna bisa dengan mudah menggabungkan server dengan beban kerja yang berbeda dalam satu Hardware dengan kinerja yang bisa diandalkan. 2. Microsoft Visio Professional 2007 Microsoft Visio adalah sebuah program aplikasi komputer yang sering digunakan untuk membuat diagram, diagram alir (flowchart), brainstorm, dan skema jaringan yang dirilis oleh Microsoft Corporation. Aplikasi ini menggunakan grafik vektor untuk membuat diagram-diagramnya. Visio 2007 Standard dan Professional menawarkan antarmuka pengguna yang sama. Tapi seri professional menawarkan lebih banyak pilihan template untuk pembuatan diagram yang lebih lanjut dan juga penataan letak (layout).
50
Selain itu, Professional juga memudahkan pengguna untuk mengkoneksikan diagram-diagram buatan mereka terhadap beberapa sumber data dan juga menampilkan informasi secara visual dengan menggunakan grafik.
2.10 Metode Pengembangan Sistem Penulis menggunakan model pengembangan sistem NDLC (Network Development Life Cycle). Kata "Cycle atau siklus" adalah istilah deskriptif kunci pengembangan jaringan siklus hidup seperti menggambarkan sifat terus-menerus pembangunan jaringan. Jaringan dirancang "dari awal" jelas harus dimulai di suatu tempat. siklus ini terdiri dari beberapa fase yaitu fase analisis (analysis), fase perancangan (design), fase simulasi prototipe (simulation prototyping), fase penerapan (implementation), fase pengawasan (monitoring), dan fase pengaturan (management). (Deris, 2009) Analysis
Management
Design
Monitoring
Simulation Prototyping Implementation
Gambar 2.9 Network Development Cycle (Sumber : Deris, 2009)
51
Model utama didalam proses perancangan jaringan disebut sebagai Network Development Life Cycle (NDLC). Dimana model ini terdiri dari beberapa fase yakni: 1.
Fase Analisis (Analysis) Tahap
awal
ini
dilakukan
analisa
kebutuhan,
analisa
permasalahan yang muncul, dan analisa topologi / jaringan yang sudah ada saat ini. Metode yang biasa digunakan pada tahap ini diantaranya ; a. Wawancara, dilakukan dengan pihak terkait yang melibatkan dari struktur manajemen atas sampai ke level bawah / operator agar mendapatkan data yang konkrit dan lengkap. Pada kasus di Computer Engineering biasanya juga melakukan brainstorming juga dari pihak vendor untuk solusi yang ditawarkan dari vendor tersebut karena setiap mempunyai karakteristik yang berbeda. b. Survey /observasi langsung kelapangan, pada tahap analisis juga biasanya dilakukan survey langsung kelapangan untuk mendapatkan hasil sesungguhnya dan gambaran seutuhnya sebelum masuk ke tahap design, survey biasa dilengkapi dengan alat ukur seperti GPS dan alat lain sesuai kebutuhan untuk mengetahui detail yang dilakukan. c. Membaca manual atau blueprint dokumentasi, pada analysis awal ini juga dilakukan dengan mencari informasi dari manual-manual atau blueprint dokumentasi yang mungkin pernah dibuat sebelumnya. Sudah menjadi keharusan dalam setiap pengembangan suatu sistem
52
dokumentasi menjadi pendukung akhir dari pengembangan tersebut, begitu juga pada project network, dokumentasi menjadi syarat mutlak setelah sistem selesai dibangun. d. Menelaah setiap data yang didapat dari data-data sebelumnya, maka perlu dilakukan analisa data tersebut untuk masuk ke tahap berikutnya. Adapun yang bisa menjadi pedoman dalam mencari data pada tahap analysis ini adalah ; 1. User / people : jumlah user, kegiatan yang sering dilakukan, peta politik yang ada, level teknis user. 2. Media H/W & S/W : peralatan yang ada, status jaringan, ketersedian data yang dapat diakses dari peralatan, aplikasi s/w yang digunakan 3. Data : jumlah pelanggan, jumlah inventaris sistem, sistem keamanan yang sudah ada dalam mengamankan data. 4. Network : konfigurasi jaringan, volume trafik jaringan, protocol, monitoring network yang ada saat ini, harapan dan rencana pengembangan kedepan. 5. Perencanaan fisik : masalah listrik, tata letak, ruang khusus, sistem
keamanan
yang
pengembangan kedepan.
ada,
dan
kemungkinan
akan
53
2.
Fase Perancangan (Design) Dari data-data yang didapatkan sebelumnya, tahap Design ini akan membuat gambar design topology jaringan interkoneksi yang akan dibangun, diharapkan dengan gambar ini akan memberikan gambaran seutuhnya dari kebutuhan yang ada. Design bisa berupa design struktur topology, design akses data, design tata layout perkabelan, dan sebagainya yang akan memberikan gambaran jelas tentang project yang akan dibangun. Biasanya hasil dari design berupa ; a. Gambar-gambar topology (server farm, firewall, datacenter, storages, lastmiles, perkabelan, titik akses dan sebagainya). b. Gambar-gambar detailed estimasi kebutuhan yang ada.
3.
Fase Simulasi Prototipe (Simulation Prototype) Beberapa networker’s akan membuat dalam bentuk simulasi dengan bantuan Tools khusus di bidang network seperti BOSON, PACKET TRACERT, NETSIM, dan sebagainya, hal ini dimaksudkan untuk melihat kinerja awal dari network yang akan dibangun dan sebagai bahan presentasi dan sharing dengan team work lainnya. Namun karena keterbatasan perangkat lunak simulasi ini, banyak para networker’s yang hanya menggunakan alat Bantu tools VISIO untuk membangun topology yang akan didesign.
54
4.
Fase Penerapan (Implementation) Di tahapan ini akan memakan waktu lebih lama dari tahapan sebelumnya. Dalam implementasi networker’s akan menerapkan semua yang telah direncanakan dan di design sebelumnya. Implementasi merupakan tahapan yang sangat menentukan dari berhasil / gagalnya project yang akan dibangun dan ditahap inilah Team Work akan diuji dilapangan untuk menyelesaikan masalah teknis dan non teknis. Ada beberapa Masalah-masalah yang sering muncul pada tahapan ini, diantaranya ; a. Jadwal yang tidak tepat karena faktor-faktor penghambat. b. Masalah dana / anggaran dan perubahan kebijakan. c. Team work yang tidak solid. d. Peralatan pendukung dari vendor. Sehingga dibutuhkan manajemen project dan manajemen resiko untuk menimalkan sekecil mungkin hambatan-hambatan yang ada.
5.
Fase Pengawasan (Monitoring) Setelah implementasi tahapan monitoring merupakan tahapan yang penting, agar jaringan komputer dan komunikasi dapat berjalan sesuai dengan keinginan dan tujuan awal dari user pada tahap awal analisis, maka perlu dilakukan kegiatan monitoring. Monitoring bisa berupa melakukan pengamatan pada :
55
a. Infrastruktur hardware : dengan mengamati kondisi reliability / kehandalan sistem yang telah dibangun (reliability = performance + availability + security). b. Memperhatikan jalannya packet data di jaringan ( pewaktuan, latency, peektime, troughput). c. Metode yang digunakan untuk mengamati ”kesehatan” jaringan dan komunikasi secara umum secara terpusat atau tersebar Pendekatan yang
paling
sering
dilakukan
adalah
pendekatan
Network
Management, dengan pendekatan ini banyak perangkat baik yang lokal dan tersebar dapat di monitor secara utuh.
6.
Fase Pengaturan (Management) Di manajemen atau pengaturan, salah satu yang menjadi perhatian khusus adalah masalah Policy, kebijakan perlu dibuat untuk membuat / mengatur agar sistem yang telah dibangun dan berjalan dengan baik dapat berlangsung lama dan unsur Reliability terjaga. Policy akan sangat tergantung dengan kebijakan level management dan strategi bisnis perusahaan tersebut. IT sebisa mungkin harus dapat mendukung atau alignment dengan strategi bisnis perusahaan.
56
2.11 Study Sejenis Dalam perbandingan dan sebagai acuan dalam pengembangan suatu sistem Load balancing dengan menggunakan PCC (Per Connection Classifier), maka perlu dilakukan pengamatan terhadap penelitian sejenis yang telah dilakukan sebelumnya. Dari hasil pengamatan penulis didapatkan beberapa penelitian sejenis diantaranya dengan Judul Implementasi Load Balancing Dengan Metode Per Connection Classifier (Pcc) Untuk Optimasi Penggunaan Aplikasi Real Time (Maulana Yusup, 2010) yang memiliki kelebihan sistem dapat melakukan optimasi dalam penggunaan aplikasi real time seperti game online. Aplikasi ini juga memiliki kelemahan yaitu tidak adanya manajemen terhadap bandwidth yang masuk dari ISP yang menyebabkan semakin banyak client yang masuk ke dalam lingkungan jaringan maka kinerja load balancing tersebut tidak akan optimal dan belum adanya Proxy server yang berguna untuk caching setiap web yang telah dikunjungi lebih dari satu kali dan penghematan bandwidth. Pada Sistem Koneksi Internet Ganda Dengan Load Balancing Menggunakan Unix Mikrotik Pada Pt. Marina Buana Asia (Alam Dari Hendarto, Hendarsyah Febryan, Dimas Ganjar Romadhan. 2008) yang memiliki kelebihan sistem ini menggunakan metode Routing Static yang dapat memisahkan jalur koneksi internet antara jalur koneksi international dan jalur koneksi lokal. Sistem ini juga memiliki kelemahan yaitu penggunaan mangle terhadap 2 ISP kurang maksimal sehingga koneksi berjalan tidak stabil.
57
Pada Aplikasi Membuat Proxy Server Berbasis Mikrotik Di Smk Negeri 1 Baureno (Puspita Sari. 2009) aplikasi ini mempunyai kelebihan yaitu mampu sebagai penyimpanan cache dan nantinya setiap client yang mencari alamat yang sudah di buka maka secara otomatis proxy server sudah menyediakan, maka browsing internet lebih ringan. Aplikasi ini juga mempunyai kelemahan yaitu belum melakukan cache terhadap video untuk media pembelajaran.
BAB III METODOLOGI PENELITIAN
3.1
Metodologi Pengumpulan Data Pengumpulan data merupakan tahapan penting dalam proses riset, karena dengan mendapatkan data yang tepat maka riset akan berlangsung sesuai dengan perumusan masalah yang sudah ditentukan. Metodologi pengumpulan data yang digunakan adalah studi pustaka, studi sejenis, wawancara dan observasi. 3.1.1
Studi Pustaka Metodologi ini dilakukan dengan mempelajari teori-teori yang terkait dengan penelitian yang dapat mendukung pemecahan masalah penelitian. Pencarian referensi dilakukan di perpustakaan, toko buku, maupun secara online melalui internet. Pustaka-pustaka yang dijadikan acuan dapat dilihat di Daftar Pustaka.
3.1.2
Studi Sejenis Pada tahap ini akan diadakan studi sejenis tentang implementasi Load Balancing Dengan Metode Per Connection Classifier (PCC) Menggunakan Proxy Server Sebagai Caching. Studi sejenis yang digunakan dapat berupa skripsi, jurnal, artikel ilmiah, maupun dari studi kasus yang pernah ada. Dibawah ini beberapa penelitian yang pernah ada sebagai bahan perbandingan penelitian penulis.
58
59
Tabel 3.1 Studi Sejenis Nama Penulis Maulana Yusup UIN Syarif Hidayatullah 2010
Judul Karya Tulis Implementasi Load Balancing Dengan Metode Per Connection Classifier (Pcc) Untuk Optimasi Penggunaan Aplikasi Real Time Alam Dari Hendarto, Koneksi Internet Ganda Dengan Load Hendarsyah Balancing Febryan, Menggunakan Unix Dimas Ganjar Mikrotik Pada Pt. Romadhan Binus Marina Buana Asia 2008
Puspita Sari Universitas Muhammadiyah 2009
3.1.3
Membuat Proxy Server Berbasis Mikrotik Di Smk Negeri 1 Baureno
Kelebihan Sistem dapat melakukan optimasi dalam penggunaan aplikasi real time seperti game online
Kekurangan Belum adanya manajemen bandwidth dan Proxy Server
Menggunakan metode Routing Static yang dapat memisahkan jalur koneksi internet antara jalur koneksi international dan jalur koneksi lokal.
Sistem ini juga memiliki kelemahan yaitu penggunaan mangle terhadap 2 ISP kurang maksimal sehingga koneksi berjalan tidak stabil.
Mampu sebagai penyimpanan cache dan nantinya setiap client yang mencari alamat yang sudah di buka maka secara otomatis proxy server sudah menyediakan, maka browsing internet lebih ringan.
Belum melakukan cache terhadap video untuk media pembelajaran.
Wawancara Penulis melakukan pertemuan dan wawancara kepada pihak-pihak yang nantinya akan berhubungan dengan sistem ini. Pihak-pihak yang dimaksud adalah 1 (satu) orang staf laboran computer yang akan berfungsi sebagai admin dari sistem ini, yaitu
60
Bapak Arpan S.Pdi dan 2 (dua) orang guru Mts. An-Nizhamiyyah sebagai pengguna sistem ini. Hasil wawancara akan disajikan pada bagian Lampiran 1. 3.1.4
Observasi Observasi dilakukan di MTs. An-Nizhamiyyah Cileungsi Kabupaten Bogor. Dengan tujuan untuk memperoleh informasi mengenai jaringan Internet yang sudah ada sebelumnya dan data kebutuhan
yang
diperlukan
berkaitan
dengan
manajemen
jaringannya. Surat keterangan penelitian dapat dilihat pada bagian Lampiran 2.
3.2
Metodologi Pengembangan Sistem Metode pengembangan sistem yang digunakan penulis adalah Network Development Life Cycle (NDLC). Secara spesifik NDLC dan kegiatan yang dilakukan penulis dalam penelitian ini akan dijelaskan sebagai berikut: 3.2.1
Analisis (Analysis) Tahap analisis merupakan tahap penelitian jaringan Internet MTs. An - Nizhamiyyah dengan cara wawancara, observasi, dan studi pustaka dalam hal yang berkaitan dengan jaringan Internet. Dalam kegiatan analisis ini penulis mengumpulkan data serta tujuan yang akan dicapai berkaitan dengan kegiatan analisis diantaranya, yaitu:
61
1.
Analisa Sistem yang Berjalan Pada tahap ini penulis melakukan analisis terhadap sistem jaringan internet yang sedang berjalan pada MTs. An Nizhamiyyah hal ini dapat dilihat pada sub bab 4.2.1
2.
Identifikasi Masalah Berdasarkan pada tahapan analisa sistem yang sedang berjalan bahwa kinerja jaringan load balancing merupakan sesuatu yang penting untuk mendukung dalam belajar mengajar di MTs. An – Nizhamiyyah. Hal ini dapat di lihat pada sub bab 4.2.2
3.
Analisa Teknologi yang Digunakan Tahap ini bertujuan untuk pemilihan pengunaan ISP (Internet Service Provider) yang stabil dalam penggunaan sistem load balancing. Hal ini dapat di lihat pada sub bab 4.2.3
4.
Analisis Kebutuhan Tujuannya untuk mengetahui keuntungan dan kekurangan dalam melakukan perancangan load balancing pada lokasi perancangan. Hal ini dapat di lihat pada sub bab 4.2.4 a.
Perangkat Keras (Hardware) yang Digunakan Tujuannya untuk menganalisis peralatan apa saja yang akan digunakan dalam melakukan perancangan load balancing sehingga memberikan hasil yang optimal.
62
b. Perangkat Lunak (Software) yang Digunakan Tujuannya untuk menganalisis perangkat lunak apa saja yang akan digunakan dalam melakukan penelitian ini sehingga diketahui dan dipahami fungsi dari tiap-tiap perangkat lunak yang digunakan.
5.
Analisis User Tujuannya untuk mengetahui kegiatan yang sering dilakukan user dalam menggunakan Internet, beberapa tugas administrator dan kapasitas seorang pengguna dalam jaringan Internet di MTs. An-Nizhamiyyah. Hal ini dapat dilihat pada sub bab 4.2.5 Dari analisis yang dilakukan oleh penulis bisa menemukan
permasalahan yang dihadapi dan memberikan solusi dalam melakukan perancangan load balancing dengan proxy. Sehingga bisa memberikan hasil yang optimal dan memberikan masukan kepada MTs. An -Nizhammiyah.
3.2.2
Perancangan (Design) Tahap perancangan merupakan tahapan yang bertujuan untuk mengatasi permasalahan yang ada. Dari data-data yang didapatkan dari tahap analisis, penulis merancang struktur jaringan menggunakan tools Microsoft Visio untuk merancang layout
63
topologi komponen sistem jaringan. Dalam hal ini penulis melakukan
perancangan fisik
berupa
gambaran
kebutuhan
peralatan jaringan dan perancangan logic berupa addressing, traffic manajemen, dan proxy. Hal ini dapat di lihat pada sub bab 4.3
3.2.3
Simulasi Prototipe (Simulation Prototype) Sebelum melakukan tahap implementasi secara utuh penulis melakukan tahap simulasi atau uji coba terhadap sistem yang telah dirancang, Pada tahap ini pembuatan prototype dengan membangun sistem jaringan komputer dengan teknik load balancing dan proxy sebagai caching dalam lingkungan virtual menggunakan perangkat lunak simulator VM Ware Versi 7. Simulasi yang penulis melakukan uji coba addressing, traffic management, security dan proxy caching. Penjelasan dari tahapan ini dapat dilihat pada sub bab 4.4
3.2.4
Penerapan (Implementation) Dalam tahap penerapan atau implementasi penulis akan mengimplementasikan spesifikasi hasil perancangan dan simulasi jaringan load balancing dengan metode per connection classifier menggunakan proxy server sebagai caching, berupa implemenatasi topologi fisik jaringan dan implementasi client dalam jaringan lab MTs. An-Nizhamiyah.
64
3.2.5
Pengawasan (Monitoring) Pada tahap ini penulis melakukan monitoring pada server Mikrotik dengan menggunakan software winbox dan untuk monitoring pada server Proxy menggunakan Putty remote. Monitoring dilakukan sebagai tolak ukur kinerja sistem yang telah dirancang. Aktifitas pada fase ini terdiri dari pengujian koneksi jaringan load balancing dengan cara monitor lalu lintas data dengan membuat grafik dan meng-capture untuk mengukur parameter. Kemudian membandingkan dengan sistem sebelum dan sesudah implementasi secara umum. Hal ini dapat di lihat pada sub bab 4.6
3.2.6
Pengaturan (Management) Tahap manajemen atau pengaturan adalah tahap dimana kebijakan perlu dibuat untuk membuat/mengatur agar sistem yang telah dibangun dapat berjalan dengan baik dan berlangsung lama serta unsur Reliability terjaga. Pada tahap ini seorang Admin mempunyai otoritas penuh dalam melakukan modifikasi baik pada struktur jaringan Internet ataupun pada sistem yang telah ada. Hal ini dapat di lihat pada sub bab 4.7
65
3.3
Alur Kerja Penelitian
Gambar 3.1 Alur Kerja
BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1
Sekilas Tentang Madrasah Tsanawiyah An-Nizhamiyyah Cileungsi 4.1.1. Profile Madrasah Nama Sekolah/Madrasah
: Madrasah Tsanawiyah An-Nizhamiyyah
Nomor Statistik Madrasah
: 21.2.32.03.13.068
Alamat
: Jalan Pahlawan No. 8 Rt.03 /06 Ds. Cileungsi Kec. Cileungsi Kab. Bogor Propinsi Jawa Barat
Kode Pos
: 16820
Telp./ Fax.
: (021) 823 4475 / -
Status Sekolah
: Swasta
Akreditasi
: Terakreditasi B
Penerbit SK
: Kepala Kantor Wilayah Departemen Agama Propinsi Jawa Barat
Surat Keputusan
: Nomor : Kw.10.4/4/PP.00.5/1302/2006 Tanggal 27 Maret 2006
Tahun Berdiri
: 1964
Kegiatan Belajar Mengajar
: Pagi Hari
Kurikulum yang digunakan : Inovasi1994/KBK/KTSP Organisasi Penyelenggara
: Yayasan Perguruan Islam An-Nizhamiyyah
4.1.2. Visi dan Misi 1. Visi Membina pribadi muslim yang bertaqwa kepada Allah SWT. dengan memiliki : Iman, ilmu, akhlak mulia, kecerdasan, keterampilan guna mencapai kesejahteraan dunia dan akhirat dalam ridho Allah SWT.
66
67
2. Misi Sesuai visi yang sudah disebutkan, maka misi MTs. AnNizhamiyyah ialah sebagai berikut : a. Meningkatkan kualitas pendidikan dan pengajaran b. Meningkatkan profesinalisme tenaga pendidik dan kependidikan c. Memberdayakan
peserta
didik
dalam
belajar, beribadah,
berakhlaq, berkreatif dan berkarya. d. Memberdayakan pengajaran
sarana
dan
prasarana
pendidikan
dan
agar lebih tertib,bersih, indah, kondusif dan
manusiawi e. Meningkatkan
tenaga
pendidik
dan
kependidikan
dalam
pelayanan terhadap peserta didik dan masyarakat f. Memperkokoh hubungan persaudaraan ‘ukhuwah islamiyah‘ pada semua tenaga pedidik, peserta didik dan masyarakat.
4.1.3. Strategi dan tujuan Madrasah Tsanawiyah An-Nizhamiyyah Strategi yang digunakan untuk memperoleh konsistensi pada visi dan misi Mts. An-Nizhamiyyah yang telah ditetapkan maka harus didukung oleh ; 1. Peraturan yang mantap 2. Penataan yang akurat 3. Kekompakan dan sinkronisasi dalam organisasi 4. Pendanaan yang cukup. Dengan tujuan yaitu Membina pribadi muslim yang bertaqwa kepada Allah SWT, dengan memiliki Iman, Ilmu dan amal guna mencapai keridhoan Allah SWT.
68
4.1.4. Struktur Organisasi Madarasah
YAYASAN
KEPALA MADRASAH Drs. Uyun Robaniyun
Wakabid. Kurikulum Udin Khairudin, S.Ag
Wakabid. Kesiswaan Dani Sarbinih, S.Ag
Komite Sekolah/Madrasah
Wakabid. BP/BK Daday Hidayat S.Ag.
Wakabid. Sarana/Pras H. Aos Sutarya F.
WALI KELAS/GURU
OSIS
SISWA/PESERTA DIDIK
Gambar 4.1 Struktur Organisasi Madrasah Ket :
__________
: Garis Komando
-----------------
: Garis Koordinasi
Dalam hal ini penulis melakukan penelitian di bagian sarana dan prasarana.
4.1.5. Struktur Kurikulum dan Alokasi Waktu Struktur kurikulum MTs. An-Nizhamiyyah Cileungsi disusun berdasarkan pada substansi pembelajaran yang ditempuh dalam satu jenjang pendidikan selama 3 tahun mulai kelas VII
69
sampai dengan kelas IX. Struktur kurikulum disusun berdasarkan standar kompetensi lulusan dan Standar Kompetensi Mata Pelajaran. Struktur kurikulum MTs. An-Nizhamiyyah Cileungsi memuat 14 mata pelajaran, 3 muatan lokal yang pelaksanaanya seperti tertera pada tabel di bawah ini. Tabel 4.1 Struktur Kurikulum MTs. An-Nizhamiyyah Cileungsi Kelas dan Alokasi Waktu Komponen VII VIII IX A. Mata Pelajaran 1.
Qur’an Hadist
2
2
2
2. Aqidah Akhlak
2
2
2
3. Fiqih
4
4
4
4. SKI
2
2
2
5. Pendidikan Kewarganegaraan
2
2
2
6. Bahasa Indonesia
4
4
4
7. Bahasa Arab
4
4
4
8. Bahasa Inggris
4
4
4
9. Matematika
4
4
4
10. IPA
2
2
2
11. IPS
4
4
4
12. Seni Budaya
2
2
2
13. Penjaskes
2
2
2
14. TIK
2
2
2
70
B. Muatan Lokal 1. Bahasa Sunda
2
2
2
2. Baca Tulis Al-qur’an
2
2
2
3. PLH
2
2
2
2
2
2
46
46
46
C. Pengembangan Diri Jumlah
4.2.
Tahap Analisis Metode pengembangan sistem yang penulis gunakan, berpedoman pada Network Development Life Cycle (NDLC), maka tahap analisis merupakan tahap pertama kali yang penulis lakukan. Pada tahap ini penulis melakukan beberapa kegiatan diantaranya berupa; analisa sistem yang berjalan, indentifikasi masalah, analisa teknologi yang digunakan, analisa kebutuhan software dan hardware serta analisa user. Kegiatan tersebut dilakukan penulis melalui observasi, wawancara, dan studi pustaka dalam hal yang berkaitan dengan jaringan internet di MTs. An – Nizhamiyyah. Hasil yang dicapai penulis pada tahap analisis adalah: 1.
Mengetahui sistem yang sedang berjalan di MTs.An–Nizhamiyyah.
2.
Mengetahui keunggulan dan kelemahan teknologi kabel modem yang dipakai jaringan lab komputer MTs. An-Nizhamiyah untuk mengakses Internet dari ISP yang digunakan.
71
3.
Memilih teknologi nirkabel (wireless) untuk mendistribusikan sinyal Internet ke client jaringan internet MTs. An-Nizhamiyyah.
4.
Mengidentifikasi hardware dan software yang dibutuhkan dalam membangun jaringan Load Balancing dan Proxy di MTs.An– Nizhamiyyah.
5.
Mengetahui kegiatan yang biasa dilakukan user dalam ber-Internet.
6.
Mengetahui tugas dan kapasitas seseorang dalam jaringan internet.
4.2.1 Analisis Sistem yang berjalan Laboratorium MTs. An-Nizhamiyyah menggunakan jaringan LAN dengan topologi star dengan koneksi internet menggunakan ADSL modem. Alur kerja sistem yang berjalan pada laboratorium komputer MTs. An-Nizhamiyyah.
Gambar 4.2 Sistem yang sedang berjalan
72
4.2.2 Identifikasi Masalah Berdasarkan uraian singkat dan skema sistem yang sedang berjalan, maka dapat diidentifikasikan kelemahan-kelemahan dari sistem yang sedang berjalan ini, yaitu : a. Untuk akses internet, lab komputer Mts. An-nizhamiyah masih menggunakan 1 koneksi. b. Belum menggunakan proxy, mengakibatkan akses internet lebih lambat. c. Akses internet hanya dapat digunakan pada jaringan LAN. d. Belum adanya pengaturan bandwidth pada setiap client.
4.2.3 Analisa teknologi yang digunakan Hal pertama yang dilakukan Mts. An - Nizhamiyyah dalam membangun load balancing adalah mencari ISP (Internet Service Provider) yang bersedia untuk menyediakan langganan. ISP (Internet Service
Provider)
adalah
perusahaan
atau
badan
yang
menyelenggarakan jasa sambungan Internet dan jasa lainnya yang berhubungan. ISP yang dipilih tidaklah terlalu jauh sehingga solusi yang coba dijalankan tidak terlalu sulit dan biayanya tidak terlalu mahal. Selanjutnya penulis mencoba membandingkan beberapa alternatif teknis yang dapat digunakan dalam membangun load balancing untuk melihat keuntungan dan kerugian masing-masing teknologi yang ditawarkan dari ISP dan biaya paket pada setiap ISP .
73
1.
Asymmetric Digital Subscriber Line (ADSL) ADSL adalah teknlogi yang memungkinkan data kecepatan tinggi dikirim melalui kabel telepon. ADSL memungkinkan untuk menerima data sampai kecepatan 1.5-9 Mbps (kecepatan downstream) dan mengirim data pada kecepatan 16-640 Kbps (kecepatan upstream). Keuntungan ADSL: a. Dapat tersambung ke Internet, dan tetap dapat menggunakan telepon untuk menerima / menelepon. b. Kecepatan jauh lebih tinggi dari modem biasa. c. Tidak perlu kabel telepon baru, ADSL memungkinkan menggunakan kabel telepon yang ada. d. Beberapa ISP ADSL akan memberikan modem ADSL sebagai bagian dari instalasi. Kerugian ADSL: a. Sambungan ADSL bekerja dengan sempurna jika lokasi cukup dekat dengan sentral telepon. b. Sambungan ADSL lebih cepat untuk menerima data daripada mengirim data melalui Internet c. Kabel tembaga tua dapat menurunkan kualitas sambungan dan menurunkan kecepatan. d. Jasa ADSL tidak ada di wilayah yang tidak ada kabel telepon
74
Tabel 4.2 Daftar beberapa ISP ADSL (Sumber : telkomspeedy.com/paket-harga) ISP
Speedy
Paket
Limited
Unlimited Indo Net
Unlimited
CBN
ADSL
Pasific
PInter
1 mbps 1 mbps 1 mbps 1 mbps 1 mbps 384 kbps
Registra si (Rp. x 1000) 75 75 75 75 75 75
Registrasi Telkom (Rp. x 1000) 75
Biaya Bulanan (Rp. x 1000) 200 200 400 750 1.750 1.000
Unlimited
384 kbps
75
75
500
-
Unlimited
384 kbps
75
75
4.500
-
Bisnis
Unlimited
384 kbps
75
75
2.000
-
500 1000 2000 SOHO Heavy
500 MB 1000 MB 2000 MB Unlimited 2 GB
300 300 300 300 200
75 75 75 75 75
350 500 800 2.000 400
600/MB 600/MB 600/MB 600/MB 600/MB
Small
unlimited
500
75
1.000
600/MB
Medium
unlimited
500
75
2.500
600/MB
Large
unlimited
384 kbps 384 kbps 384 kbps 384 kbps 64/384 kbps 64/128 kbps 64/256 kbps 64/384 kbps
500
75
3.500
600/MB
Personal Timebased Profesional Office Warnet Personal office Personal Home Premium
Quota
Band width
1000MB 50 Jam 3000MB Unlimited Unlimited Unlimited
Over Quota (Rp.) 500/MB 25/menit 500/MB -
2. Modem USB Modem USB merupakan salah satu alternatif selain modem ADSL. Modem USB ini memanfaatkan operator seluler yang sudah berlangganan. Disini pelanggan hanya perlu membeli Modem USB lalu dari modem itu disambung langsung ke Komputer melalui USB atau Ethernet Keuntungan Modem USB : a.
Mobilitas untuk menggunakan internet
b.
Kecepatan tinggi dan relatif murah
75
c.
Perangkatnya Murah
Kerugian Modem USB : a. Kecepatan koneksinya yang sangat bergantung kepada besarkecilnya sinyal dari operator. b. Karena mengguankan metode sharing bandwidth, maka kecepatannya tidak stabil. Tabel 4.3 Daftar beberapa ISP Modem USB (Sumber : Smartfren.com/data) ISP
Smart
Three (3)
Paket
Speed
Penggunaan
Quota
Premium
384 kbps
Harian
Harian
Biaya (Rp) 5000
Premium
384 kbps
Mingguan
Mingguan
30.000
Premium
384 kbps
Bulanan
Unlimited
90.000
Reguler
153 kbps
Bulanan
Unlimited
45.000
Three 500mb
384 kbps
Bulanan
35.000
Three 1Gb
384 kbps
Bulanan
Three 2 GB
384 Kbps
Bulanan
Three 5 Gb
384 Kbps
Bulanan
(Unlimited / 500 Mb) (Unlimited / 1 Gb)/ (Unlimited / 2 Gb) (Unlimited / 5 Gb)
50.000 75.000 125.000
Berdasarkan analisa kebutuhan teknologi yang penulis lakukan, jadi investasi yang paling murah adalah memilih teknologi yang menggunakan kabel modem. ISP yang dipilih yaitu Speedy 384 dan Smart Premium 384 Kbps bulanan, alasannya sebagai berikut: a. Sudah digunakannya jaringan ISP speedy jadi hanya tinggal menambahkan ISP yang lain. b. Tidak menambahkan Upgrade Bandwidth ISP speedy karena Biaya tidak terjangkau.
76
c. Karena letak operator Smart sangat baik sinyalnya di tempat penelitian. d. Akses yang diberikan unlimited selama 1 bulan. e. Biaya perbulannya pun ringan, sehingga disisi Sekolah tidak terlalu memberatkan untuk membayar.
3. Distribusi sinyal ke Client menggunakan Teknologi Nirkabel (Wireless) Pada jaringan internet Mts.An-Nizhamiyyah sinyal Internet didistribusikan ke client melalui media kabel (LAN) dan media nirkabel (WLAN). Konfigurasi yang digunakan menggunakan access point (AP) yang berfungsi sebagai hub di jaringan wireless. Access point (AP) tersambung ke jaringan LAN & Internet melalui kabel UTP/LAN yang tersedia di belakang access point (AP).
4.2.4 Analisa kebutuhan Setelah kebutuhan teknologi terpenuhi melalui observasi dan wawancara selanjutnya penulis melakukan analisa kebutuhan hardware dan software apa saja yang diperlukan untuk membangun jaringan load balancing di MTs. An – Nizhamiyyah. 1. Perangkat keras yang digunakan (Hardware) Berikut ini hardware yang di perlukan di MTs. An – Nizhamiyyah untuk membangun jaringan. Diantaranya :
77
a. PC server Tabel 4.4 dibawah ini merupakan spesifikasi PC server yang digunakan MTs. An–Nizhamiyyah. Perangkat keras ini digunakan untuk membuat proxy server. Tabel 4.4 Perangkat Keras PC Server No 1. 2. 4. 5. 6. 7. 8. 9. 10.
Perangkat Processor Motherboard Memory fisik Harddisk Monitor Keyboard dan Mouse VGA Power Supply Unit Network Interface Card
Keterangan Kecepatan 1.0 GHz Compatible dengan processor 512 Mb RAM 80 Gb 14 Inch (1024 x 768 pixel) PS/2 64 Mb 220 W Transmisi Data 10/100/1000 Mbps
b. PC Router PC Router ini berfungsi sebagai load balancing di MTs. An–Nizhamiyyah. Tabel 4.5 di bawah ini merupakan spesifikasi PC Router yang digunakan. Tabel 4.5 Perangkat Keras Router No 1. 2. 4. 5. 6. 7. 8. 9. 10. 11.
Perangkat Processor Motherboard Memory fisik Harddisk VGA Power Supply Unit Network Interface Card Network Interface Card Network Interface Card Network Interface Card
Keterangan Kecepatan 800MHz Compatible dengan processor 256 Mb RAM 8 Gb Onboard 16Mb 220 W Transmisi Data 10/100/1000 Mbps Transmisi Data 10/100/1000 Mbps Transmisi Data 10/100/1000 Mbps Transmisi Data 10/100/1000 Mbps
78
c. Modem ADSL
Gambar 4.3 Modem ADSL (Sumber : esbiwan.blogspot.com) Modem
ADSL
(Asymetric
Digital
Subscribe
Line)
merupakan perangkat yang menggunakan telepon analog secara digunakan bersama untuk koneksi internet. d. Modem USB 3G
Gambar 4.4 Modem 3G (Sumber : maycintaku.wordpress.com) Modem Usb 3G ini berfungsi sebagai koneksi internet melalui Interface usb. e. Switch
Gambar 4.5 Switch (Sumber : Ciptagemindo.com) Switch berfungsi sebagai penghubung antar komputer.
79
f. Wireless Access point
Gambar 4.6 Modem 3G Router (Sumber : komputercenter.com) Berfungsi sebagai penyebar jaringan melalui media wireless dan menghubungkan dengan koneksi modem 3G g. Perangkat keras (Hardware) lainnya, yaitu kabel UTP, RJ 45, dan Tang crimping.
2. Perangkat lunak yang digunakan (Software) Penulis menggunakan beberapa perangkat lunak untuk membantu penulis dalam penelitian ini. Perangkat lunak (software) yang akan digunakan adalah sebagai berikut : a. Mikrotik Router OS Merupakan sistem operasi yang diperuntukkan sebagai Router jaringan. Sistem operasi ini menawarkan solusi murah untuk membangun sebuah Router karena instalasinya dapat dilakukan pada komputer standar (PC). PC yang akan dijadikan Router Mikrotik pun tidak memerlukan resource yang cukup besar.
80
b. Ubuntu server 10.10 Salah satu distribusi linux turunan dari distro Debian yang berguna sebagai Router dan juga sebagai proxy yang berfungsi menyimpan caching dalam melakukan akses internet sehingga alamat situs yang di akses jauh lebih cepat. c. Winbox Digunakan untuk mengkonfigurasi Mikrotik Router Board. d. Putty Remote Digunakan untuk mengkonfigurasi Ubuntu Server. e. Bandwidth Monitor Digunakan untuk memonitoring bandwidth yang dipakai. f. Lusca/squid Software pendukung di ubuntu server untuk membuat proxy. g. Microsoft window XP SP2 Sebagai Sistem operasi client.
4.2.5 Analisis User Dalam kehidupan sehari-hari banyak kegiatan yang dilakukan oleh user dalam menggunakan Internet. Menurut Aji Supriyanto (2005: 337) Internet berkembang sangat pesat karena berbagai macam fasilitas yang ada didalamnya. Berdasarkan wawancara yang penulis lakukan, berikut beberapa fasilitas-fasilitas Internet yang sering dimanfaatkan user beserta tujuannya, yaitu:
81
1.
Sebagai media melakukan transfer file: untuk melakukan akses pada server lain yang jaraknya jauh. Fasilitas ini dapat digunakan untuk melakukan pengambilan dan penyimpanan arsip file secara elektronik.
2.
Sebagai sarana mengirim surat (e-mail): surat yang dikirim atau yang diterima melalui jaringan Internet.
3.
Sebagai pusat pembelajaran dan pendidikan: Internet sangat kaya akan informasi tentang ilmu pengetahuan, teknologi dan informasi lainnya,
sehingga
Internet
sangat
terkenal
pula
sebagai
perpustakaan digital (digital library). 4.
Melakukan mailing list, newsgroup dan konferensi: digunakan untuk melakukan diskusi on-line dalam sebuah forum tertentu untuk membahas permasalahan tertentu.
5.
Chatting: sarana Internet yang digunakan untuk komunikasi langsung dengan melalui tulisan atau kata-kata.
6.
Mesin Pencari (Search Engine): fasilitas yang disediakan oleh situs tertentu untuk mempermudah pencarian atau pelacakan informasi yang dibutuhkan secara cepat.
7.
Sarana entertainment dan permainan: dengan menggunakan Internet kita bisa bermain games secara on-line, banyak fasilitas permainan yang menarik bisa digunakan.
82
Gambar 4.7 Website yang sering dikunjungi Keterangan : a. Deik.com : 8 Orang b. Facebook.com : 12 Orang c. Youtube.com : 7 Orang d. Kaskus.us : 3 Orang e. Yahoo.com : 9 Orang f.
Lainnya : 6 Orang Pada jaringan internet Mts. An-Nizhamiyyah ada beberapa
tugas dan kapasitas seseorang dalam jaringan Internet tersebut: 1.
Administrator, yang memiliki tugas dan kapasitas untuk: a.
Membuat, merubah dan menghapus, baik user id dan password.
b.
Membuat dan memberi input Access Point.
c.
Memonitor aktivitas jaringan dan server untuk melihat kondisi jaringan berjalan baik atau tidak.
d.
Mengecek user yang sedang aktif setiap harinya.
83
e.
Melihat traffic yang terjadi pada jaringan, apakah terjadi pembebanan pada jaringan.
f.
Melakukan back-up settingan server minimal seminggu sekali.
2.
Client, yang memiliki tugas dan kapasitas untuk: a.
Meminta akses ke jaringan.
b.
Mengisi
username
dan
password
yang
diberikan
administrator untuk bisa menggunakan internet.
4.3.
Tahap Perancangan (Design) Tahap analisis menghasilkan rincian spesifikasi kebutuhan dan sistem yang akan dibangun yaitu jaringan load balancing dengan metode pcc dan proxy sebagai caching. 4.3.1. Perancangan Fisik Jaringan Pada tahapan ini, penulis menggunakan jenis jaringan Local Area Network. Berikut ini gambaran topologi jaringan MTs. AnNizhamiyah :
84
Ruangan Laboratorium Ruang Kepala Sekolah
IP 192.168.0.25 Gateway 192.168.0.1 Dns Server 192.168.0.1 Access Point
IP 192.168.0.10 – 192.168.0.20 Gateway 192.168.0.1 Dns Server 192.168.0.1
Ruang Wakabid
Wakabid siswa 192.168.0.30
Router Mikrotik 192.168.0.1
Wakabid BK/BP 192.168.0.31
ISP 1 (Speedy)
Gateway 192.168.0.1 Dns Server 192.168.0.1
Proxy IP 192.168.2.3 Gateway 192.168.0.1 DNS Server 192.168.0.1
Wakabid Kurikulum 192.168.0.32
Ruangan TU Ruang Guru
ISP 2
IP 192.168.0.60 Gateway 192.168.0.1 Dns Server 192.168.0.1 192.168.0.51 192.168.0.52 192.168.0.53
192.168.0.54 192.168.0.55 192.168.0.56 192.168.0.57
Gateway 192.168.0.1 DNS Server 192.168.0.1
Gambar 4.8 Topologi Jaringan (Sumber : Diolah oleh Penulis)
4.3.2. Perancangan Logic Jaringan Berikut ini gambaran rancangan IP Address jaringan MTs. An-Nizhamiyah : Tabel 4.6 Tabel IP Address
Server
Perangkat
Interface
IP Address
Gateway
Mikrotik
(Local)
192.168.0.1
192.168.0.1
ISP 1
192.168.1.1
192.168.1.10
ISP 2
192.168.2.1
192.168.2.2
Proxy
192.168.10.1
192.168.10.2
Router Proxy
85
Switch
Client LAN (Lab. Komputer)
Client WLAN (Ruang Guru)
Client 1
Ethernet
192.168.0.10
192.168.0.1
Client 2
Ethernet
192.168.0.11
192.168.0.1
Client 3
Ethernet
192.168.0.12
192.168.0.1
Client 4
Ethernet
192.168.0.13
192.168.0.1
Client 5
Ethernet
192.168.0.14
192.168.0.1
Client 6
Ethernet
192.168.0.15
192.168.0.1
Client 7
Ethernet
192.168.0.16
192.168.0.1
Client 8
Ethernet
192.168.0.17
192.168.0.1
Client 9
Wireless
192.168.0.101
192.168.0.1
Client 10
Wireless
192.168.0.102
192.168.0.1
Client 11
Wireless
192.168.0.103
192.168.0.1
Client 12
Wireless
192.168.0.104
192.168.0.1
Client 13
Wireless
192.168.0.111
192.168.0.1
Terdapat 4 Interface yang ada pada sisi Router yaitu dengan penjelasan sebagai berikut : 1. Interface Local : merupakan Interface yang terkoneksi dengan jaringan local yang akan menghubungkan client dengan Router yang ber IP 192.168.0.1 2. Interface ISP 1 : merupakan Interface yang terkoneksi dengan jaringan yang menuju ke gateway ISP 1 yang ber IP 192.168.1.10 3. Interface ISP 2: merupakan Interface yang terkoneksi dengan jaringan yang menuju ke gateway ISP 2 yang ber IP 192.168.2.2
86
4. Interface Proxy Merupakan Interface yang terkoneksi dengan jaringan menuju ke gateway yang ber IP 192.168.10.2 Alur proses pengiriman paket pada load balancing metode PCC menggunakan Proxy, yaitu : 1. Sistem terdiri dari 4 kelompok jaringan yaitu kelompok jaringan antar local dan Router, kelompok jaringan antara Router dan ISP 1, kelompok jaringan antara Router dan ISP 2 dan kelompok jaringan antara Router dan Proxy 2. Sistem akan memproses semua data dari client yang menuju ke akses internet pada sisi Router dimana akan terjadinya proses mangle dan proses routing paket yang akan diarahkan ke Proxy dari ISP 1 dan ISP 2. Seperti digambarkan pada gambar berikut :
87
Gambar 4.9 Proses Sistem (Sumber : Diolah oleh Penulis) 3. Paket data yang masuk ke Router seperti paket request client, paket suara dan video streaming akan di marking pada tahapan mangle, kemudian metode PCC akan menghashing informasi dari IP header sesuai dengan ketentuan dan hasilnya akan dibandingkan dengan hasil yang ada pada interger reminder. Setelah dibandingkan maka akan ditentukan marking paket untuk paket data tersebut. 4. Pada tahapan Proxy, data yang masuk ke Router seperti request client akan melewati proxy dan di simpan sebagai cache.
88
5. Pada tahapan routing, paket data akan dilewatkan sesuai dengan marking paketnya. Rule routing akan membaca marking dari paket data yang berasal dari proses mangle dan rule routing akan menspesifikasikan gateway ISP mana yang harus dilewati paket sesuai dengan marking yang ada pada paket data.
4.4.
Simulasi Prototipe (Simulation Prototype) Pada tahap ini dilakukan simulasi atau uji coba dari sistem yang dibangun dan diimplementasikan pada jaringan load balancing dengan metode PCC dan proxy server sebagai caching menggunakan tool simulator. Ada beberapa tool yang penulis gunakan untuk mensimulasikan sistem yang akan di bangun sebagai prototipe karena kemampuannya yang dapat merepresentasikan topologi jaringan dan memberikan status layaknya sebuah sistem yang nyata. Tujuan dibuatnya prototipe oleh penulis antara lain : 1. Memperkecil resiko kegagalan saat proses pembangunan dan implementasi sistem pada lingkungan jaringan yang sesungguhnya. 2. Menjamin bahwa kesalahan yang terjadi pada saat proses perancangan, pembangunan dan implementasi tidak mengganggu dan tidak mempengaruhi lingkungan sistem yang nyata.
89
Dalam melakukan simulasi prototipe sistem ini penulis menggunakan aplikasi Microsoft Visio merupakan sebuah program aplikasi komputer yang sering digunakan untuk membuat diagram alir (flowchart), brainstorm, dan skema jaringan yang dirilis oleh Microsoft Corporation. Aplikasi ini menggunakan grafik vektor untuk membuat diagramdiagramnya. Untuk mensimulasikan berjalannya sistem jaringan penulis menggunakan simulator VM ware versi 7 karena mampu membuat suatu virtual mechine yang seolah-olah mempunyai fungsi yang sama dengan sistem nyata. Simulator ini mendukung kegiatan untuk menjalankan sistem operasi baik server, client dan network mulai dari instalasi, boot sampai pada sistem running dalam jaringan yang menggunakan load balancing dengan metode PCC dan proxy server sebagai caching.
4.5.
Implementasi Metode PCC (implementation) Pada PCC load balancing akan ada PCC matcher yang memungkinkan sebuah router untuk mengingat alamat sumber dan tujuan pada saat melakukan suatu koneksi ke internet. Seperti yang telah jelaskan pada bab sebelumnya bahwa PCC matcher akan memungkinkan untuk membagi lalulintas ke aliran yang sama dengan kemampuan untuk menyimpan paket-paket dengan pilihan yang spesifik dalam satu aliran tertentu. PCC mengambil bidang yang dipilih dari Internet Protocol Header, dan dengan bantuan algoritma hashing mengubah bidang yang dipilih menjadi 32-bit. Nilai ini kemudian
90
dibagi dengan penyebut tertentu dan sisanya kemudian dibandingkan dengan remainder tertentu, jika sama maka paket akan ditangkap. Kemudian dapat dipilih dari src-address, dst-address, src-port, dst-port dari header untuk digunakan dalam operasi ini. Dalam pengertian lain, pada PCC load balancing akan diingat alamat sumber dan tujuan sehingga terjadi hubungan client server secara utuh.
4.5.1. Inisialisasi Interface Router Inisialisasi Interface berguna untuk memudahkan penulis dalam melakukan pengembangan system dengan cara memberikan nama pada masing-masing Interface sebagai fungsinya. Langkahlangkah nya sebagai berikut : /Interface Ethernet set 0 comment="" disable=no name="Public1" set 1 comment="" disable=no name="Local" set 2 comment="" disable=no name="Public2" set 3 comment="" disable=no name="Proxy"
Perintah “set 0” merupakan perintah untuk mengkonfigurasi ether 0 yang terdapat pada Router dengan perintah untuk menghidupkan Interface dan memberi nama Interface yaitu Public1.
Begitu
pula
keterangan
untuk
perintah-perintah
selanjutnya. Keterangan lainnya seperti gambar berikut :
Gambar 4.10 Interface Router
91
4.5.2. Pemberian alamat IP address 1. Pada Router Untuk melakukan pemberian IP Address pada Router dengan menggunakan perintah sebagai berikut : /ip address Add address=192.168.1.10/24 network=192.168.1.0 broadcast=192.168.1.255 Interface=Public1 add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 Interface=Local add address=192.168.2.2/24 network=192.168.2.0 broadcast=192.168.2.255 Interface=Public2 add address=192.168.10.2/24 network=192.168.10.0 broadcast=192.168.10.255 Interface=Proxy
Baris pertama memerintahkan untuk memberikan alamat IP Address kepada Interface “Public1” dengan IP 192.168.0.1 dengan subnetting /24. Begitu pula dengan keterangan perintah-perintah selanjutnya. Keretangan lainnya seperti gambar berikut :
Gambar 4.11 IP Address Router 2. Pada Public 1 dan Public 2 a. Public 1 Public 1 mengunakan koneksi dial up speedy 384 kbps. Untuk mengeset IP Address pada public 1 yaitu dengan cara klik browser>192.168.1.1>memasukkan
admin
dan
password
92
modem>Interface Router. Keterangan lainnya seperti gambar berikut :
Gambar 4.12 : Login Modem Public 1
Gambar 4.13:
Konfigurasi IP Address Public 1
b. Public 2 Untuk mengeset IP Address pada sisi Public 2 yaitu dengan cara klik browser>192.168.2.1>network>LAN. Keterangan lainnya seperti gambar di bawah ini :
Gambar 4.14 : Login modem Public 2
93
Gambar 4.15 : konfigurasi IP Address Public 2
Gambar 4.16 : Konfigurasi 3G Router
Gambar 4.17 : Sinyal dan IP Address modem 3G
94
3. Pada Client a. Client LAN (Local Area Network) Untuk mengeset IP Address pada sisi client LAN yaitu dengan
cara
Connection>Local mouse>pilih
klik>start>Control Area
Connection>Klik
properties>internet
Panel>Network kanan
pada
Protokol(TCP/IP)
lalu
masukan IP Address. Keterangan lainya seperti gambar di bawah ini
Gambar 4.18 : Konfigurasi IP Address client LAN Untuk pengisian IP DNS penulis menggunakan IP Router Mikrotik. IP DNS sudah ada dalam Router Mikrotik. b. Client Wireless Untuk mengeset IP Address pada sisi client Wireless yaitu dengan cara klik > start > Control Panel > Network Connection>Wireless Network Conections>Klik kanan pada mouse>pilih
properties>internet
Protokol(TCP/IP)
lalu
95
masukan IP Address. Keterangan lainya seperti gambar di bawah ini :
Gambar 4.19 : Konfigursi IP Address client Wireless
4.5.3. Kebijakan Mangle Mangle adalah tahapan dimana paket data yang datang dari suatu Interface tertentu akan diproses. Fungsi dari aturan yang ada di mangle adalah untuk me-marking paket agar dapat di arahkan sesuai dengan rule routing yang ada. Di tahap ini penulis akan menerapkan aturan mangle dari metode PCC. Sebelumnya penulis akan menjelaskan tentang perintah-perintah yang ada pada perintah mangle antara lain : 1. Chain Prerouting : Proses dimana Router bisa memanipulasi paket data sebelum paket memasuki kebijakan routing.
96
2. Chain Input
:
proses
dimana
Router
melakukan
pemeriksaan terhadap paket data yang akan masuk ke dalam Router. 3. Chain output
:
proses
dimana
Router
melakukan
pemeriksaan terhadap paket yang dihasilkan Router yang akan keluar sebelum masuk ke dalam kebijakan routing. Berikut ini adalah perintah-perintah yang ada pada tahapan mangle: 1. Menetapkan aturan untuk tiap koneksi bahwa setiap trafik paket data akan selalu melalui Interface yang sama dengan Interface dari mana trafik itu berasal. Untuk Interface ISP 1 diberi connection mark dengan nama “public1_conn” dan untuk Interface ISP 2 diberi connection mark dengan nama “public2_conn”.
Kebijakan
ini
digunakan
untuk
proses
komunikasi antar Router. Perintah nya sebagai berikut : Add chain=input action=mark-connection new-connection -mark=public1_conn passthrough=yes connection-state=new inInterface=Public1
add chain=input action=mark-connection new-connectionmark=public2_conn passthrough=yes connection-state=new inInterface=Public2
2. Kemudian menentukan routing mark sesuai dengan hasil dari mark connection untuk tiap-tiap paket yang akan meninggalkan Router. Untuk routing yang akan dilewatkan ke ISP 1 dengan mark connection “public1_conn” akan diberi nama “to_public1” dan yang akan dilewatkan ke ISP 2 dengan mark connection
97
“public2_conn” akan diberi nama “to_public2”. Hal ini digunakan untuk penerusan paket yang ada pada kebijakan routing. Add chain=output action=mark-routing mark=to_public1 passthrough=no connection-mark=public1_conn
new-routing-
add chain=output action=mark-routing mark=to_public2 passthrough=no connection-mark=public2_conn
new-routing-
3. Untuk mencegah terjadi proses mangle yang menuju jaringan yang tidak ditentukan maka harus dibuat ketentuan proses trafik paket data berasal dan akan kemana yang terkena kebijakan pada proses mangle. Berikut perintahnya: chain=input action=mark-connection new-connection-mark=ISP-1 passthrough=yes connection-state=new in-Interface=Local chain=input action=mark-connection new-connection-mark=ISP-2 passthrough=yes connection-state=new in-Interface=Local chain=prerouting action=mark-connection new-connectionmark=ISP-1 passthrough=no in-Interface=Local connection-mark=ISP-1 chain=prerouting action=mark-connection new-connectionmark=ISP-2 passthrough=no in-Interface=Local connection-mark=ISP-2
4. Untuk menetapkan aturan untuk tiap koneksi bahwa setiap trafik paket data diarahkan ke Interface proxy. Kebijakan ini digunakan untuk proses komunikasi antar Router. Perintah nya sebagai berikut : chain=prerouting mark=PROXY-1 passthrough=yes list=!LocalNET
action=mark-connection connection-state=new in-Interface=Proxy
new-connectiondst-address-
98
chain=prerouting action=mark-connection mark=PROXY-2 passthrough=yes connection-state=new list=!LocalNET in-Interface=Proxy
new-connectiondst-address-
add chain=prerouting action=mark-connection new-connectionmark=PROXY-3 passthrough=yes connection-state=new dstaddress-list=!LocalNET in-Interface=Proxy
5. Tahap ini adalah tahap dilakukannya proses per-connectionclassifier (PCC) pada proses mangle. Ada 2 proses mangel di Interface proxy dan Interface local. Berikut perintahnya: a. Interface Local Add chain=prerouting action=mark-connection newconnection-mark=Public-1 passthrough=yes dst-addresstype=!local in-Interface=Local per-connection-classifier=bothaddresses-and-ports:3/0 Add chain=prerouting action=mark-connection newconnection-mark=Public-2 passthrough=yes dst-addresstype=!local in-Interface=Local per-connection-classifier=bothaddresses-and-ports:3/1 Add chain=prerouting action=mark-connection newconnection-mark=Public-3 passthrough=yes dst-addresstype=!local in-Interface=Local per-connection-classifier=bothaddresses-and-ports:3/2
b. Interface Proxy chain=prerouting action=mark-connection new-connectionmark=PROXY-1 passthrough=yes protocol=tcp dst-addresstype=!local dst-address-list=!LocalNET in-Interface=Proxy dst-port=80,81,8080,3128 per-connection-classifier=bothaddresses-and-ports:3/0 chain=prerouting action=mark-connection new-connectionmark=PROXY-2 passthrough=yes protocol=tcp dst-addresstype=!local dst-address-list=!LocalNET in-Interface=Proxy dst-port=80,81,8080,3128 per-connection-classifier=bothaddresses-and-ports:3/1 chain=prerouting action=mark-connection new-connectionmark=PROXY-3 passthrough=yes protocol=tcp dst-addresstype=!local dst-address-list=!LocalNET in-Interface=Proxy dst-port=80,81,8080,3128 per-connection-classifier=bothaddresses-and-ports:3/2
99
Pada proses prerouting semua paket yang melewati Router akan diproses. Dan untuk menghindari paket yang akan menuju ke jaringan proxy dan jaringan local agar tidak terkena proses PCC maka diberikan yang diproses dst address type=!local dimana semua paket yang diproses adalah bukan yang akan menuju jaringan local tetapi jaringan proxy. Berikut perintahnya : chain=prerouting action=mark-routing new-routingmark=Route- Proxy-1 passthrough=yes dst-address-list=!LocalNET in-Interface=Proxy connection-mark=PROXY-1 chain=prerouting action=mark-routing mark=Route-Proxy-1 passthrough=yes dst-address-list=!LocalNET in-Interface=Proxy connection-mark=PROXY-2
new-routing-
chain=prerouting action=mark-routing mark=Route-Proxy-2 passthrough=yes dst-address-list=!LocalNET in-Interface=Proxy connection-mark=PROXY-3
new-routing-
Setelah mendapatkan hasil, kemudian PCC akan menerapkan marking pada tiap paket data dan akan membagi trafik menjadi dua kelompok yaitu kelompok dengan marking “isp1_conn” dan kelompok dengan marking “isp2_conn”. Selanjutnya
adalah
penambahan
rule
untuk
meneruskan paket yang telah di-marking pada tahap PCC untuk tiap-tiap paket yang akan meninggalkan Router.
100
Untuk routing yang akan dilewatkan ke ISP 1 dengan mark connection “Public1_conn” akan diberi routing mark “to_public1” dan yang akan dilewatkan ke ISP 2 dengan mark connection “Public2_conn” akan diberi routing mark “to_public2”. Hal ini digunakan untuk penerusan paket yang ada pada kebijakan routing. Berikut perintahnya : 6. Inisialisasi IP Proxy dan konfigurasi Proxy a. IP Proxy Pada tahap ini adalah tahap konfigurasi IP pada proxy berikut perintahnya : #nano /etc/network/Interfaces auto eth0 iface eth0 inet static address 192.168.10.1 netmask 255.255.255.0 network 192.168.10.2
b. Konfigurasi Proxy Pada tahap ini proxy akan di konfigurasi untuk mendapatkan hasil yang maksimal dalam proses caching. Berikut Perintahnya : nano /etc/squid/squid.conf ################################################### ########### #config htproxy-v.4 #cache_dir dan DNS di dns_nameserver ################################################### ########### http_port 3128 transparent pid_filename /var/run/squid.pid cache_effective_user proxy cache_effective_group proxy
101
error_directory /usr/share/lusca/errors/English icon_directory /usr/share/lusca/icons visible_hostname proxy cache_mgr admin@localhost access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log none logfile_rotate 1 shutdown_lifetime 10 seconds cache_mem 8 MB maximum_object_size_in_memory 32 KB memory_replacement_policy heap GDSF cache_replacement_policy heap LFUDA
Adapun keterangan lain konfigurasi terdapat pada lampiran.
4.5.4. Kebijakan routing Untuk meneruskan paket yang telah di marking pada proses mangle, maka harus dibuat aturan baru pada routing table agar dapat melewatkan paket data tersebut ke gateway ISP yang sesuai dengan marking paket yang dibuat pada tahapan mangle. Berikut perintah untuk membuat aturan pada routing table : /ip route add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=Public1 scope=30 target-scope=10 add disabled=no distance=2 dst-address=0.0.0.0/0 gateway=Public2 scope=30 target-scope=10 add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=Speedy1 routing-mark=to_public1 scope=30 target-scope=10 add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=Speedy2 routing-mark=to_public2 scope=30 target-scope=10
Baris pertama, dan kedua memerintahkan untuk membuat sebuah gateway untuk Router yang menuju ke Interface Public2. perintah dat-address=0.0.0.0/0 menjelaskan bahwa routing akan dilakukan kepada paket yang memiliki IP Address dengan tujuan
102
kemanapun. Pada baris ketiga dan keempat Perintah
routing-
mark= to_public1 menjelaskan bahwa gateway ini dikhususkan untuk paket yang mempunyai marking routing “to_public2”. ditambahkan perintah berikut kedalam Router . /ip firewall nat Add chain=srcnat action=masquerade out-Interface=Public1 Add chain=srcnat action=masquerade out-Interface=Public2
Dengan perintah diatas maka alamat IP client akan di definisikan dahulu menjadi IP Interface gateway dengan teknik masquerade
4.6.
baru kemudian paket akan dilempar ke gateway tujuan.
Monitoring NDLC mengkategorikan proses pengujian pada fase monitoring (pengawasan). Hal ini dikarenakan pengawasan system yang sudah dibangun hanya dapat dilakukan jika system sudah dapat bekerja sesuai dengan kebutuhan. Proses pengujian (testing) dibutuhkan untuk menjamin dan memastikan bahwa system yang dibangun sudah memenuhi spesifikasi rancangan. Pada tahap ini penulis akan melakukan monitoring dan pengujian sejauh mana system yang dibangun berjalan dalam lingkungan jaringan yang menerapkan konsep load balancing menggunakan metode PCC dan chaching memory. Untuk melakukan monitoring system ini, penulis menggunakan beberapa tools, baik yang terdapat pada winbox maupun aplikasi online seperti pingtest.net untuk mengetahui grade koneksi sampai
103
pengujian penggunaan aplikasi untuk mengetahui efektifitas dari system yang telah dibangun. Pengujian dilakukan sebanyak 2 fase yaitu pada system yang sedang berjalan dan pada system setelah diimplementasikannya teknik load balancing dengan metode PCC dan chaching memory. Pengujian ini penulis lakukan di lab computer Mts. An-nizhamiyyah.
4.6.1. Pengujian sebelum implementasi (Sistem berjalan) Pada fase ini dilakukan 2 pengujian, yaitu : 1. Pengujian Bandwidth Pada tahap ini penulis mencoba memonitoring system jaringan dengan menggunakan winbox dan software networx untuk mengetahui beban koneksi. Adapun hasil monitoringnya pada gambar berikut :
Gambar 4.20 Monitoring bandwidth
104
Pada gambar 4.20 Parameter yang dilihat dalam proses monitoring ini adalah besar traffic dari ISP yang dapat terlibat dari besar paket dan byte. Hasil dari monitoring banyaknya paket yang terpakai dalam proses browsing dan download dalam hal ini habis dipakai hanya dengan 1 client karena belum adanya management bandwidth di server akibatnya client yang lain mengalaim koneksi yang lambat. Pengujian bandwidth pada client yang terdapat pada gambar 4.20 bandwidth hanya mencapai 9.7 kbps dan upload 1.4 kbps.
Gambar 4.21 Kecepatan Download yang diperoleh Keterangan : a. 2 – 5 Kbps : 12 Orang b. < 5 Kbps
: 8 Orang
c. 5 – 10 Kbps : 6 Orang d. > 10 Kbps
105
Bandwidth yang ada sudah Mencukupi 14 12 10 8
Ya
6
Tidak
4 2 0
Gambar 4.22 Bandwidth yang sudah mencukupi Keterangan : a. Ya
:2
b. Tidak
: 12
Dari hasil tersebut bisa di ambil kesimpulan bahwa bandwidth dan jaringan internet yang ada di Mts An – Nizhamiyyah belum baik
2. Pengujian grade link menggunakan Pingtest.net Pada tahap ini penulis akan menguji kualitas dari koneksi system yang dibangun dengan menggunakan aplikasi pengukur koneksi online www.pingtest.net. Dengan pengujian ini pula akan diketahui grade kualitas dari koneksi system yang dibangun dimana grade tersebut memberikan keterangan bagaimana kualitas koneksi tersebut apabila digunakan untuk menjelaskan aplikasi real time. Pada tahap ini penulis melakukan lima kali uji coba pada server yang sama yaitu
106
server yang berada di Bandung, Malaysia dengan jarak sejauh 100 mil dari tempat pengujian. Adapun keterangan dari hasil pengujian dapat dilihat pada gambar penulis sertakan pada Gambar 4.23 dan table 4.7 Yang ada di bawah berikut ini :
Gambar 4.23 Pengujian Menggunakan pingtest.net Table 4.7 Hasil pengujian dengan pingtest.net No
Packet Loss (%)
Ping Latency (ms)
Jitter (ms)
Grade
1.
1
221
77
C
2.
1
223
49
C
3.
2
223
84
D
4.
1
243
44
C
5.
D
224
122
D
Keterangan Koneksi Kurang baik Koneksi Kurang baik Koneksi Kurang baik Koneksi Kurang baik Koneksi Kurang baik
107
Dari table 4.7 dan Gambar 4.23 diatas dapat diketahui kualitas koneksi dari system yang berjalan sebelum metode load balancing dengan metode PCC di implementasikan amat buruk. Hal tersebut dapat dilihat dari grade yang diberikan oleh pingtest.net rata-rata mendapat grade “C”.
4.6.2. Pengujian Setelah Implementasi Sistem Pengujian dilakukan dengan cara mengamati trafik bandwidth pada router dan aktifitas-aktifitas dari beberapa client yang dapat dijadikan sebagai acuan dalam pengamatan sehingga dapat dilihat kriteria-kriteria untuk metode ini. Yang dijadikan sebagai parameter dalam pengamatan ini adalah trafik bandwidth untuk download dan upload, serta pembebanan seperti apa yang terjadi pada metode PCC load balancing ini. Pada pengujian ini penulis juga melakukan
pengujian
seperti
pengujian
pada
system
sebelum
di
implementasikan, sebagai berikut : 1. Pengujian pemerataan beban koneksi load balancing Pada tahap ini penguji (dalam hal ini penulis) memonitoring system jaringan dengan menggunakan winbox untuk mengetahui sejauh mana beban koneksi bisa terbagi pada tiap gateway koneksi. Parameter yang dilihat dalam proses monitoring ini adalah besar traffic dari masing-masing ISP yang dapat terlihat dari besar paket dan byte yang tersebar antara Interface ISP1
108
dan ISP 2 yang penulis beri tanda dengan kotak merah. Hasil dari monitoring tersebut lalu penulis masukan kedalam table lalu di konversi menjadi grafik untuk membandingkan besar nilai masing-masing agar terlihat lebih signifikan.
Gambar 4.24 Pengujian Beban traffic
Gambar 4.25 Pengujian Bandwidth
109
Pada
gambar
4.25
dapat
dilihat
bahwa
traffic
maksimum mencapai 266,1 kbps. Jika diperhatikan bandwidth yang diperoleh pada pengujian ini mendekati bandwidth modem 2 yaitu 512 kbps. Pada gambar 4.25 terlihat bandwidth yang diperoleh kecepatan download mencapai 87 kbps. Hal ini menunjukan bahwa client diprioritaskan mengarah ke modem 2. Dari
pengujian yang dilakukan dapat diambil suatu
kesimpulan bahwa pada metode ini, client diprioritaskanuntuk diarahkan hanya pada salah satu jalur saja. Paket data yang keluar masuk router akan dicatat pada mangle yang telah dibuat untuk metode PCC ini. Dan paket data tersebut dapat dilihat pada gambar berikut.
Gambar 4.26 Traffic pada mangle (PCC) Pada PCC, ada mangle yang dibentuk untuk load balancing pada 2 jalur. Mangle dengan attribut chain=input merupakan penanda paket yang masuk ke dalam router. Pada gambar 4.26 pembebanan yang terjadi antara Public1 dan Public2 tidaklah
110
begitu merata pada masin – masing koneksi. Ini disebabkan, pada PCC load balancing yang menjadi prioritas utama adlah mengingat alamat sumber dan tujuan pada saat melakukan hubungan terhadap jaringan luar. Dan kemudian baru melakukan penyeimbangan beban pada masing masing jalur internet yang menjadi prioritas kedua. Sehingga semakin lama beban pada dua jalur akan semakin merata seperti yang terlihat pada gambar 4.26. 2. Pengujian grade link menggunakan pingtest.net Tahap ini penulis akan me-monitoring efektifitas dari koneksi system yang di bangun dengan menggunakan aplikasi pengukur koneksi online pingtest.net. Pada tahap ini penulis melakukan lima kali uji coba pada server yang sama yaitu server yang berada di Bandung, dengan jarak sejauh 100 mil dari tempat pengujian.. Dari hasil pengujian sebanyak 5 kali menggunakan aplikasi pingtest.net didapatkan hasil sebagai berikut :
111
Gambar 4.27 Pengujian Menggunakan Pingtest.net Tabel 4.8 Hasil pengujian
1.
Packet Loss (%) 0
Ping Latency (ms) 38
Jitter (ms) 4
2.
0
38
3.
0
4. 5.
No
Grade
Keterangan
A
Koneksi baik
4
A
Koneksi baik
89
8
A
Koneksi baik
0
38
3
A
Koneksi baik
0
39
5
A
Koneksi baik
Dari hasil monitoring di atas di dapat hasil yang lebih baik. Menggunakan system load balancing dan proxy menghasilkan grade “A” dibandingkan dengan system yang sebelumnya.
3. Pengujian Terputusnya Koneksi pada salah satu jalur internet Pengujian juga dilakukan dengan cara memutuskan koneksi pada salah satu modem. Dalam praktiknya diputuskan koneksi dari modem2. Ketika koneksi dari modem2 terputus, ternyata ada beberapa client yang mengalami masalah dalam
112
membuka situs-situs tertentu. Client dengan alamat IP public 110.137.44.73 yang merupakan IP yang berasal dari modem1 akan tetap terhubung ke jaringan internet, sedangkan client dengan alamat IP public 110.137.28.81 yang berasal dari modem2 mengalami connectionless untuk beberapa situs. Hal ini terjadi dikarenakan client telah diprioritaskan untuk terhubung ke modem2. Client yang sebelumnya menggunakan koneksi isp-2 sebagai jalurnya untuk terhubung ke situs tertentu, akan tetap diingat
oleh router untuk selalu
menggunakan koneksi isp-2. Mikrotik menganggap belum adanya permintaan dari client untuk membuat suatu koneksi baru pada mangle. Sehingga Mikrotik akan tetap melihat ke reminder yang ada pada mangle yang menyatakan bahwa client tersebut memiliki IP 110.137.28.81 yang merupakan IP dari modem2 yang dalam kondisi terputus. Kejadian seperti ini juga dapat terjadi pada client yang terhubung ke modem1 jika modem1 yang mengalami disconnect (koneksi terputus). Untuk mendapatkan IP baru dari modem yang masih terhubung ke intenet, harus dilakukan restart pada komputer client yang mengalami disconnect, sehingga akan terbentuk mark-connection baru pada Mikrotik yang nantinya akan memberikan IP public dari modem yang masih dalam keadaan baik.
113
Untuk menangani masalah seperti ini, teknik fail over merupakan solusi yang tepat. Fail over adalah kemampuan untuk beralih secara otomatis ke gateway lainnya yang tersedia atas kegagalan atau pengakhiran abnormal dari gateway yang aktif sebelumnya. Fail over terjadi tanpa campur tangan manusia dan umumnya tanpa peringatan, tidak seperti peralihan. Gateway kedua akan segera mengambil alih pekerjaan
gateway
pertama
setelah mendeteksi
adanya
perubahan beat pada gateway pertama. Pada Mikrotik, untuk mendeteksi terjadinya perubahan dapat dilakukan dengan mengaktifkan fitur chek-gateway pada gateway pertama (Public1) dan gateway kedua (Public2), serta mengatur distance yang lebih besar pada gateway kedua (Public2). Untuk
lebih
jelasnya
dapat
dilihat
syntax
untuk
mengimplementasikan fail over /ip route add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=Public1 check-gateway=ping routing-mark= isp-1 add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=Public2 check-gateway=ping routing-mark=isp-2 add disabled=no distance=2 dst-address=0.0.0.0/0 gateway=Public2 add disabled=no distance=2 dst-address=0.0.0.0 gateway=Public1
114
4. Pengujian proxy sebagai caching Tahap ini penulis akan menguji proxy dalam melakukan caching yang berguna juga sebagai penghematan bandwidth. Pada tahap ini penulis akan menampilkan web yang sudah caching atau di hit di MTs. An – nizhamiyyah hasil ini tersimpan di cat /var/log/squid/access.log | ./squidmon.py. Hasil Caching seperti gambar berikut :
Gambar 4.28 Hasil cache Dari pengujian yang terdapat pada gambar 4.28 hasil caching yang ada di Mts. An – Nizhamiyyah terlihat web yang sering dikunjungi. Dari gambar 4.28 proxy ini dapat menghemat bandwidth sebesar 40.10%.
115
5. Pengujian penggunaan proxy seba
Gambar 4.29 Hit Proxy 4.6.3. Hasil monitoring Setelah melakukan pengujian baik pada system berjalan dan system setelah diimplementasikan PCC penulis mendapatkan datadata yang di lampirkan. Diatas dapat disimpulkan bahwa system yang dibangun dengan load balancing menggunakan metode PCC dan chaching video dapat mengoptimasi jaringan internet sesuai dengan keterangan persentase pembagian beban yang hampir merata dan grade koneksi berdasarkan pada nilai ping latency, filter dan benyaknya packet loss serta pengujian yang dilakukan dengan video youtube.
streaming
116
4.7.
Management Tahapan ini merupakan tahapan pengaturan yang dilakukan oleh seorang administrator jaringan pada system load balancing dengan menggunakan metode PCC dan chacing memory, dan juga melakukan tmanagement bandwidth kepada client yaitu : 1. Membuat pengaturan lanjutan dari fungsi load balancing yaitu membuat rule routing fail over yang berguna untuk pengalihan akses koneksi ke koneksi yang lain apabila terjadi disconnection pada salah satu ISP agar penggunaan jaringan internet mts an-nizhamiyyah tetap teroptimasi. Kebijakan di atas akan membuat Router selalu mengecek koneksi kepada tiap-tiap gateway dengan cara melakukan ping ke tiaptiap gateway dan memberikan prioritas jarak respon pada tiap gateway sehingga apa bila salah satu gateway tidak me-reply komunikasi ping dari Router, maka Router akan menggangap gateway tersebut down dan akan mengalihkan koneksi ke gateway yang lainnya masih berjalan dengan baik. 2. Membuat pengaturan proxy yaitu membuat rule proxy yang berguna untuk pengalihan koneksi proxy. Apabila terjadi disconnection pada proxy
penggunaan jaringan tetep teroptimasi maka router akan
mengenable proxy internal yang berada di dalam router. Maka router akan mendisable rule yang mengarah ke interface proxy eksternal. 3. Membuat management bandwidth dengan membuat rule di mangle dan malakukan queue pada setiap IP dan client yang terkoneksi dengan
117
pembagian bandwidth yang merata. Berikut ini perintah rule management bandwidth add chain=forward action=mark-packet new-packet-mark=client1.d_pkt passthrough=no protocol=tcp dst-address=192.168.0.118 connection-mark=all.post_conn connection-bytes=131072-0 add chain=forward action=mark-packet new-packet-mark=client2.d_pkt passthrough=no protocol=tcp dst-address=192.168.0.5 connection-mark=all.post_conn connection-bytes=131072-0 add chain=forward action=mark-packet new-packet-mark=client3.d_pkt passthrough=no protocol=tcp dst-address=192.168.0.8 connection-mark=all.post_conn connection-bytes=131072-0 add chain=forward action=mark-packet new-packet-mark=client4.d_pkt passthrough=no protocol=tcp dst-address=192.168.0.50 connection-mark=all.post_conn connection-bytes=131072-0 add chain=forward action=mark-packet new-packet-mark=client5.d_pkt passthrough=no protocol=tcp dst-address=192.168.0.102 connection-mark=all.post_conn connection-bytes=131072-0
Baris pertama memerintahkan pengiriman paket ke ip 192.168.0.118. begitu
pula dengan perintah – perintah selanjutnya
dengan
menyesuaikan IP client. Keterangan lainnya seperti gambar berikut :
Gambar 4.30 Rule management bandwidth Setelah itu penulis membatasi client dengan kapasitas bandwidth yg akan di terima setiap client. Berikut ini perintah queue. add name="A4. DOWNLOAD" parent=A. INBOUND limit-at=0 priority=8 max-limit=2048k burst-limit=0 burst-threshold=0 burst-time=0s
118
add name="Client01" parent=A4. DOWNLOAD packetmark=client1.d_pkt limit-at=0 queue=pcq_down priority=8 maxlimit=256k burst-limit=0 burst-threshold=0 burst-time=0s add name="Client02" parent=A4. DOWNLOAD packetmark=client2.d_pkt limit-at=0 queue=pcq_down priority=8 maxlimit=256k burst-limit=0 burst-threshold=0 burst-time=0s add name="Client03" parent=A4. DOWNLOAD packetmark=client3.d_pkt limit-at=0 queue=pcq_down priority=8 maxlimit=256k burst-limit=0 burst-threshold=0 burst-time=0s
Pada baris pertama memerintahkan total bandwidth maksimal yang masuk dan akan di broadcast pada setiap client. Pada “Client01” akan mendapatkan bandwidth sebesar “256kb/s” begitu pula dengan perintah – perintah selanjutnya. Keterangan lainnya seperti gambar berikut :
Gambar 4.31 Queue list client
BAB V PENUTUP
5.1 Kesimpulan Kesimpulan yang diperoleh setelah melakukan tahapan-tahapan pada penelitian adalah sebagai berikut : 1. Penerapan load balancing dengan metode PCC dapat membagi paket sama rata pada MTs. An -Nizhamiyyah dan dengan load balancing metode PCC dapat mengatasi masalah disconnecting pada jaringan internet. 2. Jika salah satu link jaringan internet terputus, maka seluruh beban akan dialihkan secara otomatis ke jaringan internet yang masih aktif. 3. Hubungan client server terjalin utuh karena selalu pada jalur yang sama, ini dikarenakan pada rule PCC akan selalu mengingat IP address sumber dan tujuan. 4. Penggunaan proxy server sebagai cache memberikan optimasi pada jaringan internet MTs. An – nizhammiyah dengan jaringan internet yang cepat. 5. Penggunaan proxy server dapat menghemat bandwidth. 6. Penerapan Management bandwidth pada MTs. An–Nizhamiyyah dapat membagi trafik kepada setiap client yang merata dan kecepatan trafiknya stabil.
119
120
5.2 Saran Dari hasil kesimpulan yang penulis utarakan diatas Load Balancing dengan metode PCC Menggunakan Proxy server sebagai caching memiliki potensi yang sangat besar untuk dikembangkan menjadi lebih baik dan lebih lengkap lagi oleh karena itu maka penulis mencoba memberikan saran yang kiranya dapat berguna bagi Mts. An - Nizhamiyyah terutama sistem ini antara lain adalah : 1. Untuk meningkatkan kecepatan dan stabil bandwidth sebaiknya penggunaan ISP
menggunakan ISP ADSL atau Wireless. 2. Load balancing dapat dikembangkan untuk lebih dari 2 jalur dan dalam pelaksanaannya
diperlukan penelitian lebih lanjut. 3. Penerapan Load balancing metode PCC dan dengan ditambahkan Proxy server sebagai
caching sangat baik bila diterapkan pada jaringan dengan skala menengah kebawah seperti perkantoran, warnet dan sekolah.
DAFTAR PUSTAKA
Andestoni, M. Dkk. 2010. Makalah Load Balancing Teknik Informatika. Unversitas Islam Negeri Sunan Kalijaga Ardiansyah, Firman 2009. Pengukuran Kinerja Algoritma Load Balancing Berbasis Perangkat Lunak Pada Server Web Farm. Institut Teknologi Bandung : Skripsi Tidak Diterbitkan. Aribawono, Nur. 2007. Metode Implementasi Hierachical Caching Proxy. Institut Teknologi Bandung : Skripsi Tidak Diterbitkan Damian.
2007.
Basic
IP
Tables
Tutorial.
[Online]
Tersedia:
http://www.novell.com/communities/node/3086/basic-iptables-tutorial. [06 Februari 2011] Dewobroto, Pujo. 2009. Load Balance Menggunakan Metode PCC. [Online] Tersedia : http://www.mikrotik.co.id/artikel_lihat.php?id=34. [05 Februari 2011] Dwiyono, Aswin. 2008.
Pengenalan firewall Dan Iptables Pada Jaringan
Komputer. Universitas Sriwijaya : Skripsi Tidak Diterbitkan Fairhust,
Gorry.
2003.
IP
Packet
Header.
[Online]
Tersedia:
http://credosystems.com/IP%20Packet%20Header.pdf .[06 Februari 2011] Fasarilla, Fandi. 2010. Analisis QoS (Quality of Service) Manajemen Jaringan Internet pada RT/RW-net di Komplek DEPLU Cendrawasih Jakarta Selatan” Universitas Islam Negeri Syarif Hidayatullah Jakarta. : Skripsi Tidak Diterbitkan. 121
122
Fewi.
2010.
How
PCC
Works
(Beginner).
[Online]
Tersedia
http://wiki.mikrotik.com/wiki/How_PCC_works_%28beginner%29.
: [06
Februari 2011] Guspur. 2010. Network Address Translation (NAT). [Online] Tersedia : http://lecturer.d3ti.mipa.uns.ac.id/guspur/2010/11/30/network-addresstranslation-nat/. [05 Februari 2011] Hendarto Dari, Alam, Dkk. 2008. Koneksi Internet Ganda Dengan Load Balancing Menggunakan Unix Mikrotik Pada Pt. Marina Buana Asia. Binus. : Skripsi Tidak Diterbitkan. Herlambang, M. Linto Datur L. Aziz. 2008. Panduan Lengkap Menguasai Router Masa Depan Menggunakan Mikrotik Router OS. Yogyakarta : ANDI. Khalisa.
2010.
Topologi
Jaringan
Star.
[Online]
Tersedia
:
http://khalishahmutiara.blogspot.com/2010/08/topologi-jaringan-star.html. [11 Desember 2010]. Liisa,
Ariska.
Pengertian
Jaringan
Komputer.
[Online]
Tersedia
:
http://liishacliquers.blogspot.com/2010/07/pengertian-jaringankomputer.html. [10 Januari 2011]. Pramadesa, Jaya. 2008. Proxy Ftp Server. ITB Bandung Rafiudin, Rahmat. 2003. Panduan Membangun Jaringan Komputer Untuk Pemula. Jakarta : Elex Media Komputindo. Sagala, Asbin. 2010. Implementasi Load Balancing Pada Web Server. Universitas Sumatra Utara : Skripsi Tidak Diterbitkan.
123
Saputro, Daniel T.&Kustanto. 2008. Membangun Server Internet Dengan Mikrotik OS. Yogyakarta : Gava Media. Sari, Puspita. 2009. Membuat Proxy Server Berbasis Mikrotik Di Smk Negeri 1 Baureno. Universitas Muhammadiyah. : Skripsi Tidak Diterbitkan. Setiawan, Deris. 2009. Mengenal WAN Dan Solusi Load Balancing. [Online] Tersedia: http://www.unsri.ac.id/upload/arsip/Solusi%20Load%20 Balancing_web.pdf [23 januari2011] Setiawan, Deris. 2009. NDLC. [Online] Tersedia: http://www.unsri.ac.id/upload/arsip/NDLC.pdf [23 januari2011] Supriyanto, Aji. 2005. Pengantar Teknologi Informasi. Salemba Infotek : Jakarta. Sutanta, Edhy. 2005. Pengantar Teknologi Informasi. Graha Ilmu. Yudidharma Lubis, Alwi. 2011. Analisis Dan Implementasi Nth Dan Per Connection Classifier Load Balancing Dua Jalur Isp Speedy Pada Mikrotik Routeros™.Universitas Sumatera Utara : Skripsi Tidak Diterbitkan. Yusup, Maulana. 2010. Implementasi Load Balancing Dengan Metode Per Connection Classifier (PCC) Untuk Optimasi Penggunaan Aplikasi Real Time. Universitas Islam Negeri Syarif Hidayatullah Jakarta : Skripsi Tidak Diterbitkan. Yosike. 2010. Kegunaan Proxy Server. [Online] Tersedia : 1706.blogspot.com/2010/01/kegunaan-proxy-server.html. 2011]
http://yosike[05
Februari
LAMPIRAN WAWANCARA Nama : Drs. Uyun Robaniyun, MM Tema : wawancara tahap awal Jabatan: Kepala Sekolah MTs. An-Nizhamiyyah Umur : 42 tahun 1.
Sejak kapan Internet Lab. Komputer Mts. mulai berdiri? Jawab: pembentukan september 2007 namun mulai berjalan awal tahun 2008.
2.
Konsep Seperti apa yang sekarang diterapkan Internet Lab. Komputer? Jawab: Ya, jaringan Internet Sekolah dimana siswa menggunakan internet untuk keperluan pembelajaran yang nantinya sekolah yang akan membayar biaya pemakaian bandwidth ke ISP setiap bulannya.
3.
Sampai saat ini sudah berapa client yang bergabung dengan Internet Lab. Komputer? Jawab: kurang lebih 30 client.
4.
Berapa bandwidth yang tersedia di Internet Lab. Komputer? Jawab: kami menggunakan bandwidth sebesar 384 Kbps yang nantinya dapat digunakan oleh client.
5.
Adakah pembagian bandwidth untuk client? Jawab: untuk saat ini belum ada pembagian/manajemen bandwidth sehingga client bisa menikmati bandwidth yang begitu besar.
6.
Adakah permasalahan bandwidthnya? Jawab: ya pastinya ada permasalahan, karena belum dibuatnya manajemen bandwidth, sehingga penggunaan bandwidth yang diterima client tidak merata.
7.
Menurut anda sudah stabilkah sistem yang diterapkan sampai saat ini? Jawab: tentu belum, karena hal tersebut masih akan terus dikembangkan, untuk memenuhi kebutuhan client.
8.
Puaskah client anda sampai saat ini? Jawab: ya lumayan.
9.
Akankah anda menerapkan bagaimana mengatasi pembagian bandwidth agar yang diterima client merata? Jawab: pasti, untuk meningkatkan kualitas jaringan.
10.
Selama ini biaya operasional didapat dari mana? Jawab: dari dana iuran siswa untuk lab. Computer dan bantuan dari pemerintah.
11.
Siapa saja yang dapat mengakses jaringan? Jawab: Tentunya setiap client yang terdaftar pada Internet Lab. Komputer, seperti siswa, dewan guru dan staf sekolah ini.
Nama : Arpan S.Pdi Jabatan: Administrator & Teknisi Jaringan Umur : 31 tahun 1.
Sejak kapan anda menjabat sebagai administrator dan teknisi di Internet Lab. Komputer? Jawab: sejak awal Internet Lab. Komputer berdiri.
2.
Aktivitas apa yang anda lakukan sebagai administrator di Internet Lab. Komputer? Jawab: monitoring network dan monitoring server.
3.
Bagaimana cara monitoring network tersebut? Jawab: dengan menge-chek user yang sedang aktif dan menge-ping access point ke masing-masing client setiap hari untuk melihat kondisi jaringan berjalan baik atau tidak.
4.
Lalu bagaimana cara monitoring pada server? Jawab: melihat traffic yang terjadi pada jaringan, apakah terjadi pembebanan pada jaringan.
5.
Sebagai teknisi bagaimana cara anda melayani setup untuk client yang baru bergabung pada Internet Lab. Komputer? Jawab: dengan datang ke ruangan client tersebut melakukan instalasi-instalasi dan memberikan username dan password untuk client baru tersebut, agar bisa menggunakan jaringan Internet pada Internet Lab. Komputer. Setelah itu mengaktifkan di server.
6.
Adakah keluhan dari client yang menggunakan jaringan Internet Lab. Komputer? Jawab: ada.
7.
Bagaimana melayani keluhan client tersebut? Jawab: melihat masalahnya seperti apa pada server dan mendatangi client tersebut untuk memastikan permasalahan yang dihadapi client.
8.
Selama menjadi administrator&teknisi apa masalah yang sering dihadapi? Jawab: masalah sering pada hardware. Contohnya: access point yang sering mengalami trouble seperti gangguan cuaca, yang membuat traffic menurun. Masalah kedua apabila ISP sedang dalam gangguan sehingga berdampak complaint pada client yang sedang menggunakan jaringan.
9.
Seperti apa complaint client yang sering terjadi? Jawab: Internet error, lambat/hang dan terkadang permasalahan pada PC client sendiri.
10.
Bagaimana menjaga keamanan pada jaringan Internet Lab. Komputer? Jawab: dengan memberikan username & password pada setiap client dengan login terlebih dahulu apabila ingin menggunakan jaringan Internet Lab. Komputer. Pada server dengan password sampai 12 karakter yang terus diubah seminggu sekali.
11.
Adakah penerapan firewall di jaringan Internet Lab. Komputer? Jawab: untuk saat ini firewall ada pada masing-masing client saja, seperti penerapan antivirus dan Internet security.
12.
Untuk Internet Lab. Komputer adakah firewall nya? Jawab: ada, masih dalam perkembangan.
13.
Bagaimana memelihara sumber jaringan pada Internet Lab. Komputer? Jawab: dengan melakukan back-up settingan server minimal seminggu sekali agar nanti dapat direstore kembali bila diperlukan.
Nama: Matlaah Muharromah, S.Sos.i Umur: 30 tahun Client Internet Lab. Komputer 1.
Sudah berapa lama bergabung dengan Internet Lab. Komputer? Jawab: 4 tahunan.
2.
Alasan menggunakan Internet Lab. Komputer? Jawab: karena merupakan fasilitas dari sekolah.
3.
Bagaimana pelayanan yang diberikan Internet Lab. Komputer? Jawab: baik, Internetnya pun lumayan cepat.
4.
Masalah apa yang sering anda alami saat menggunakan Internet Lab. Komputer? Jawab: terkadang Internet masih sering lambat dan hang.
5.
Seberapa lama anda menggunakan Internet dalam satu hari? Jawab: kurang lebih 5 jam.
6.
Apa yang anda lakukan dengan Internet? Jawab: kirim email, chatting, lihat berita, banyak deh.
Nama : Yasin Al karim Umur : 14 Tahun Client Internet Lab. Komputer 1.
Sudah berapa lama bergabung dengan Internet Lab. Komputer? Jawab: kurang lebih satu tahun.
2.
Alasan menggunakan Internet Lab. Komputer? Jawab: yah kan ada jam pelajaran computer yang menggunakan internet di lab. komputer.
3.
Bagaimana pelayanan yang diberikan Internet Lab. Komputer? Jawab: cukup baik dan cepat dalam mengatasi masalah.
4.
Masalah apa yang sering anda alami saat menggunakan Internet Lab. Komputer? Jawab: terkadang Internet sering lambat dan hang. Padahal lagi dalam keadaan perlu menggunakan Internet
5.
Seberapa lama anda menggunakan Internet dalam satu hari? Jawab: ya 1 jam.
6.
Apa yang anda lakukan dengan Internet? Jawab: email, chatting, dan game online.
Nama: Didi Hamdi Azhari Umur: Client Internet Lab. Komputer 1.
Sudah berapa lama bergabung dengan Internet Lab. Komputer? Jawab: kurang lebih satu tahun.
2.
Alasan menggunakan Internet Lab. Komputer? Jawab: murah instalasi dan bulanannya.
3.
Bagaimana pelayanan yang diberikan Internet Lab. Komputer? Jawab: cukup baik.
4.
Masalah apa yang sering anda alami saat menggunakan Internet Lab. Komputer? Jawab: apalagi kalau bukan hang dan lambat.
5.
Seberapa lama anda menggunakan Internet dalam satu hari? Jawab: 6 jam.
6.
Apa yang anda lakukan dengan Internet? Jawab: email, chatting, social network, game online, masih banyak lagi.
LAMPIRAN 4 (Instalasi Mikrotik) Pada tahap ini penulis menyiapkan router untuk digunakan sebagai system load balancing, instalasi router dengan cara :
Gambar Instalasi Mikrotik RouterOS dan Pemilihan paket – paket Mikrotik RouterOS
Tampilan diatas adalah pilihan paket-paket yang akan di install, tekan ‘a’ untuk menginstall semuanya dan diteruskan dengan menekan ‘I’ untuk melanjutkan proses instalasi.
Gambar Proses Instalasi Mikrotik RouterOS Proses instalasi dilanjutkan dengan pembuatan partisi dan format harddisk, mikrotik akan mengambil semua space yang ada di harddisk. Setelah Proses partisi dan format hardisk selanjutnya instalasi paket paket yang sudah dipilih seperti gambar di atas. Setelah proses instalasi selesai router melakukan rebooting dengan menekan tombol “ENTER”
Gambar Halaman Login Mikrotik RouterOS Setelah proses reboot selesai maka akan tampil seperti gambar diatas. Router siap digunakan.
LAMPIRAN 3 INSTALASI UBUNTU SERVER Ubuntu server merupakan Salah satu distribusi linux turunan dari distro Debian yang berguna sebagai Router. Dalam tahap ini penulis menggunakan Ubuntu server ini sebagai proxy yang berfungsi menyimpan caching dalam melakukan akses internet sehingga alamat situs yang di akses jauh lebih cepat. Spesification : Ubuntu 10.10 Ip proxy 192.168.10.1 Gateway 192.168.10.2 Ip mikrotik ke arah proxy 192.168.10.2/24 Ram 512 GB HDD Sata 80 GB
A. Instalasi Ubuntu 1. MASUKKAN CD UBUNTU KE CDROM DAN REBOOT KOMPUTERNYA 2.
Pilih language english (enter)
3. Pilih install ubuntu server (enter) 4. Tekan enter pada choose langguage english 5. Pilih united states 6. Klik no pada detect keyboard layout 7. Klik USA pada ubuntu installer main menu 8. Klik USA pada keyboard layout 9. Klik continue pada configure the network
10. Pilih configure network manually isi ip address dg 192.168.10.1 pilih continue enter 11. Netmask 255.255.255.0 pilih continue enter 12. Gateway 192.168.10.2 terus klik continue 13. Name server addresses 192.168.10.2 pilih continue enter 14. Hotsname : isi dg proxy terus pilih continue enter 15. Domain name: di kosongin saja, pilih continue enter 16. Pada configure the clok pilih select from worldwide list pilih jakarta enter 17. Pada menu partition disk pilih manual 18. hapus partisi yang lama : 19. Pilih partisinya enter - pilih delete the partion (ulangi perintah ini untuk semua partisi yg tersisa) 20. Jika telah selesai pilih Guided partitioning, kemudian pilih manual arahkan pada FREE SPACE (enter), 21. Partisi Hardisk -
Pada Freespace (enter), pilih Create new partition (enter), new partition size isi 1 Gb, Primary - Begining - use as = Ext4 - Mount point = /boot - Mount options = noatime Pilih Done setting up the partition
-
Pada Freespace (enter), pilih Create new partition (enter), new partition size isi 4 Gb, Primary - Begining - use as = Ext4 - Mount point = / - Mount options = noatime Pilih Done setting up the partition
-
Pada Freespace (enter), pilih Create new partition (enter), new partition size isi 3Gb, Primary - Begining - use as = Ext4 - Mount point = /usr - Mount options = noatime Pilih Done setting up the partition
-
Pada Freespace (enter), pilih Create new partition (enter), new partition size isi 3Gb, Primary - Begining - use as = Ext4 - Mount point = /var- Mount options = noatime Pilih Done setting up the partition
-
Pada Freespace (enter), pilih Create new partition (enter), new partition size isi 1 Gb, Primary - Begining - use as = swap area - Pilih Done setting up the partition
-
Pada Freespace (enter), pilih Create new partition (enter), new partition size isi 6 Gb, Primary - Begining - use as = ReiserFS - Mount point = /home/proxy1 - Mount options = noatime - Pilih Done setting up the partition
-
Pada Freespace (enter), pilih Create new partition (enter), new partition size isi 6 Gb, Primary - Begining - use as = ReiserFS - Mount point = /home/proxy2 - Mount options = noatime - Pilih Done setting up the partition
-
Pada Freespace (enter), pilih Create new partition (enter), new partition size isi 6 Gb, Primary - Begining - use as = ReiserFS - Mount point = /home/proxy3 - Mount options = noatime - Pilih Done setting up the partition
22. Kemudian pilih finish partitioning and write changes to disk, write the changes to disk pilih yes 23. Pada full name for the new user isi dengan proxy, continue & enter 24. Pada Username for your account isi dengan proxy, continue & enter 25. Pada password for the new user isi dengan proxy, continue & enter 26. Pada re-enter password to verify isi dengan proxy, continue & enter 27. Pada use weak password pilih yes 28. Pada encrypt your home directory pilih no 29. Pada HTTP proxy information KOSONGIN SAJA
30. Pada configurasi apt 43% tekan enter, juga pada 81% tekan enter pilih no automatic update 31. Pada choose software to install pilih OpenSSH server pilih continus pd finis the installation dan restart 32. Selesai
Lampiran 3 Konfigurasi Load balancing dengan Metode Per connection classifier (PCC) dengan menggunakan Proxy server sebagai caching
a. Ethernet dan Ip addres Untuk mengaktifkan ethernet dan setting IP addres pada masing - masing ehthernet, dengan perintah sebagai berikut : /interface ethernet set 0 disabled=no name=Public1 set 1 disabled=no name=Public2 set 2 disabled=no name=Proxy set 3 disabled=no name=Local
/ip address Add address=192.168.1.10/24 network=192.168.1.0 broadcast=192.168.1.255 Interface=Public1 add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 Interface=Local add address=192.168.2.2/24 network=192.168.2.0 broadcast=192.168.2.255 Interface=Public2 add address=192.168.10.2/24 network=192.168.10.0 broadcast=192.168.10.255 Interface=Proxy
b. Firewall Firewall juga umumnya digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses terhadap jaringan pribadi dari hak luar. Dengan perintah sebagai berikut : /ip firewall filter add action=drop chain=input comment="Drop Invalid connections" \ connection-state=invalid disabled=yes
add action=add-src-to-address-list address-list="port scanners" \ address-list-timeout=1w chain=input comment="Port scanners to list " \
disabled=yes protocol=tcp psd=21,3s,3,1 add action=add-src-to-address-list address-list="port scanners" \ address-list-timeout=1w chain=input comment="NMAP FIN Stealth scan" \ disabled=yes protocol=tcp tcpflags=fin,!syn,!rst,!psh,!ack,!urg add action=add-src-to-address-list address-list="port scanners" \ address-list-timeout=1w chain=input comment="SYN/FIN scan" disabled=yes \ protocol=tcp tcp-flags=fin,syn add action=add-src-to-address-list address-list="port scanners" \ address-list-timeout=1w chain=input comment="SYN/RST scan" disabled=yes \ protocol=tcp tcp-flags=syn,rst add action=add-src-to-address-list address-list="port scanners" \ address-list-timeout=1w chain=input comment="FIN/PSH/URG scan" disabled=\ yes protocol=tcp tcpflags=fin,psh,urg,!syn,!rst,!ack add action=add-src-to-address-list address-list="port scanners" \ address-list-timeout=1w chain=input comment="ALL/ALL scan" disabled=yes \ protocol=tcp tcpflags=fin,syn,rst,psh,ack,urg add action=add-src-to-address-list address-list="port scanners" \ address-list-timeout=1w chain=input comment="NMAP NULL scan" disabled=yes \ protocol=tcp tcpflags=!fin,!syn,!rst,!psh,!ack,!urg add action=drop chain=input comment="Dropping port scanners" disabled=yes \ src-address-list="port scanners" add action=accept chain=input comment="Allow Input from LOOPBACK" disabled=\ yes src-address=127.0.0.1 add action=accept chain=input comment="Allow Input from LOCAL Network" \
disabled=yes in-interface=Local srcaddress-list=LocalNET add action=accept chain=input comment="Allow Input from PROXY Network" \ disabled=yes in-interface=Proxy srcaddress-list=ProxyNET add action=accept chain=input comment="Allow Established connections" \ connection-state=established disabled=yes in-interface=Public1 add action=accept chain=input comment="Allow Established connections" \ connection-state=established disabled=yes in-interface=Public2 add action=accept chain=input comment="Allow Related connections" \ connection-state=related disabled=yes in-interface=Public1 add action=accept chain=input comment="Allow Related connections" \ connection-state=related disabled=yes in-interface=Public2 add action=accept chain=input comment=\ "Allow Winbox Access ---------- CHECK BEFORE ENABLED" disabled=yes \ dst-port=8291 in-interface=Public1 protocol=tcp add action=accept chain=input comment=\ "Allow Winbox Access ---------- CHECK BEFORE ENABLED" disabled=yes \ dst-port=8291 in-interface=Public2 protocol=tcp add action=drop chain=input comment="Drop everything else" disabled=yes add action=drop chain=forward comment="Drop Invalid connections" \ connection-state=invalid disabled=yes add action=jump chain=forward comment="Packet Filtering" disabled=yes \ jump-target=tcp protocol=tcp add action=jump chain=forward comment="" disabled=yes jumptarget=udp \ protocol=udp
add action=jump chain=forward comment="" disabled=yes jumptarget=icmp \ protocol=icmp add action=drop chain=tcp comment="deny SMTP" disabled=yes dstport=25 \ protocol=tcp add action=drop chain=tcp comment="deny TFTP" disabled=yes dstport=69 \ protocol=tcp add action=drop chain=tcp comment="deny RPC portmapper" disabled=yes \ dst-port=111 protocol=tcp add action=drop chain=tcp comment="deny RPC portmapper" disabled=yes \ dst-port=135 protocol=tcp add action=drop chain=tcp comment="deny NBT" disabled=yes dstport=\ 137,138,139 protocol=tcp add action=drop chain=tcp comment="deny cifs" disabled=yes dstport=445 \ protocol=tcp add action=drop chain=tcp comment="deny NFS" disabled=yes dstport=2049 \ protocol=tcp add action=drop chain=tcp comment="deny NetBus" disabled=yes dst-port=\ 12345-12346 protocol=tcp add action=drop chain=tcp comment="deny NetBus" disabled=yes dst-port=20034 \ protocol=tcp add action=drop chain=tcp comment="deny BackOriffice" disabled=yes dst-port=\ 31337 protocol=tcp add action=drop chain=tcp comment="deny DHCP" disabled=yes dst-port=67-68 \ protocol=tcp add action=drop chain=tcp comment="deny P2P" disabled=yes p2p=all-p2p
add action=drop chain=udp comment="deny TFTP" disabled=yes dstport=69 \ protocol=udp add action=drop chain=udp comment="deny PRC portmapper" disabled=yes \ dst-port=111 protocol=udp add action=drop chain=udp comment="deny PRC portmapper" disabled=yes \ dst-port=135 protocol=udp add action=drop chain=udp comment="deny NBT" disabled=yes dstport=\ 137,138,139 protocol=udp add action=drop chain=udp comment="deny NFS" disabled=yes dstport=2049 \ protocol=udp add action=drop chain=udp comment="deny BackOriffice" disabled=yes dst-port=\ 31337 protocol=udp add action=drop chain=udp comment="deny P2P" disabled=yes p2p=all-p2p add action=accept chain=icmp comment="limit packets 5/secs" disabled=yes \ icmp-options=0:0-255 limit=5,5 protocol=icmp add action=accept chain=icmp comment="limit packets 5/secs" disabled=yes \ icmp-options=3:0 protocol=icmp add action=accept chain=icmp comment="limit packets 5/secs" disabled=yes \ icmp-options=3:3 limit=5,5 protocol=icmp add action=accept chain=icmp comment="limit packets 5/secs" disabled=yes \ icmp-options=3:4 limit=5,5 protocol=icmp add action=accept chain=icmp comment="limit packets 5/secs" disabled=yes \ icmp-options=8:0-255 limit=5,5 protocol=icmp
add action=accept chain=icmp comment="limit packets 5/secs" disabled=yes \ icmp-options=11:0-255 limit=5,5 protocol=icmp add action=drop chain=icmp comment="Drop other icmp packets" disabled=yes add action=tarpit chain=forward comment="Limit Download Conn" \ connection-limit=10,32 connectionmark=download_conn disabled=yes \ in-interface=Local protocol=tcp srcaddress-list=Local add action=tarpit chain=forward comment="Limit Streaming Conn" \ connection-limit=5,32 connectionmark=streaming_conn disabled=yes \ in-interface=Local protocol=tcp srcaddress-list=Local add action=accept chain=forward comment="Allow Forward from LOCAL Network" \ disabled=yes in-interface=Local srcaddress-list=LocalNET add action=accept chain=forward comment="Allow Forward from PROXY Network" \ disabled=yes in-interface=Proxy srcaddress-list=ProxyNET add action=accept chain=forward comment="Allow Forward from PUBLIC1 Network" \ disabled=yes in-interface=Public1 srcaddress-list=Transparent add action=accept chain=forward comment="Allow Forward from PUBLIC2 Network" \ disabled=yes in-interface=Public2 srcaddress-list=Transparent add action=accept chain=forward comment="Allow Established connections" \
connection-state=established disabled=yes in-interface=Public1 add action=accept chain=forward comment="Allow Established connections" \ connection-state=established disabled=yes in-interface=Public2 add action=accept chain=forward comment="Allow Related connections" \ connection-state=related disabled=yes in-interface=Public1 add action=accept chain=forward comment="Allow Related connections" \ connection-state=related disabled=yes in-interface=Public2 add action=accept chain=forward comment=\ "Allow HTTP Access --- CHECK BEFORE ENABLED" disabled=yes dstport=81 \ in-interface=Public1 protocol=tcp add action=accept chain=forward comment=\ "Allow SSH Access ----- CHECK BEFORE ENABLED" disabled=yes dstport=22 \ in-interface=Public1 protocol=tcp add action=accept chain=forward comment=\ "Allow HTTP Access --- CHECK BEFORE ENABLED" disabled=yes dstport=81 \ in-interface=Public2 protocol=tcp add action=accept chain=forward comment=\ "Allow SSH Access ----- CHECK BEFORE ENABLED" disabled=yes dstport=22 \ in-interface=Public2 protocol=tcp add action=drop chain=forward comment="Drop everything else" disabled=yes
c. NAT NAT berfungsi untuk memetakan suatu IP address ke IP address lain. Dengan perintah sebagai berikut : /ip firewall nat add action=masquerade chain=srcnat comment="" disabled=no out-interface=\ PPPoE-Speedy add action=masquerade chain=srcnat comment="MASQUERADE MODEM1" disabled=no \ out-interface=Public1 add action=masquerade chain=srcnat comment="MASQUERADE MODEM2" disabled=no \ out-interface=Public2 add action=dst-nat chain=dstnat comment="TRANSPARENT DNS" disabled=yes \ dst-port=53 in-interface=Local protocol=udp to-addresses=192.168.3.30 \ to-ports=53 add action=dst-nat chain=dstnat comment="" disabled=yes dst-port=53 \ in-interface=Local protocol=tcp toaddresses=192.168.3.30 to-ports=53 add action=dst-nat chain=dstnat comment="TRANSPARENT LOCAL PROXY" disabled=\ yes dst-address-list=!Transparent dstport=80,81,8080,3128 in-interface=\ Local protocol=tcp toaddresses=192.168.3.30 to-ports=3128 add action=dst-nat chain=dstnat comment="PROXY NAT" disabled=yes \ dst-address-list=Gateway dstport=22,81,10000 in-interface=Local \ protocol=tcp to-addresses=192.168.3.30 add action=dst-nat chain=dstnat comment="DMZ --- CHECK BEFORE ENABLED" \ disabled=yes dst-port=81,22 ininterface=Public1 protocol=tcp \ to-addresses=192.168.3.30 add action=dst-nat chain=dstnat comment="DMZ --- CHECK BEFORE ENABLED" \ disabled=yes dst-port=81,22 ininterface=Public2 protocol=tcp \ to-addresses=192.168.3.30
add action=dst-nat chain=dstnat comment="" connection-mark=http-conn \ disabled=no dst-address-list=ProxyNET dst-port=80,8080,3128 protocol=tcp \ src-address=!192.168.3.30 src-addresslist=LocalNET to-addresses=\ 192.168.3.30 to-ports=3128 add action=src-nat chain=srcnat comment="" disabled=no src-address=\ 192.168.0.1 toaddresses=208.67.220.220 add action=dst-nat chain=dstnat comment="" disabled=no dst-port=53 protocol=\ udp to-ports=53 add action=dst-nat chain=dstnat comment="TRANSPARANT SQUID" disabled=yes \ dst-address-list=!ProxyNET dstport=80,81,8080,3128 protocol=tcp \ src-address-list=Local toaddresses=192.168.3.30 to-ports=3128 add action=dst-nat chain=dstnat comment="TRANSPARENT DNS" disabled=yes \ dst-port=53 in-interface=Local protocol=tcp to-ports=53 add action=dst-nat chain=dstnat comment="" disabled=yes dst-port=53 \ in-interface=Local protocol=udp toports=53 add action=redirect chain=dstnat comment="" connection-mark=!Local-1 \ disabled=yes dst-port=80,81,8080,3128 protocol=tcp routing-mark=!isp-1 \ src-address-list=Local to-ports=3128 add action=dst-nat chain=dstnat comment="" disabled=yes dst-port=53 \ in-interface=Proxy protocol=tcp toports=53 add action=dst-nat chain=dstnat comment="" disabled=yes dst-port=53 \ in-interface=Proxy protocol=udp toports=53
add action=dst-nat chain=dstnat comment="TRANSPARENT BIND9" disabled=yes \ dst-port=53 in-interface=Proxy protocol=tcp to-addresses=192.168.3.30 \
to-ports=53 add action=dst-nat chain=dstnat comment="" disabled=yes dst-port=53 \ in-interface=Proxy protocol=udp toaddresses=192.168.3.30 to-ports=53
d. Mangle
Mangle adalah tahapan dimana paket data yang datang dari suatu Interface tertentu akan diproses. Fungsi dari aturan yang ada di mangle adalah untuk me-marking paket agar dapat di arahkan sesuai dengan rule routing yang ada. dengan perintah sebagai berikut : /ip firewall mangle add action=accept chain=.. comment="" disabled=yes add action=mark-packet chain=postrouting comment="Proxy los" disabled=yes \ dscp=12 dst-port=80,81,8080,3128 new-packet-mark=HIT passthrough=no \ protocol=tcp add action=mark-connection chain=prerouting comment="PROXY PCC" \ connection-state=new disabled=yes in-interface=Proxy new-connectionmark=\ PROXY-1 passthrough=yes add action=mark-connection chain=prerouting comment="" connection-state=new \ disabled=yes in-interface=Proxy new-connection-mark=PROXY-2 passthrough=\ yes add action=mark-connection chain=prerouting comment="" connection-state=new \ disabled=yes in-interface=Proxy new-connection-mark=PROXY-3 passthrough=\ yes add action=mark-connection chain=prerouting comment="" connection-mark=\ PROXY-1 disabled=yes ininterface=Proxy new-connectionmark=PROXY-1 \ passthrough=yes
add action=mark-connection chain=prerouting comment="" connection-mark=\ PROXY-2 disabled=yes ininterface=Proxy new-connectionmark=PROXY-2 \ passthrough=yes add action=mark-connection chain=prerouting comment="" connection-mark=\ PROXY-3 disabled=yes ininterface=Proxy new-connectionmark=PROXY-3 \ passthrough=yes add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-type=!local dstport=80,81,8080,3128 ininterface=Proxy \ new-connection-mark=PROXY-1 passthrough=yes per-connectionclassifier=\ both-addresses-and-ports:3/0 protocol=tcp add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-type=!local dstport=80,81,8080,3128 ininterface=Proxy \ new-connection-mark=PROXY-2 passthrough=yes per-connectionclassifier=\ both-addresses-and-ports:3/1 protocol=tcp
add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-type=!local dstport=80,81,8080,3128 ininterface=Proxy \ new-connection-mark=PROXY-3 passthrough=yes per-connectionclassifier=\ both-addresses-and-ports:3/2 protocol=tcp add action=mark-routing chain=prerouting comment="" connection-mark=PROXY-1 \ disabled=yes in-interface=Proxy new-routing-mark=Route-Proxy1 \ passthrough=yes add action=mark-routing chain=prerouting comment="" connection-mark=PROXY-2 \ disabled=yes in-interface=Proxy new-routing-mark=Route-Proxy1 \ passthrough=yes add action=mark-routing chain=prerouting comment="" connection-mark=PROXY-3 \ disabled=yes in-interface=Proxy new-routing-mark=Route-Proxy2 \ passthrough=yes add action=mark-connection chain=input comment="LOCAL PCC" connection-state=\ new disabled=yes in-interface=Local new-connection-mark=Local-1 \ passthrough=yes add action=mark-connection chain=input comment="" connectionstate=new \ disabled=yes in-interface=Local new-connection-mark=Local-2 passthrough=\ yes add action=mark-connection chain=input comment="" connectionstate=new \ disabled=yes in-interface=Local new-connection-mark=Local-3 passthrough=\ yes add action=mark-connection chain=prerouting comment="" connection-mark=\
Local-1 disabled=yes ininterface=Local new-connectionmark=Local-1 \ passthrough=no add action=mark-connection chain=prerouting comment="" connection-mark=\ Local-2 disabled=yes ininterface=Local new-connectionmark=Local-2 \ passthrough=no add action=mark-connection chain=prerouting comment="" connection-mark=\ Local-3 disabled=yes ininterface=Local new-connectionmark=Local-3 \ passthrough=no add action=mark-connection chain=prerouting comment=\ "AUTOMATIC DISABLE IF PROXY DOWN" disabled=yes dstaddress-type=!local \ dst-port=!80,81,8080,3128 ininterface=Local new-connectionmark=Local-1 \ passthrough=yes per-connectionclassifier=both-addresses-andports:3/0 \ protocol=tcp add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-type=!local dstport=!80,81,8080,3128 ininterface=Local \ new-connection-mark=Local-2 passthrough=yes per-connectionclassifier=\ both-addresses-and-ports:3/1 protocol=tcp add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-type=!local dstport=!80,81,8080,3128 ininterface=Local \ new-connection-mark=Local-3 passthrough=yes per-connectionclassifier=\ both-addresses-and-ports:3/2 protocol=tcp
add action=mark-connection chain=prerouting comment=\ "AUTOMATIC ENABLE IF PROXY DOWN" disabled=yes dst-addresstype=!local \ in-interface=Local new-connectionmark=Local-1 passthrough=yes \ per-connection-classifier=bothaddresses-and-ports:3/0 add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-type=!local ininterface=Local new-connectionmark=Local-2 \ passthrough=yes per-connectionclassifier=both-addresses-andports:3/1 add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-type=!local ininterface=Local new-connectionmark=Local-3 \ passthrough=yes per-connectionclassifier=both-addresses-andports:3/2 add action=mark-routing chain=prerouting comment="" connection-mark=Local-1 \ disabled=yes in-interface=Local new-routing-mark=isp-1 passthrough=yes add action=mark-routing chain=prerouting comment="" connection-mark=Local-2 \ disabled=yes in-interface=Local new-routing-mark=isp-1 passthrough=yes add action=mark-routing chain=prerouting comment="" connection-mark=Local-3 \ disabled=yes in-interface=Local new-routing-mark=isp-2 passthrough=yes add action=mark-packet chain=postrouting comment="MARK PROXY-HIT" disabled=\ yes dscp=12 new-packetmark=proxy-hit passthrough=no add action=mark-connection chain=prerouting comment="PROXY CONNMARK" \
connection-state=new disabled=yes in-interface=Proxy new-connectionmark=\ proxy.public1 passthrough=yes add action=mark-connection chain=prerouting comment="" connection-state=new \ disabled=yes in-interface=Proxy new-connection-mark=proxy.public2 \ passthrough=yes add action=mark-connection chain=prerouting comment="" connection-state=new \ disabled=yes in-interface=Proxy new-connection-mark=proxy.public3 \ passthrough=yes add action=mark-connection chain=prerouting comment="" connection-mark=\ proxy.public1 disabled=yes ininterface=Proxy new-connectionmark=\ proxy.public1 passthrough=yes add action=mark-connection chain=prerouting comment="" connection-mark=\ proxy.public2 disabled=yes ininterface=Proxy new-connectionmark=\ proxy.public2 passthrough=yes add action=mark-connection chain=prerouting comment="" connection-mark=\ proxy.public3 disabled=yes ininterface=Proxy new-connectionmark=\ proxy.public3 passthrough=yes add action=mark-connection chain=prerouting comment="PROXY PCC" disabled=yes \ dst-address-type=!local dstport=80,81,8080,3128 ininterface=Proxy \ new-connection-mark=proxy.public1 passthrough=yes \ per-connection-classifier=bothaddresses-and-ports:3/0 protocol=tcp add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-type=!local dstport=80,81,8080,3128 ininterface=Proxy \
new-connection-mark=proxy.public2 passthrough=yes \ per-connection-classifier=bothaddresses-and-ports:3/1 protocol=tcp add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-type=!local dstport=80,81,8080,3128 ininterface=Proxy \ new-connection-mark=proxy.public3 passthrough=yes \ per-connection-classifier=bothaddresses-and-ports:3/2 protocol=tcp add action=mark-routing chain=prerouting comment="PROXY ROUTE" \ connection-mark=proxy.public1 disabled=yes in-interface=Proxy \ new-routing-mark=public_1 passthrough=yes add action=mark-routing chain=prerouting comment="" connection-mark=\ proxy.public2 disabled=yes ininterface=Proxy new-routingmark=public_1 \ passthrough=yes add action=mark-routing chain=prerouting comment="" connection-mark=\ proxy.public3 disabled=yes ininterface=Proxy new-routingmark=public_2 \ passthrough=yes add action=mark-connection chain=input comment="LOCAL CONNMARK" \ connection-state=new disabled=yes in-interface=Local new-connectionmark=\ local.public1 passthrough=yes add action=mark-connection chain=input comment="" connectionstate=new \ disabled=yes in-interface=Local new-connection-mark=local.public2 \ passthrough=yes add action=mark-connection chain=input comment="" connectionstate=new \ disabled=yes in-interface=Local new-connection-mark=local.public3 \
passthrough=yes add action=mark-connection chain=prerouting comment="" connection-mark=\ local.public1 disabled=yes ininterface=Local new-connectionmark=\ local.public1 passthrough=no add action=mark-connection chain=prerouting comment="" connection-mark=\ local.public2 disabled=yes ininterface=Local new-connectionmark=\ local.public2 passthrough=no add action=mark-connection chain=prerouting comment="" connection-mark=\ local.public3 disabled=yes ininterface=Local new-connectionmark=\ local.public3 passthrough=no add action=mark-connection chain=prerouting comment="LOCAL PCC" disabled=yes \ dst-address-list=!Transparent dstaddress-type=!local dst-port=\ !80,81,8080,3128 in-interface=Local new-connection-mark=local.public1 \ passthrough=yes per-connectionclassifier=src-address:3/0 protocol=tcp add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-list=!Transparent dstaddress-type=!local dst-port=\ !80,81,8080,3128 in-interface=Local new-connection-mark=local.public2 \ passthrough=yes per-connectionclassifier=src-address:3/1 protocol=tcp add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-list=!Transparent dstaddress-type=!local dst-port=\ !80,81,8080,3128 in-interface=Local new-connection-mark=local.public3 \ passthrough=yes per-connectionclassifier=src-address:3/2 protocol=tcp add action=mark-connection chain=prerouting comment="" disabled=yes \
dst-address-type=!local ininterface=Local new-connectionmark=\ local.public1 passthrough=yes perconnection-classifier=src-address:3/0 \ protocol=udp add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-type=!local ininterface=Local new-connectionmark=\ local.public2 passthrough=yes perconnection-classifier=src-address:3/1 \ protocol=udp add action=mark-connection chain=prerouting comment="" disabled=yes \ dst-address-type=!local ininterface=Local new-connectionmark=\ local.public3 passthrough=yes perconnection-classifier=src-address:3/2 \ protocol=udp add action=mark-routing chain=prerouting comment="LOCAL ROUTE" \ connection-mark=local.public1 disabled=yes in-interface=Local \ new-routing-mark=public_1 passthrough=yes add action=mark-routing chain=prerouting comment="" connection-mark=\ local.public2 disabled=yes ininterface=Local new-routingmark=public_1 \ passthrough=yes add action=mark-routing chain=prerouting comment="" connection-mark=\ local.public3 disabled=yes ininterface=Local new-routingmark=public_2 \ passthrough=yes add action=mark-connection chain=prerouting comment="MARK LOCAL-IN CONN" \ disabled=no dst-addresslist=!Gateway in-interface=Local \ new-connection-mark=all.pre_conn passthrough=yes
add action=mark-packet chain=prerouting comment="" connection-mark=\ all.pre_conn disabled=no newpacket-mark=all.pre_pkt passthrough=yes add action=mark-connection chain=forward comment="MARK LOCAL-OUT CONN" \ disabled=no new-connectionmark=all.post_conn outinterface=Local \ passthrough=yes add action=mark-packet chain=forward comment="" connection-mark=all.post_conn \ disabled=no new-packetmark=all.post_pkt passthrough=yes add action=mark-connection chain=prerouting comment="MARK HTTP/S CONN" \ connection-mark=all.pre_conn disabled=no dst-port=80,443 \ new-connectionmark=browsing_conn passthrough=yes protocol=tcp add action=mark-connection chain=prerouting comment="Memisahkan BROWSING" \ connection-mark=browsing_conn disabled=no new-connectionmark=http_conn \ passthrough=yes protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=0-131072 \ connection-mark=http_conn disabled=no new-packetmark=http_pkt \ passthrough=no protocol=tcp add action=mark-packet chain=forward comment="Memisahkan Download" \ connection-bytes=131072-0 connection-mark=all.post_conn disabled=no \ dst-address=192.168.0.118 newpacket-mark=client1.d_pkt passthrough=no \ protocol=tcp
add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dst-address=192.168.0.5 \ new-packet-mark=client2.d_pkt passthrough=no protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dst-address=192.168.0.8 \ new-packet-mark=client3.d_pkt passthrough=no protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dst-address=192.168.0.50 \ new-packet-mark=client4.d_pkt passthrough=no protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dstaddress=192.168.0.102 \ new-packet-mark=client5.d_pkt passthrough=no protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dstaddress=192.168.0.105 \ new-packet-mark=client6.d_pkt passthrough=no protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dst-address=192.168.0.2 \ new-packet-mark=client8.d_pkt passthrough=yes protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dst-address=192.168.0.3 \ new-packet-mark=client9.d_pkt passthrough=yes protocol=tcp
add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dst-address=192.168.0.4 \ new-packet-mark=client10.d_pkt passthrough=yes protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dst-address=192.168.0.9 \ new-packet-mark=client11.d_pkt passthrough=yes protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dst-address=192.168.0.6 \ new-packet-mark=client12.d_pkt passthrough=yes protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dst-address=192.168.0.7 \ new-packet-mark=client13.d_pkt passthrough=yes protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dst-address=192.168.0.10 \ new-packet-mark=client14.d_pkt passthrough=yes protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dst-address=192.168.0.11 \ new-packet-mark=client15.d_pkt passthrough=yes protocol=tcp add action=mark-packet chain=forward comment="" connection-bytes=131072-0 \ connection-mark=all.post_conn disabled=no dstaddress=192.168.0.110 \ new-packet-mark=client7.d_pkt passthrough=yes protocol=tcp
add action=mark-connection chain=forward comment="A/V STREAM" \ connection-mark=all.post_conn disabled=no new-connectionmark=stream_conn \ passthrough=yes protocol=tcp srcport=554,8000,88,1935 add action=mark-packet chain=forward comment="" connection-mark=stream_conn \ disabled=no new-packetmark=stream_pkt passthrough=no add action=mark-connection chain=prerouting comment="LimitConn 7z" \ connection-mark=browsing_conn disabled=no layer7-protocol=7z \ new-connectionmark=download_conn passthrough=yes protocol=tcp add action=mark-connection chain=prerouting comment="LimitConn EXE" \ connection-mark=browsing_conn disabled=no layer7-protocol=EXE \ new-connectionmark=download_conn passthrough=yes protocol=tcp add action=mark-connection chain=prerouting comment="LimitConn RAR" \ connection-mark=browsing_conn disabled=no layer7-protocol=RAR \ new-connectionmark=download_conn passthrough=yes protocol=tcp add action=mark-connection chain=prerouting comment="LimitConn ZIP" \ connection-mark=browsing_conn disabled=no layer7-protocol=ZIP \ new-connectionmark=download_conn passthrough=yes protocol=tcp add action=mark-connection chain=prerouting comment="LimitConn MP3" \ connection-mark=browsing_conn disabled=no layer7-protocol=MP3 \ new-connectionmark=download_conn passthrough=yes protocol=tcp
add action=mark-connection chain=prerouting comment="LimitConn WMV" \ connection-mark=browsing_conn disabled=no layer7-protocol=WMV \ new-connectionmark=download_conn passthrough=yes protocol=tcp add action=mark-connection chain=prerouting comment="LimitConn 3GP" \ connection-mark=browsing_conn disabled=no layer7-protocol=3GP \ new-connectionmark=download_conn passthrough=yes protocol=tcp add action=mark-connection chain=prerouting comment="LimitConn FLV" \ connection-mark=browsing_conn disabled=no layer7-protocol=FLV \ new-connectionmark=streaming_conn passthrough=yes protocol=tcp add action=mark-connection chain=prerouting comment="LimitConn MP4" \ connection-mark=browsing_conn disabled=no layer7-protocol=MP4 \ new-connectionmark=streaming_conn passthrough=yes protocol=tcp add action=mark-connection chain=prerouting comment="LimitConn Youtube" \ connection-mark=browsing_conn content=videoplayback disabled=no \ new-connectionmark=streaming_conn passthrough=yes protocol=tcp add action=mark-connection chain=forward comment=Speedtest disabled=yes \ dst-address-list=speed dst-port=80 new-connection-mark=speedtest \ passthrough=yes protocol=tcp add action=mark-packet chain=forward comment="" connection-mark=speedtest \ disabled=yes new-packetmark=speedtest passthrough=no
add action=mark-packet chain=prerouting comment="" disabled=no dscp=12 \ new-packet-mark=proxy-hit passthrough=no add action=mark-connection chain=prerouting comment="" disabled=no dst-port=\ 80 new-connection-mark=http-conn passthrough=yes protocol=tcp add action=mark-packet chain=prerouting comment="" connection-mark=http-conn \ disabled=no new-packet-mark=http passthrough=yes add action=mark-connection chain=prerouting comment="" disabled=no dst-port=\ 53 new-connection-mark=DNS passthrough=yes protocol=udp add action=mark-packet chain=prerouting comment="" disabled=no \ new-packet-mark=DNS_PACKET passthrough=yes e.
add action=mark-connection chain=forward comment="" disabled=no dst-port=\ 5050,5100,5051 new-connectionmark=YM passthrough=no protocol=tcp add action=mark-connection chain=prerouting comment="" connection-mark=YM \ disabled=no new-connectionmark=YM passthrough=yes add action=mark-connection chain=input comment="" disabled=no dst-port=8291 \ new-connection-mark=winbox passthrough=no protocol=tcp add action=change-mss chain=forward comment="" disabled=no ininterface=\ PPPoE-Speedy new-mss=1440 protocol=tcp tcp-flags=syn
Queue Queue berfungsi sebagai manajemen bandwidth di dalam jaringan /queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=1G name="A. INBOUND" parent=global-out priority=1 add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=2048k name="A4. DOWNLOAD" parent="A. INBOUND" priority=8 /queue type set default kind=pfifo name=default pfifo-limit=50 set ethernet-default kind=pfifo name=ethernet-default pfifo-limit=50 set wireless-default kind=sfq name=wireless-default sfq-allot=1514 \ sfq-perturb=5
set synchronous-default kind=red name=synchronous-default red-avgpacket=1000 \ red-burst=20 red-limit=60 red-maxthreshold=50 red-min-threshold=10 set hotspot-default kind=sfq name=hotspot-default sfq-allot=1514 sfq-perturb=\ 5 add kind=pcq name=pcq_down pcqclassifier=dst-address,dst-port pcqlimit=50 \ pcq-rate=0 pcq-total-limit=2000 set default-small kind=pfifo name=default-small pfifo-limit=10 /queue tree add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=1G name="A1. PROXY HIT" packet-mark=HIT parent="A. INBOUND" \ priority=1 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=1024k name="A3. BROWSING" packet-mark=http_pkt parent=\ "A. INBOUND" priority=3 queue=default add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=256k name=Client01 packet-mark=client1.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=128k name=Client02 packet-mark=client2.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=256k name=Client03 packet-mark=client3.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=yes limit-at=0 \ max-limit=64k name=Client04 packet-mark=client4.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=256k name="A2. A/V STREAM" packet-mark=stream_pkt parent=\ "A. INBOUND" priority=8 queue=default add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=0 name=Speedtest packet-mark=speedtest parent=globalout \ priority=1 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=128k name=Client05 packet-mark=client5.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=128k name=Client06 packet-mark=client6.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=default add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=128k name=Client07 packet-mark=client7.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=64k name=Client08 packet-mark=client8.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=64k name=Client09 packet-mark=client9.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=64k name=Client10 packet-mark=client10.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=64k name=Client11 packet-mark=client11.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \
max-limit=64k name=Client12 packet-mark=client12.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=64k name=Client13 packet-mark=client13.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=64k name=Client14 packet-mark=client14.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=64k name=Client15 packet-mark=client15.d_pkt parent=\ "A4. DOWNLOAD" priority=8 queue=pcq_down /queue interface set Public1 queue=ethernet-default set Local queue=ethernet-default set PPPoE-Speedy queue=default set Public2 queue=ethernet-default set Proxy queue=ethernet-default
f. Squid Squid digunakan sebagai proxy server dan web cache. ####################################################### ## SQUID 2.7 - High Performance Configuration ## ==================================================== ## ####################################################### ##start of config http_port 3128 transparent server_http11 on icp_port 0 # cache_peer 203.128.88.193 parent 8910 0 no-query no-netdb-exchange no-digest # File Squid pid_filename /var/run/squid.pid coredump_dir /var/spool/squid/ error_directory /usr/share/squid/errors/en/ icon_directory /usr/share/squid/icons mime_table /usr/share/squid/mime.conf visible_hostname proxy # Log Squid access_log /var/log/squid/access.log cache_log /dev/null cache_store_log /dev/null # Beberapa log yg tidak signifikan karena opsi2-nya jarang digunakan. log_fqdn off log_icp_queries off buffered_logs off emulate_httpd_log off
#====================================================================== ===== # TAG: FTP section #--------------------------------------------------------------------------# Selalu gunakan opsi ini untuk mengurangi beban trafik. FTP mode pasif # menyebabkan client tidak berhubungan langsung dengan FTP Server tujuan # dan menggunakan squid sebagai relay sehingga bandwidth utk koneksi FTP # bisa dikontrol mungkin dengan kombinasi IP filtering (PF (BSD)/ IPTABLES). #====================================================================== ===== ftp_list_width 32 ftp_passive on ftp_sanitycheck on #=================================================================== # TAG: ACL Section #------------------------------------------------------------------# Allow local network(s) on interface(s) # Example rule allowing access from your local networks. # Adapt to list your (internal) IP networks from where browsing # should be allowed #=================================================================== acl localnet src 192.168.0.0/24 # IP LOCAL (sesuaikan dg network juragan) acl localnet src 192.168.3.0/24 # IP PROXY uri_whitespace strip #DNS NAMESERVER dns_nameservers 192.168.3.254 cache_mem 8 MB maximum_object_size_in_memory 32 KB memory_replacement_policy heap GDSF cache_replacement_policy heap LFUDA cache_dir aufs /home/proxy1 15000 32 256 cache_dir aufs /home/proxy2 15000 32 256 cache_dir aufs /home/proxy3 15000 32 256 minimum_object_size 0 bytes maximum_object_size 1024 MB offline_mode off cache_swap_low 98 cache_swap_high 99 # Setup some default acls acl all src 0.0.0.0/0 acl localhost src 127.0.0.1/32 acl safeports port 21 70 80 81 210 280 443 488 563 591 631 777 901 3128 1025-65535 acl sslports port 443 563 81 acl manager proto cache_object acl purge method PURGE acl connect method CONNECT
acl dynamic urlpath_regex cgi-bin \? http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny !safeports http_access deny CONNECT !sslports # Always allow localhost connections http_access allow localhost # Allow local network(s) on interface(s) http_access allow localnet # Default block all to be sure http_access deny all header_access X-Forwarded-For deny all #follow_x_forwarded_for allow localnet #follow_x_forwarded_for allow localhost http_gzip on http_gzip_types text/plain,text/html,text/xml,text/css,application/xml,application/xhtml+xml,application/rss+ xml,application/javascript,application/x-javascript #===================================================== # TAG: ZPH #===================================================== tcp_outgoing_tos 0x30 localnet zph_mode tos zph_local 0x30 zph_parent 0 zph_option 136 #==================================================== # TAG: STORE RULE #==================================================== # Caching Youtube acl videocache_allow_url url_regex -i \.youtube\.com\/get_video\? acl videocache_allow_url url_regex -i \.youtube\.com\/videoplayback \.youtube\.com\/videoplay \.youtube\.com\/get_video\? acl videocache_allow_url url_regex -i \.youtube\.[a-z][a-z]\/videoplayback \.youtube\.[az][a-z]\/videoplay \.youtube\.[a-z][a-z]\/get_video\? acl videocache_allow_url url_regex -i \.googlevideo\.com\/videoplayback \.googlevideo\.com\/videoplay \.googlevideo\.com\/get_video\? acl videocache_allow_url url_regex -i \.google\.com\/videoplayback \.google\.com\/videoplay \.google\.com\/get_video\? acl videocache_allow_url url_regex -i \.google\.[a-z][a-z]\/videoplayback \.google\.[a-z][az]\/videoplay \.google\.[a-z][a-z]\/get_video\? acl videocache_allow_url url_regex -i proxy[a-z0-9\-][a-z0-9][a-z0-9][a-z09]?\.dailymotion\.com\/ acl videocache_allow_url url_regex -i vid\.akm\.dailymotion\.com\/ acl videocache_allow_url url_regex -i [a-z0-9][0-9a-z][0-9a-z]?[0-9a-z]?[0-9az]?\.xtube\.com\/(.*)flv acl videocache_allow_url url_regex -i \.vimeo\.com\/(.*)\.(flv|mp4)
acl videocache_allow_url url_regex -i va\.wrzuta\.pl\/wa[0-9][0-9][0-9][0-9]? acl videocache_allow_url url_regex -i \.youporn\.com\/(.*)\.flv acl videocache_allow_url url_regex -i \.msn\.com\.edgesuite\.net\/(.*)\.flv acl videocache_allow_url url_regex -i \.tube8\.com\/(.*)\.(flv|3gp) acl videocache_allow_url url_regex -i \.mais\.uol\.com\.br\/(.*)\.flv acl videocache_allow_url url_regex -i \.blip\.tv\/(.*)\.(flv|avi|mov|mp3|m4v|mp4|wmv|rm|ram|m4v) acl videocache_allow_url url_regex -i \.break\.com\/(.*)\.(flv|mp4) acl videocache_allow_url url_regex -i redtube\.com\/(.*)\.flv acl videocache_allow_dom dstdomain .mccont.com .metacafe.com .cdn.dailymotion.com acl videocache_deny_dom dstdomain .download.youporn.com .static.blip.tv acl dontrewrite url_regex redbot\.org \.php acl getmethod method GET storeurl_access deny dontrewrite storeurl_access deny !getmethod storeurl_access deny videocache_deny_dom storeurl_access allow videocache_allow_url storeurl_access allow videocache_allow_dom storeurl_access deny all storeurl_rewrite_program /etc/squid/storeurl.pl storeurl_rewrite_children 7 storeurl_rewrite_concurrency 10 #========================================================= # TAG: Refresh Pattern #========================================================= # 1 year = 525600 mins, 1 month = 43200 mins, 1 day = 1440 #========================================================= refresh_pattern (get_video\?|videoplayback\?|videodownload\?|\.flv?) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims store-stale refresh_pattern (get_video\?|videoplayback\?id|videoplayback.*id|videodownload\?|\.flv?) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-private override-expire override-lastmod reload-into-ims store-stale refresh_pattern \.(ico|video-stats) 43200 999999% 43200 override-expire ignore-reload ignore-no-cache ignore-no-store ignore-private ignore-auth override-lastmod ignore-mustrevalidate negative-ttl=10080 store-stale refresh_pattern \.etology\? 43200 999999% 43200 override-expire ignore-reload ignore-no-cache store-stale refresh_pattern galleries\.video(\?|sz) 43200 999999% 43200 override-expire ignore-reload ignore-no-cache store-stale refresh_pattern brazzers\? 43200 999999% 43200 override-expire ignore-reload ignore-no-cache store-stale refresh_pattern \.adtology\? 43200 999999% 43200 override-expire ignore-reload ignore-no-cache store-stale refresh_pattern ^.*(utm\.gif|ads\?|rmxads\.com|ad\.z5x\.net|bh\.contextweb\.com|bstats\.adbrite\.co m|a1\.interclick\.com|ad\.trafficmp\.com|ads\.cubics\.com|ad\.xtendmedia\.com|\.goog lesyndication\.com|advertising\.com|yieldmanager|gameadvertising\.com|pixel\.quantserve\.com|adperium\.com|doubleclick\.net|adserving\.cpx
interactive\.com|syndication\.com|media.fastclick.net).* 43200 20% 43200 ignore-no-cache ignore-no-store ignore-private override-expire ignore-reload ignore-auth ignore-mustrevalidate store-stale negative-ttl=40320 max-stale=10 refresh_pattern ^.*safebrowsing.*google 43200 999999% 43200 override-expire ignore-reload ignore-no-cache ignore-private ignore-auth ignore-must-revalidate negative-ttl=10080 storestale refresh_pattern ^http://((cbk|mt|khm|mlt)[0-9]?)\.google\.co(m|\.uk) 43200 999999% 43200 override-expire ignore-reload ignore-private store-stale negative-ttl=10080 refresh_pattern ytimg\.com.*\.jpg 43200 999999% 43200 overrideexpire ignore-reload store-stale refresh_pattern images\.friendster\.com.*\.(png|gif) 43200 999999% 43200 override-expire ignore-reload store-stale refresh_pattern garena\.com 43200 999999% 43200 overrideexpire reload-into-ims store-stale refresh_pattern photobucket.*\.(jp(e?g|e|2)|tiff?|bmp|gif|png) 43200 999999% 43200 override-expire ignore-reload store-stale refresh_pattern vid\.akm\.dailymotion\.com.*\.on2\? 43200 999999% 43200 ignore-no-cache override-expire override-lastmod store-stale refresh_pattern mediafire.com\/images.*\.(jp(e?g|e|2)|tiff?|bmp|gif|png) 43200 999999% 43200 reload-into-ims override-expire ignore-private store-stale refresh_pattern ^http:\/\/images|pics|thumbs[0-9]\. 43200 999999% 43200 reload-into-ims ignore-no-cache ignore-no-store ignore-reload override-expire store-stale refresh_pattern ^http:\/\/www.onemanga.com.*\/ 43200 999999% 43200 reload-into-ims ignore-no-cache ignore-no-store ignore-reload override-expire store-stale refresh_pattern ^http://v\.okezone\.com/get_video\/([a-zA-Z0-9]) 43200 999999% 43200 override-expire ignore-reload ignore-no-cache ignore-no-store ignore-private ignore-auth override-lastmod ignore-must-revalidate negative-ttl=10080 store-stale # ANTI VIRUS refresh_pattern guru.avg.com/.*\.(bin) 1440 999999% 10080 ignore-nocache ignore-no-store ignore-reload reload-into-ims store-stale refresh_pattern (avgate|avira).*(idx|gz)$ 1440 999999% 10080 ignore-nocache ignore-no-store ignore-reload reload-into-ims store-stale refresh_pattern kaspersky.*\.avc$ 1440 999999% 10080 ignore-nocache ignore-no-store ignore-reload reload-into-ims store-stale refresh_pattern kaspersky 1440 999999% 10080 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale refresh_pattern update.nai.com/.*\.(gem|zip|mcs) 1440 999999% 10080 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale refresh_pattern ^http:\/\/liveupdate.symantecliveupdate.com.*\(zip) 1440 999999% 10080 ignore-no-cache ignore-no-store ignore-reload reload-into-ims store-stale refresh_pattern windowsupdate.com/.*\.(cab|exe) 10080 999999% 43200 ignoreno-cache ignore-no-store ignore-reload reload-into-ims store-stale refresh_pattern update.microsoft.com/.*\.(cab|exe) 10080 999999% 43200 ignoreno-cache ignore-no-store ignore-reload reload-into-ims store-stale refresh_pattern download.microsoft.com/.*\.(cab|exe) 10080 999999% 43200 ignoreno-cache ignore-no-store ignore-reload reload-into-ims store-stale #images facebook refresh_pattern -i \.facebook.com.*\.(jpg|png|gif) 129600 999999% 129600 ignore-reload override-expire ignore-no-cache ignore-no-store store-stale
refresh_pattern -i \.fbcdn.net.*\.(jpg|gif|png|swf|mp3) 129600 999999% 129600 ignore-reload override-expire ignore-no-cache ignore-no-store store-stale refresh_pattern static\.ak\.fbcdn\.net*\.(jpg|gif|png) 129600 999999% 129600 ignore-reload override-expire ignore-no-cache ignore-no-store store-stale refresh_pattern ^http:\/\/profile\.ak\.fbcdn.net*\.(jpg|gif|png) 129600 999999% 129600 ignore-reload override-expire ignore-no-cache ignore-no-store store-stale # games facebook refresh_pattern ^http:\/\/apps.facebook.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store store-stale refresh_pattern -i \.zynga.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale refresh_pattern -i \.farmville.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale refresh_pattern -i \.ninjasaga.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale refresh_pattern -i \.mafiawars.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale refresh_pattern -i \.crowdstar.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale refresh_pattern -i \.popcap.com.*\/ 10080 999999% 43200 ignore-reload override-expire ignore-no-cache ignore-no-store ignore-must-revalidate store-stale #banner IIX refresh_pattern ^http:\/\/openx.*\.(jp(e?g|e|2)|gif|pn[pg]|swf|ico|css|tiff?) 129600 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache ignore-nostore store-stale refresh_pattern ^http:\/\/ads(1|2|3).kompas.com.*\/ 43200 99999% 129600 reloadinto-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale refresh_pattern ^http:\/\/img.ads.kompas.com.*\/ 43200 99999% 129600 reloadinto-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale refresh_pattern .kompasimages.com.*\.(jpg|gif|png|swf) 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale refresh_pattern ^http:\/\/openx.kompas.com.*\/ 43200 99999% 129600 reloadinto-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale refresh_pattern kaskus.\us.*\.(jp(e?g|e|2)|gif|png|swf) 43200 99999% 129600 reloadinto-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale refresh_pattern ^http:\/\/img.kaskus.us.*\.(jpg|gif|png|swf) 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache ignore-no-store store-stale #IIX DOWNLOAD refresh_pattern ^http:\/\/\.www[0-9][09]\.indowebster\.com\/(.*)(mp3|rar|zip|flv|wmv|3gp|mp(4|3)|exe|msi|zip) 43200 99999% 129600 reload-into-ims ignore-reload override-expire ignore-no-cache ignore-nostore store-stale ignore-auth #All File refresh_pattern -i \.(3gp|7z|ace|asx|bin|deb|divx|dvr-ms|ram|rpm|exe|inc|cab|qt) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-must-revalidate overrideexpire override-lastmod reload-into-ims store-stale refresh_pattern -i \.(rar|jar|gz|tgz|bz2|iso|m1v|m2(v|p)|mo(d|v)|arj|lha|lzh|zip|tar) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-must-revalidate overrideexpire override-lastmod reload-into-ims store-stale
refresh_pattern -i \.(jp(e?g|e|2)|gif|pn[pg]|bm?|tiff?|ico|swf|dat|ad|txt|dll) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims store-stale refresh_pattern -i \.(avi|ac4|mp(e?g|a|e|1|2|3|4)|mk(a|v)|ms(i|u|p)|og(x|v|a|g)|rm|r(a|p)m|snd|vob) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-must-revalidate overrideexpire override-lastmod reload-into-ims store-stale refresh_pattern -i \.(pp(t?x)|s|t)|pdf|rtf|wax|wm(a|v)|wmx|wpl|cb(r|z|t)|xl(s?x)|do(c?x)|flv|x-flv) 43200 999999% 43200 ignore-no-cache ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims store-stale refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern ^ftp: 10080 95% 43200 override-lastmod reload-into-ims store-stale refresh_pattern . 00 95% 43200 override-lastmod reload-into-ims store-stale #===================================================== # SNMP #===================================================== snmp_port 3401 acl snmppublic snmp_community public snmp_access allow snmppublic localhost snmp_access deny all #============================================== # TAG: Extra Tuning Configuration #============================================== header_access Accept-Encoding deny all client_persistent_connections off server_persistent_connections on half_closed_clients off strip_query_terms off quick_abort_min 0 KB quick_abort_max 0 KB quick_abort_pct 100 vary_ignore_expire on reload_into_ims on pipeline_prefetch on range_offset_limit 512 KB read_timeout 30 minutes client_lifetime 6 hours negative_ttl 30 seconds positive_dns_ttl 6 hours negative_dns_ttl 60 seconds pconn_timeout 15 seconds request_timeout 1 minute store_avg_object_size 13 KB log_icp_queries off ipcache_size 16384 ipcache_low 98 ipcache_high 99
log_fqdn off fqdncache_size 16384 memory_pools off forwarded_for on logfile_rotate 3 store_dir_select_algorithm round-robin cache_effective_user proxy cache_effective_group proxy max_filedescriptors 8192 ##end of config Storeurl.pl #!/usr/bin/perl # $Rev$ # by
[email protected] # Updates at http://wiki.squidcache.org/ConfigExamples/DynamicCo ntent/YouTube/Discussion $|=1; while (<>) { @X = split; # $X[1] =~ s/&sig=.*//; $x = $X[0] . " "; $_ = $X[1]; $u = $X[1]; # compatibility for old cached get_video?video_id if (m/^http:\/\/([09.]{4}|.*\.youtube\.com|.*\.googlevid eo\.com|.*\.video\.google\.com).*?(vi deoplayback\?id=.*?|video_id=.*?)\&( .*?)/) { $z = $2; $z =~ s/video_id=/get_video?video_id=/; print $x . "http://videosrv.youtube.com.SQUIDINTERNAL/" . $z . "\n"; # youtube HD itag=22 } elsif (m/^http:\/\/([09.]{4}|.*\.youtube\.com|.*\.googlevid eo\.com|.*\.video\.google\.com).*?\& (itag=22).*?\&(id=[a-zA-Z0-9]*)/) { print $x . "http://videosrv.youtube.com.SQUIDINTERNAL/" . $2 . "&" . $3 . "\n";
# youtube Normal screen always HD itag 35, Normal screen never HD itag 34, itag=18 <--normal? } elsif (m/^http:\/\/([09.]{4}|.*\.youtube\.com|.*\.googlevid eo\.com|.*\.video\.google\.com).*?\& (itag=[0-9]*).*?\&(id=[a-zA-Z0-9]*)/) { print $x . "http://videosrv.youtube.com.SQUIDINTERNAL/" . $3 . "\n"; } elsif (m/^http:\/\/www\.googleanalytics\.com\/__utm\.gif\?.*/) { print $x . "http://www.googleanalytics.com/__utm.gif\n"; #Cache High Latency Ads } elsif (m/^http:\/\/([a-z09.]*)(\.doubleclick\.net|\.quantserve \.com|\.googlesyndication\.com|yield manager|cpxinteractive)(.*)/) { $y = $3;$z = $2; for ($y) { s/pixel;.*/pixel/; s/activity;.*/activity/; s/(imgad[^&]*).*/\1/; s/;ord=[?0-9]*//; s/;×tamp=[0-9]*//; s/[&?]correlator=[0-9]*//; s/&cookie=[^&]*//; s/&ga_hid=[^&]*//; s/&ga_vid=[^&]*//; s/&ga_sid=[^&]*//; # s/&prev_slotnames=[^&]*// # s/&u_his=[^&]*//; s/&dt=[^&]*//; s/&dtd=[^&]*//;
s/&lmt=[^&]*//; s/(&alternate_ad_url=http%3A %2F%2F[^(%2F)]*)[^&]*/\1/; s/(&url=http%3A%2F%2F[^(% 2F)]*)[^&]*/\1/; s/(&ref=http%3A%2F%2F[^(% 2F)]*)[^&]*/\1/; s/(&cookie=http%3A%2F%2F[ ^(%2F)]*)[^&]*/\1/; s/[;&?]ord=[?0-9]*//; s/[;&]mpvid=[^&;]*//; s/&xpc=[^&]*//; # yieldmanager s/\?clickTag=[^&]*//; s/&u=[^&]*//; s/&slotname=[^&]*//; s/&page_slots=[^&]*//; } print $x . "http://" . $1 . $2 . $y . "\n"; #cache high latency ads } elsif (m/^http:\/\/(.*?)\/(ads)\?(.*?)/) { print $x . "http://" . $1 . "/" . $2 . "\n"; # spicific servers starts here.... } elsif (m/^http:\/\/(www\.ziddu\.com.*\.[^ \/]{3,4})\/(.*?)/) { print $x . "http://" . $1 . "\n"; #cdn, varialble 1st path } elsif (($u =~ /filehippo/) && (m/^http:\/\/(.*?)\.(.*?)\/(.*?)\/(.*)\.([a -z0-9]{3,4})(\?.*)?/)) { @y = ($1,$2,$4,$5); $y[0] =~ s/[a-z0-9]{2,5}/cdn./; print $x . "http://" . $y[0] . $y[1] . "/" . $y[2] . "." . $y[3] . "\n"; #rapidshare } elsif (($u =~ /rapidshare/) && (m/^http:\/\/(([A-Za-z]+[0-9-.]+)*?)([az]*\.[^\/]{3}\/[a-z]*\/[09]*)\/(.*?)\/([^\/\?\&]{4,})$/)) { print $x . "http://cdn." . $3 . "/SQUIDINTERNAL/" . $5 . "\n";
#photosX.ak.fbcdn.net where X a-z } elsif (m/^http:\/\/photos-[az].ak.fbcdn.net\/(.*)/) { print $x . "http://photos.ak.fbcdn.net/" . $1 . "\n"; #general purpose for cdn servers. add above your specific servers. } elsif (m/^http:\/\/([09.]*?)\/\/(.*?)\.(.*)\?(.*?)/) { print $x . "http://squid-cdnurl//" . $2 . "." . $3 . "\n"; #for yimg.com doubled } elsif (m/^http:\/\/(.*?)\.yimg\.com\/(.*?)\. yimg\.com\/(.*?)\?(.*)/) { print $x . "http://cdn.yimg.com/" . $3 . "\n"; #for yimg.com with &sig= } elsif (m/^http:\/\/(.*?)\.yimg\.com\/(.*)/) { @y = ($1,$2); $y[0] =~ s/[a-z]+[0-9]+/cdn/; $y[1] =~ s/&sig=.*//; print $x . "http://" . $y[0] . ".yimg.com/" . $y[1] . "\n"; #generic http://variable.domain.com/path/filena me."ext" or "exte" with or withour "?" } elsif (m/^http:\/\/(.*)([^\.\]*?\..*?)\/(.*)\.([^\/\?\&]{3,4})(\?.*)?$ /) { @y = ($1,$2,$3,$4); $y[0] =~ s/(([a-zA-A-]+[0-9]+)|(.*cdn.*)|(.*cache.*))/cdn/; print $x . "http://" . $y[0] . $y[1] . "/" . $y[2] . "." . $y[3] . "\n"; # generic http://variable.domain.com/... } elsif (m/^http:\/\/(([A-Za-z]+[0-9]+)*?|.*cdn.*|.*cache.*)\.(.*?)\.(.*?)\/( .*)$/) { print $x . "http://cdn." . $3 . "." . $4 . "/" . $5 . "\n";
# spicific extention that ends with ? } elsif (m/^http:\/\/(.*?)\/(.*?)\.(jp(e?g|e|2)| gif|png|tiff?|bmp|ico|flv|on2)\?(.*)/) { print $x . "http://" . $1 . "/" . $2 . "." . $3 . "\n"; # all that ends with ;
} elsif (m/^http:\/\/(.*?)\/(.*?)\;(.*)/) { print $x . "http://" . $1 . "/" . $2 . "\n"; } else { print $x . $_ . "\n"; } }