PEMBUATAN INTERFACE KONFIGURASI ROUTER DAN MANAJEMEN BANDWIDTH BERBASIS WEB
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat Mencapai Gelar Ahli Madya Program Diploma III Teknik Informatika
Disusun oleh :
SOVYAN AFANDY
NIM. M3209082
PROGRAM DIPLOMA III TEKNIK INFORMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET 2012
ii
iii
iv
Sovyan Afandy. M3209082. DEVELOPING OF WEB-BASED
ROUTER INTERFACE CONFIGURATION AND BANDWIDTH
MANAGEMENT final project, Surakarta: Faculty of Mathematics and Sciences,
University of Sebelas Maret Surakarta, 2012.
The router and bandwidth management server can be built from an installed server computer by several software boosters. However, the several supporting softwares are belong to freeware-software that are still using CLI (command line interface) and there is no special interface to configure yet. These issues are required the solution for configuration of the router and bandwidth management server. Therefore, it is necessary to create a specific interface to simpifly the configuration of the router and bandwidth management server that is built from the server computer.
In this final project is made a web-based interface for configuring the router that is built using a computer server. The interface has a routing facility like static routes configuration and dynamic routes. Dynamic route protocol that can be configured with this interface were RIP_v2 protocol, OSPF and BGP. This interface also provides some additional features such as bandwidth configuration management, firewall to do drop IP, several tools that is very needed in computer networks such as ping and traceroute. Some interface software boosters are debian squeeze 6.0 as the operating system, the quagga as software routing, HTB-tools for bandwidth management, iptables as firewall and NAT, bridge-utils as a bridge, PHP as a language programming interface and Apache as the webserver. This interface is introduced by the writer and the name was DBIOSS INTRO (debian operating system simple interface router).
It can be concluded that this web-based interface can be used as a substituter of CLI mode on the router configuration and bandwidth management by the network administrator.
Keywords: Bandwidth management, BGP, bridge, computer server, Debian Squeeze 6.0, firewall, HTB-tools, NAT, networking, OSPF, PHP, Quagga, RIPv2, router, routing protocol, web-based Interface.
v
ABSTRAK
Sovyan Afandy. M3209082. PEMBUATAN INTERFACE
KONFIGURASI ROUTER DAN MANAJEMEN BANDWIDTH BERBASIS WEB Tugas Akhir, Surakarta : Fakultas Matematika dan Ilmu Pengetahuan Alam,
Universitas Sebelas Maret Surakarta, 2012.
Perangkat router dan server manajemen bandwidth, dapat di bangun dari sebuah komputer server yang diinstall oleh beberapa software pendukung. Namun, beberapa software tersebut yang tergolong freeware masih menggunakan CLI (command line interface) dan belum terdapat interface khusus untuk melakukan konfigurasi. Hal inilah yang dirasa cukup sulit dalam hal konfigurasi terhadap sebuah router atau server manajemen bandwidth. Oleh karena itu perlu adanya interface khusus yang mempermudah dalam melakukan konfigurasi sebuah perangkat router dan server manajemen bandwidth yang dibangun dari komputer server.
Dalam tugas akhir ini telah dibuat sebuah interface berbasis web untuk keperluan konfigurasi perangkat router yang dibangun dengan menggunakan komputer server. Interface yang telah dibuat memiliki fasilitas routing berupa konfigurasi static route dan dynamic route. Untuk protocol dynamic route yang dapat di konfigurasi dengan interface ini adalah protocol RIP_v2, OSPF dan BGP. Interface ini juga dilengkapi beberapa fasilitas tambahan seperti konfigurasi manajemen bandwidth, firewall untuk melakukan drop IP, beberapa tool yang sangat dibutuhkan dalam jaringan komputer seperti ping dan traceroute. Beberapa software pedukung interface ini adalah debian squeeze 6.0 sebagai operating
system, quagga sebagai software routing, HTB-tool sebagai manajemen bandwith, iptables sebagai firewall dan NAT, bridge-utils sebagai bridge, PHP sebagai
bahasa pemprograman interface dan apache sebagai webserver. Interface ini oleh penulis diperkenalkan dengan nama DBIOSS INTRO (debian operating system
simple interface router).
Dapat disimpulkan bahwa interface berbasis web ini dapat digunakan sebagai pengganti penggunaan mode CLI pada konfigurasi router dan manajemen
bandwidth oleh administrator jaringan.
Kata kunci : BGP, bridge, Debian Squeeze 6.0, firewall, HTB-tool, Interface berbasis web, komputer server, manajemen bandwidth, networking, NAT, OSPF, PHP, Quagga, RIPv2, router, routing protocol.
vi
Puji syukur atas kehadirat Allah SWT atas limpahan rahmat dan karunia-Nya, sholawat serta salam semoga selalu tercurahkan kepada nabi Muhammad SAW, sehingga penulis dapat menyelesaikan laporan Tugas Akhir dengan judul
PEMBUATAN INTERFACE KONFIGURASI ROUTER DAN
MANAJEMEN BANDWIDTH BERBASIS WEB untuk
memenuhi persyaratan kelulusan Program Diploma III Teknik Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta.
Dalam penyusunan laporan Tugas Akhir ini, tidak lepas dari bantuan dari berbagai pihak, sehingga segala kesulitan dalam penyusunan dapat penulis atasi. Untuk itu dengan segala kerendahan hati penulis mengucapkan banyak terima kasih kepada:
1. Bapak Prof. Ir. Ari Handono Ramelan, M.Sc (Hons), Ph.D, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta.
2. Bapak Drs. Y. S. Palgunadi, M. Sc, selaku Ketua Program Diploma III Teknik Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta.
3. Bapak Agus Purnomo, S.Si, selaku dosen pembimbing yang banyak sekali meluangkan waktu untuk memberikan petunjuk dan arahan dalam menyelesaikan Laporan Tugas Akhir ini.
4. Meiyanto Eko Sulistyo, S.T., M. Eng.,
selaku dosen penguji yang telah meluangkan waktunya untuk petunjuk dan arahan dalam sidang Tugas Akhir ini
5.
dorongan kepada penulis baik secara moril maupun materiil. 6. Rekan rekan mahasiswa D3 Teknik Informatika angkatan 2009.
vii
Penulis menyadari bahwa dalam penyusunan laporan Tugas Akhir ini terdapat kekurangan, sehingga penulisan laporan Tugas Akhir ini masih jauh dari sempurna.
Akhir kata penulis berharap semoga laporan ini bermanfaat bagi semua pembaca.
Surakarta, Juni 2012
Penulis
viii
HALAMAN JUDUL ... i
HALAMAN PERSETUJUAN ... ii
HALAMAN PENGESAHAN ... iii
ABSTRACT ... iv
ABSTRAK ... v
KATA PENGANTAR ... vi
DAFTAR ISI ... viii
DAFTAR GAMBAR ... x
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2 1.3 Batasan Masalah... 2 1.4 Tujuan ... 3 1.5 Manfaat ... 3 1.6 Metodologi Penelitian ... 3 1.7 Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 5
2.1 Routing ... 5
2.2 Quagga ... 11
2.3 HTB (Hierarchical Token Bucket) ... 15
2.4 HTB-Tool ... 18
2.5 Debian Squeeze 6.0 ... 21
2.6 PHP ... 21
BAB III PERANCANGAN DAN PERANCANGAN ... 24
3.1 Perancangan Sistem ... 24
3.2 Analisa Kebutuhan ... 25
3.3 Tahapan Pengerjaan ... 27
3.4 Pengujian dan Perbaikan ... 31
... 33
4.1 Implementasi ... 33
ix 4.2 Analisa... 96 ... 100 5.1 Kesimpulan ... 100 5.2 Saran ... 100 DAFTAR PUSTAKA ... 101
commit to user
x
Gambar 2.1 Sistem Arsitektur Quagga ... 12
Gambar 2.2 Alur Kerja HTB ... 16
Gambar 2.3 Contoh HTB Untuk Membatasi Upload ... 17
Gambar 2.4 Contoh HTB Untuk Membatasi Download ... 18
Gambar 3.1 Alur Kerja Interface Router Dan Server Bandwidth Manajemen 24 Gambar 3.2 Tahapan Pengerjaan ... 27
Gambar 3.3 Layout Interface Login Web ... 29
Gambar 3.4 Layout Interface Konfigurasi ... 29
Gambar 3.5 Site Menu ... 30
Gambar 4.1 Menjalankan Apache Dan Mysql ... 34
Gambar 4.2 Proses Apache Dan Mysql Yang Telah Berjalan ... 35
Gambar 4.3 Aplikasi PHP ... 35
Gambar 4.4 Aplikasi Brctl ... 36
Gambar 4.5 Aplikasi Iptables ... 36
Gambar 4.6 File Konfigurasi Daemon Quagga... 38
Gambar 4.7 Restart Proses Quagga ... 39
Gambar 4.8 Proses Quagga ... 39
Gambar 4.9 File Konfigurasi Quagga ... 40
Gambar 4.10 File Konfigurasi Default Zebra.Conf ... 41
Gambar 4.11 File Konfigurasi Default Ripd.Conf ... 41
Gambar 4.12 File Konfigurasi Default Ospfd.Conf ... 42
Gambar 4.13 File Konfigurasi Default Bgpd.Conf ... 42
Gambar 4.14 Telnet Routing Daemon Zebra ... 43
Gambar 4.15 File Konfigurasi HTB Tool ... 44
Gambar 4.16 File Konfigurasi HTB Tool Pada Directory Sbin ... 44
Gambar 4.17 File Konfigurasi HTB Tool Pada Directory Etc ... 45
Gambar 4.18 Aplikasi HTB Tool ... 46
Gambar 4.19 Interface Login Router ... 58 Gambar 4.20 Validasi User Yang Salah Memasukkan
xi
Password / Username ... 58
Gambar 4.21 Halaman Pemeriksaan Javascript Pada Browser User ... 59
Gambar 4.22 Menu Utama Halaman Basic Configuration ... 59
Gambar 4.23 Halaman IP Address Configuration ... 60
Gambar 4.24 Halaman DNS Configuration ... 60
Gambar 4.25 Halaman NAT Configuration... 60
Gambar 4.26 Halaman Bridge Configuration ... 61
Gambar 4.27 Halaman Firewall Configuration ... 61
Gambar 4.28 Menu Utama Halaman Routing Protocol ... 51
Gambar 4.29 Halaman Routing Static ... 62
Gambar 4.30 Halaman Routing RIP... 62
Gambar 4.31 Routing RIP Redistribute ... 63
Gambar 4.32 Halaman Routing OSPF ... 63
Gambar 4.33 Halaman Routing BGP ... 63
Gambar 4.34 Halaman Default Route ... 64
Gambar 4.35 Halaman Status IP Forwarding ... 64
Gambar 4.36 Menu Utama Halaman Manajemen Bandwidth ... 64
Gambar 4.37 Halaman Create Interface Untuk Limiter ... 65
Gambar 4.38 Halaman Limiter Konfigurasi... 65
Gambar 4.39 Halaman Start/Stop Limiter ... 65
Gambar 4.40 Menu Utama Halaman Route Table ... 66
Gambar 4.41 Menu Utama Halaman Utility ... 66
Gambar 4.42 Halaman Ping ... 67
Gambar 4.43 Halaman Traceroute ... 67
Gambar 4.44 Halaman Restart Quagga ... 67
Gambar 4.45 Menu Utama Halaman User Configuration ... 68
Gambar 4.46 Halaman User Management ... 68
Gambar 4.47 Halaman Quagga Telnet Password Management ... 68
Gambar 4.48 Halaman Setelah Logout Dari Halaman Web ... 69
Gambar 4.49 Topologi Pengujian ... 69
Gambar 4.50 Pemilihan Interface Pada ROUTER_DBIOSS INTRO ... 71
xii
INTRO ... 71
Gambar 4.52 Konfigurasi Network Interface Eth2 ROUTER_DBIOSS INTRO ... 71
Gambar 4.53 Konfigurasi Network Interface Eth1 ROUTER_DBIOSS INTRO ... 72
Gambar 4.54 Konfigurasi Default Route ROUTER_DBIOSS INTRO ... 72
Gambar 4.55 Konfigurasi DNS ROUTER_DBIOSS INTRO ... 72
Gambar 4.56 Cek Koneksi Ke WAN Dengan Ping ... 73
Gambar 4.57 Konfigurasi NAT ROUTER_DBIOSS INTRO ... 73
Gambar 4.58 Cek Koneksi Ke DNS Dari PC Client ... 74
Gambar 4.59 Konfigurasi Interface Manajemen Bandwidth ROUTER_DBIOSS INTRO ... 75
Gambar 4.60 Konfigurasi Limiter ROUTER_DBIOSS INTRO ... 75
Gambar 4.61 Konfigurasi Limiter ROUTER_DBIOSS INTRO Untuk Class_1 Dan Class_2 ... 76
Gambar 4.62 List Table Limit Configure Group Class_1 ... 76
Gambar 4.63 List Table Limit Configure Class_2 ... 77
Gambar 4.64 Edit Client_1 Class_2... 77
Gambar 4.65 Start Limiter Eth1 Setelah Konfigurasi Class_1 Dan Class_2 .. 78
Gambar 4.66 Test Download Client_1 Class_1 ... 78
Gambar 4.67 Test Download Client_2 Class_1 ... 78
Gambar 4.68 Test Download Client_1 Class_2 ... 79
Gambar 4.69 Test Download Client_2 Class_2 ... 79
Gambar 4.70 Q_Show Htb-Tool Untuk Goup Class_1 Dan Class_2 ... 79
Gambar 4.71 Konfigurasi Firewall ROUTER_DBIOSS INTRO ... 80
Gambar 4.72 Cek Koneksi Ke DNS Dari PC Client Setelah Drop IP Address ... 80
Gambar 4.73 Konfigurasi Bridge ROUTER_DBIOSS INTRO ... 81
Gambar 4.74 Table Yang Telah Di Konfigurasi ... 81
Gambar 4.75 Pengecekan Bridge Melalui Client. ... 82
xiii
Gambar 4.76 List Table Limit Configure Class_3 ... 83
Gambar 4.77 Start Limiter Eth1 Setelah Penambahan Class_3 ... 83
Gambar 4.78 Test Download Client_1a Class_3 ... 84
Gambar 4.79 Test Download Client_1b Class_3 ... 84
Gambar 4.80 Q_Show Htb-Tool Setelah Penambahan Class_3 ... 84
Gambar 4.81 Konfigurasi Network Interface Eth3 ROUTER_DBIOSS INTRO ... 86
Gambar 4.82 Test Koneksi Point To Point Dengan ROUTER_RIP1 ... 86
Gambar 4.83 Konfigurasi Routing Protocol Ripv2 ... 86
Gambar 4.84 Table Network Ripv2 Yang Telah Di Konfigurasi... 87
Gambar 4.85 Konfigurasi Resdistribute BGP Pada Protocol Ripv2 ... 87
Gambar 4.86 Konfigurasi Network Interface Eth0 ROUTER_DBIOSS INTRO ... 87
Gambar 4.87 Konfigurasi AS-Number BGP ... 88
Gambar 4.88 Konfigurasi Peer BGP ... 88
Gambar 4.89 Konfigurasi Advertise Network BGP ... 88
Gambar 4.90 Konfigurasi Resdistribute RIP Pada Protocol BGP ... 89
Gambar 4.91 Routing Table ROUTER_RIP2 ... 90
Gambar 4.92 Routing Table ROUTER_BGP2 ... 90
Gambar 4.93 Routing Table ROUTER_DBIOSS INTRO ... 91
Gambar 4.94 Ping Network ROUTER_BGP1 ... 91
Gambar 4.95 Ping Network ROUTER_DBIOSS INTRO ... 91
Gambar 4.96 Ping Network ROUTER_RIP1 Atau ROUTER_OSPF1 ... 92
Gambar 4.97 Ping Network ROUTER_RIP2 Atau ROUTER_OSPF2 ... 92
Gambar 4.98 Ping Network PC7 ... 92
Gambar 4.99 Ping Network PC8 ... 92
Gambar 4.100 Konfigurasi Routing Protocol OSPF ... 94
Gambar 4.101 Konfigurasi Resdistribute OSPF Pada Protocol BGP ... 94
Gambar 4.102 Konfigurasi Resdistribute BGP Pada Protocol OSPF... 95
Gambar 4.103 Routing Table ROUTER_BGP2 Dalam Pengujian Keempat .. 95
Gambar 4.104 Ping Network ROUTER_BGP1 Dalam Pengujian Keempat ... 95
xiv
Keempat ... 96 Gambar 4.106 Ping Network Router_Ospf1 ... 96 Gambar 4.107 Ping Network ROUTER_OSPF2 ... 96
1
BAB I PENDAHULUAN
1.1. Latar Belakang Masalah
Sebuah perangkat router dan manajemen bandwidth memiliki peranan penting dalam jaringan komputer. Perangkat tersebut, dapat di bangun dari sebuah komputer server yang diinstall beberapa software pendukung seperti quagga untuk kebutuhan routing dan HTB tool untuk manajemen bandwidth dengan
operating system open source seperti linux sebagai back-end nya. Namun, software tersebut masih menggunakan CLI (command line interface) dan belum
terdapat interface khusus untuk melakukan konfigurasi. Hal inilah yang dirasa cukup sulit dalam hal konfigurasi terhadap sebuah router atau server manajemen
bandwidth. Karena jika kita ingin melakukan konfigurasi terhadap sebuah router atau server manajemen bandwidth, minimal kita harus mengetahui
perintah-perintah yang digunakan oleh sistem router dan manajemen bandwidth tersebut.
Hal tersebut dapat diatasi dengan membangun sebuah interface router dan server manajemen bandwidth dengan sistem pengaturan berbasis web yang bersifat user-friendly. Dengan demikian, kegiatan seorang admin dalam melakukan konfigurasi terhadap sebuah router atau manajemen bandwidth dapat diselesaikan dalam waktu yang lebih singkat dan tanpa harus menguasai perintah-perintah yang ada dalam router atau manajemen bandwidth.
Pada project tugas akhir mahasiswa D3 Teknik Informatika Universitas Sebelas Maret pada tahun 2011, sudah terdapat project dengan judul pembuatan
interface router berbasis web menggunakan Ubuntu Server 11.0
oleh Ira Asta Wredhana dan server bandwidth manajemen berbasis
Kintoko Setyowidiyanto. Akan tetapi pada kedua project tersebut masih terdapat kekurangan dalam routing dynamic, yaitu belum terdapat protocol BGP (
Border gateway protocol) Dan belum terdapat tools untuk firewall. Karena
commit to user
juga menggunakan operating system yang berbeda. Maka dari itu penulis mengajukan penggabungan dan penambahan kekurangan dari kedua project tersebut untuk project Tugas Akhir dengan judul pembuatan interface konfigurasi Router dan manajemen bandwidth berbasis web.
1.2. Rumusan Masalah
Dari latar belakang yang telah di kemukakan di atas, dapat diambil rumusan masalah yang akan di bahas dalam penyusunan Tugas Akhir ini yaitu :
1. Bagaimana membuat sebuah interface untuk konfigurasi router dan manajemen bandwidth yang telah di buat pada project tugas akhir mahasiswa D3 Teknik Informatika Universitas sebelas maret pada tahun 2011, untuk di sempurnakan dengan penambahan routing
dynamic BGP, dan firewall.
2. Bagaiman membuat suatu interface yang dapat menangani konfigurasi
router dan manajemen bandwidth.
1.3. Batasan masalah
Untuk membatasi kajian masalah dalam penyusunan laporan tugas akhir ini, maka pembahasan masalah mengacu pada batasan berikut:
1. interface konfigurasi router dibuat menggunakan bahasa pemrograman PHP.
2. protokol routing yang disertakan adalah routing statis menggunakan
daemon zebra dan dinamis dengan protokol routing dinamis yang
disertakan adalah RIPv2 menggunakan daemon ripd, OSPF menggunakan
daemon ospfd, dan BGP menggunakan daemon bgpd.
3. Server manajemen bandwidth diterapkan pada mode bridging maupun
routing.
1.4. Tujuan
Tujuan dari penyusunan Tugas Akhir ini adalah pembuatan
interface konfigurasi Router dan manajemen bandwidth berbasis web yang
memiliki fasilitas untuk konfigurasi manajemen bandwidth, routing statis,
routing dinamis RIPv2, OSPF, BGP, dan firewall.
1.5. Manfaat
Manfaat dari pembuatan interface konfigurasi Router dan manajemen
bandwidth berbasis web adalah mempermudah dan mempercepat administrator
jaringan dalam melakukan konfigurasi router dan manajemen bandwidth melalui
interface web.
1.6. Metodologi Penelitian
Metode penelitian merupakan tahapan yang dilakukan saat melakukan suatu penelitian. Tahapan dalam penelitian meliputi :
1. Tahap Pengumpulan Data
Tahap pengumpulan data dilakukan untuk menambah pengetahuan dan mencari referensi bahan. Pengumpulan data dilakukan dengan melakukan study literatur dengan membaca literatur maupun bahan bahan teori baik berupa buku, data dari internet yang dapat membantu pembuatan tugas akhir maupun laporan tugas akhir.
2. Tahap Perancangan dan Pembuatan Interface
Tahap ini merupakan perancangan dan pembuatan interface yang meliputi perancangan dan pembuatan sistem kerja interface dengan PHP serta pemasangan template pada interface web.
Tahap pengujian interface dilakukan agar dapat mengetahui apakah sistem kerja interface telah sesuai atau belum.
1.7. Sistematika Penulisan
Sistematika penulisan yang digunakan dalam penulisan Tugas Akhir ini dibagi menjadi lima bab, yaitu sebagai berikut :
Bab I PENDAHULUAN
Memuat latar belakang masalah, perumusan masalah, batasan masalah, tujuan dan manfaat, metodologi penelitian, serta sistematika penulisan dalam tugas akhir.
Bab II LANDASAN TEORI
Landasan teori memuat tinjauan pustaka dan teori yang mendukung dalam pembuatan tugas akhir.
Bab III ANALISIS DAN PERANCANGAN SISTEM
Memuat tentang Perancangan dan perancangan tugas akhir serta alat dan bahan yang digunakan.
Bab IV IMPLEMENTASI DAN ANALISA
Memuat tentang tahap-tahap penelitian, implementasi Perancangan dan hasil analisa data yang telah diperoleh dalam penyusunan tugas akhir.
Bab V PENUTUP
Memuat tentang kesimpulan dan saran.
5
BAB II
LANDASAN TEORI
2.1. Routing
Routing merupakan proses adalah proses dimana suatu router mem- forward paket ke jaringan yang dituju. Perangkat jaringan yang menangani proses routing adalah router. Router memiliki kemampuan intelijensi dalam melakukan
proses routing.
Pada umumnya sebuah router dapat diprogram secara manual dengan jalur informasi yang sebelumnya telah ditetapkan yang disebut juga dengan routing statis, atau router juga dapat menjalankan aplikasi yang memfasilitasi proses
learning dan sharing informasi routing secara otomatis. Proses perolehan
informasi routing dengan metode tersebut disebut juga dengan routing dinamis. (Aziz et. al., 2002)
2.1.1. Routing Statis dan Dinamis
Informasi jalur routing statis dapat secara manual diprogram ke router dan menjadikan router untuk hanya menggunakan interface tertentu atau alamat IP
hop berikutnya untuk meneruskan paket ke alamat tujuan yang sesuai. Routing
statis memiliki kemampuan untuk menyesuaikan alamat jaringan dengan cakupan yang luas. Namun cara lain untuk memperoleh informasi routing adalah dengan menggunakan aplikasi terdistribusi yang telah diaktifkan pada router yang memungkinkan pengumpulan dan penyebaran informasi routing. Aplikasi routing ini sering disebut sebagai protokol routing dinamis karena mereka tidak hanya berperan sebagai alat pengoleksi jalur routing, akan tetapi juga bekerja secara
real-time, melakukan pelacakan kondisi konektivitas dalam jaringan untuk
menyediakan informasi routing seakurat mungkin.
dilakukan secara manual dan membutuhkan perlakuan manual untuk memprogram ulang router dalam jaringan jika pada jaringan tersebut terjadi perubahan jalur. Secara jelas, protokol routing dinamis memberikan kenyamanan lebih kepada operator jaringan dari pada routing statis dalam hal mengelola informasi routing. Harga untuk kenyamanan ini, bagaimanapun, adalah kompleksitas dalam melakukan konfigurasi dan troubleshooting. Pengoperasian protokol routing dinamis juga dapat memerlukan banyak resource, memerlukan
resource memori dan pemrosesan dalam jumlah yang banyak. Oleh karena itu,
bekerja dengan protokol routing dinamis sering memerlukan pengetahuan dan keahlian yang lebih berpengalaman untuk menangani Perancangan jaringan, konfigurasi router, tuning, dan tugas-tugas troubleshooting terkait.
Meskipun routing statis tidak begitu memerlukan sumber daya sistem dan
membutuhkan tingkat keterampilan teknis yang lebih rendah dalam
mengkonfigurasi dan troubleshooting, namun upaya dalam memasukkan routing secara statis pada jaringan yang cukup besar membuatnya menjadi pilihan yang kurang menarik. Secara jelas, routing statis bukan kandidat yang baik untuk perusahaan besar saat ini dan untuk penyedia layanan Internet (ISP). Kelemahan lain dari routing statis adalah bahwa routing statis kurang fleksibel untuk implementasi pada policy routing yang rumit. Ketika terdapat implementasi policy
routing, tidak ada pengganti yang lebih baik untuk kecerdasan dan fleksibilitas
yang disediakan oleh protokol routing dinamis. (Aziz et. al., 2002)
Berikut merupakan jenis protokol routing dinamis yang di gunakan dalam project tugas akhir ini :
1. Routing Information Protocol (RIP)
RIP adalah protokol distance vector yang menggunakan jumlah
hop sebagai metrik. Protokol ini sangat sederhana dan ditujukan untuk
jaringan kecil. RIP mirip dengan gated, yang didistribusikan oleh versi
FreeBSD dari UNIX. Sebelum RFC untuk RIP Versi 1 (RIP-1) ditulis, beberapa versi dari RIP telah tersebar dimana-mana.
RIP merupakan protokol classful, yang berarti bahwa ia tidak membawa informasi subnet mask dalam proses routing update. Karena tidak membawa informasi subnet mask, sehingga tidak mendukung
Variable Length Subnet Masking (VLSM) dan jaringan yang tidak
berhubungan (discontiguous). RIP memungkinkan perangkat untuk bertukar informasi tentang jaringan mereka yang terhubung secara langsung (directly connected), serta setiap jaringan lain yang telah mereka pelajari dari perangkat RIP lainnya.
RIP mengirimkan informasi routing nya setiap 30 detik, yang merupakan waktu update default. Timer ini dapat dikonfigurasi. Timer
hold-down menentukan berapa lama sebuah router harus menunggu
sebelum melakukan flushing informasi dari tabel routing.
RFC 1058 ditulis untuk menyediakan standar untuk RIP, yang menggunakan algoritma Bellman-Ford untuk menghitung metrik nya. (Aziz et. al., 2002)
2. Open Shortest Path First (OSPF)
OSPF adalah sebuah protokol interior gateway link-state yang dirancang untuk jaringan besar yang kompleks. Sebagai standar IETF, OSPF secara luas digunakan dalam banyak jaringan besar. Pembangunan dimulai pada tahun 1987, dan OSPF Versi 2 didirikan pada tahun 1991 dengan RFC 1247. Tujuannya adalah untuk memiliki sebuah protokol
link-state yang lebih efisien dan terukur daripada RIP. RFC 2328 (April 1998)
adalah revisi terbaru untuk OSPF Versi 2.
OSPF berjalan di atas IP dan menggunakan nomor protokol 89, seperti TCP yang berjalan di atas IP dan menggunakan protokol nomor 6.
kehandalan. Protokol itu sendiri memiliki mekanisme yang dapat diandalkan dalam transportasi.
OSPF adalah sebuah protokol routing classless yang mendukung
variable-length subnet masking (VLSM) dan jaringan yang tidak
berhubungan (discontiguous). OSPF menggunakan alamat multicast 224.0.0.5 (semua router SPF) dan 224.0.0.6 (Designated Routers [DR] dan
Backup designated Routers [BDR]) untuk mengirim paket Hello dan update. OSPF juga menyediakan dua jenis otentikasi yaitu plain text dan Message Digest Algorithm 5 (MD5).
OSPF menggunakan algoritma Dijkstra sebagai bagian dari proses perhitungan tabel routing. Algoritma Dijkstra menghasilkan pohon jalur terpendek shortest-path tree (SPT). Setiap router mewakili dirinya sendiri dan link dengan tetangga dalam bentuk yang dimengerti yaitu link-state
advertisement (LSAs). Berdasarkan informasi dari pohon jalur terpendek,
OSPF dapat menggambarkan bentuk topologi jaringan.
Setiap router OSPF saling menukarkan informasi tentang biaya (cost), jenis link, dan informasi jaringan dengan router yang lain.
(Aziz et. al., 2002)
3. Border Gateway Protocol (BGP)
BGP atau yang kepanjangannya Border Gateway Protokol merupakan salah satu jenis routing protokol yang digunakan untuk koneksi antar Autonomous System (AS), dan salah satu jenis routing protokol yang banyak digunakan di ISP besar (Telkomsel) ataupun perbankan. BGP termasuk dalam kategori routing protokol jenis Exterior
Gateway Protokol (EGP).
Dengan adanya EGP, router dapat melakukan pertukaran rute dari dan ke luar jaringan lokal Auotonomous System (AS). BGP mempunyai skalabilitas yang tinggi karena dapat melayani pertukaran routing pada beberapa organisasi besar. Oleh karena itu BGP dikenal dengan routing protokol yang sangat rumit dan kompleks.
A. Karakteristik BGP :
1. Menggunakan algoritma routing distance vektor.Algoritma routing distance vector secara periodik menyalin table routing dari router ke router. Perubahan table routing di update antar router yang saling berhubungan pada saat terjadi perubahan topologi.
2. Digunakan antara ISP dengan ISP dan client-client.
3. Digunakan untuk merutekan trafik internet antar autonomous system. 4. BGP adalah Path Vector routing protocol.Dalam proses menentukan
rute-rute terbaiknya selalu mengacu kepada path yang terbaik dan
terpilih yang didapatnya dari router BGP yang lainnya.
5. Router BGP membangun dan menjaga koneksi antar-peer
menggunakan port nomor 179.
6. Koneksi antar-peer dijaga dengan menggunakan sinyal keepalive secara periodik.
7. Metrik (atribut) untuk menentukan rute terbaik sangat kompleks dan
dapat dimodifikasi dengan fleksibel.
8. BGP memiliki routing table sendiri yang biasanya memuat
prefiks-prefiks routing yang diterimanya dari router BGP lain
B. Cara Kerja BGP
Routing protokol BGP baru dapat dikatakan bekerja pada sebuah
router jika sudah terbentuk sesi komunikasi dengan router tetangganya
yang juga menjalankan BGP. Sesi komunikasi ini adalah berupa komunikasi dengan protokol TCP dengan nomor port 179. Setelah terjalin
informasi rute.
Untuk berhasil menjalin komunikasi dengan router tetangganya sampai dapat saling bertukar informasi routing, ada beberapa hal yang perlu diperhatikan :
1. Kedua buah router telah dikonfigurasi dengan benar dan siap menjalankan routing protokol BGP.
2. Koneksi antarkedua buah router telah terbentuk dengan baik tanpa adanya gangguan pada media koneksinya.
3. Pastikan paket-paket pesan BGP yang bertugas membentuk sesi BGP dengan router tetangganya dapat samp dengan baik ke tujuannya. 4. Pastikan kedua buah router BGP tidak melakukan pemblokiran port
komunikasi TCP 179.
5. Pastikan kedua buah router tidak kehabisan resource saat sesi BGP sudah terbentuk dan berjalan.
Untuk membentuk dan mempertahankan sebuah sesi BGP dengan router tetangganya, BGP mempunyai mekanismenya sendiri yang unik. Pembentukan sesi BGP ini mengandalkan paket-paket pesan yang terdiri dari empat macam. Paket-paket tersebut adalah sebagai berikut:
1. Open Message
Sesuai dengan namanya, paket pesan jenis ini merupakan paket pembuka sebuah sesi BGP. Paket inilah yang pertama dikirimkan ke router tetangga untuk membangun sebuah sesi komunikasi. Paket ini berisikan informasi mengenai BGP version number, AS number, hold
time, dan router ID.
2. Keepalive Message
Paket Keepalive message bertugas untuk menjaga hubungan yang telah terbentuk antarkedua router BGP. Paket jenis ini dikirimkan secara periodik oleh kedua buah router yang bertetangga. Paket ini berukuran 19 byte dan tidak berisikan data sama sekali.
3. Notification Message
Paket pesan ini adalah paket yang bertugas menginformasikan error yang terjadi terhadap sebuah sesi BGP. Paket ini berisikan field-field yang berisi jenis error apa yang telah terjadi, sehingga sangat memudahkan penggunanya untuk melakukan troubleshooting.
4. Update Message
Paket update merupakan paket pesan utama yang akan membawa informasi rute-rute yang ada. Paket ini berisikan semua informasi rute BGP yang ada dalam jaringan tersebut. Ada tiga komponen utama dalam paket pesan ini, yaitu Network-Layer Reachability Information (NLRI), path attribut, dan withdrawn routes.
(Amyrullah, 2011)
2.2. Quagga
Quagga merupakan sebuah paket software routing protokol TCP/IP
dengan lisensi GNU General Public License, yang bekerja pada lingkungan GNU/Unix dan Solaris. Syntax yang digunakan pada Quagga merupakan syntax yang mirip dengan syntax yang digunakan pada software router lain seperti Cisco.
Quagga bekerja dengan cara membagi proses-proses (daemon) menjadi beberapa proses, sesuai dengan protokol masing-masing proses. Misalkan digunakan sebuah protokol routing RIP, maka sebuah daemon baru bernama
bernama Zebra.
Zebra merupakan IP routing manager bawaan Quagga. Zebra bekerja dengan menyediakan beberapa informasi yang terjadi di dalam kernel, diantaranya adalah update table routing, interfaces lookups, redistribusi rute antar protokol
routing yang berbeda. (Anonim-1, 2005)
2.2.1. Sistem arsitektur Quagga
Gambar 2.1 Sistem Arsitektur Quagga
Sistem arsitektur Quagga dibagi menjadi beberapa bagian. Daemon zebra merupakan daemon yang bertugas me-manage tiap-tiap daemon protokol routing
kernel maupun dengan daemon
protokol routing lain.
Daemon-daemon dari protokol routing yang terdapat di Quagga dapat di
akses melalui protokol vty (telnet). Masing-masing daemon routing memiliki port
telnet tersendiri seperti berikut :
zebrasrv 2600/tcp # zebra service
zebra 2601/tcp # zebra vty
ripd 2602/tcp # RIPd vty
ripngd 2603/tcp # RIPngd vty
ospfd 2604/tcp # OSPFd vty
bgpd 2605/tcp # BGPd vty
ospf6d 2606/tcp # OSPF6d vty
ospfapi 2607/tcp # ospfapi vty
isisd 2608/tcp # ISISd vty
(Anonim-1, 2005)
2.2.2. Routing Statis dengan zebra
zebra merupakan daemon pengelola IP routing di Quagga. Zebra menyediakan informasi update tabel routing, lookup interface, dan redistribusi rute antar protokol routing yang berbeda. Untuk melakukan konfigurasi routing statis pada Quagga, perintah yang digunakan pada daemon zebra adalah:
network gateway
Dimana network adalah alamat network tujuan routing statis dan gateway adalah alamat gateway routing statis. Penulisan network pada daemon zebra dapat
(10.10.10.0 255.255.255.0). (Anonim-1, 2005)
2.2.3. Routing dinamis RIP dengan ripd
ripd merupakan daemon yang digunakan untuk melakukan konfigurasi
routing RIP di Quagga. Untuk melakukan konfigurasi routing dinamis RIP pada
Quagga, perintah yang digunakan pada daemon ripd adalah:
- network
routing RIP network
memasukkan alamat network RIP. Penulisan network pada daemon ripd dapat
(10.10.10.0 255.255.255.0) atau dengan menggunakan nama out interface/ethernet (eth0). (Anonim-1, 2005)
2.2.4. Routing dinamis OSPF dengan ospfd
ospfd merupakan daemon yang digunakan untuk melakukan konfigurasi routing OSPF di Quagga. Untuk melakukan konfigurasi routing dinamis OSPF pada Quagga, perintah yang digunakan pada daemon ospfd adalah:
-
- network area area
network area area
perintah untuk memasukkan alamat network dan area OSPF. Penulisan network
area dapat
(0.0.0.0) at (Anonim-1,
2005)
2.2.5. Routing dinamis BGP dengan bgpd
bgpdd merupakan daemon yang digunakan untuk melakukan konfigurasi routing BGP di Quagga. Untuk melakukan konfigurasi routing dinamis BGP pada Quagga, perintah yang digunakan pada daemon bgpd adalah:
- network
-
-router bgp asn ktifkan proses protokol
BGP dengan ASN tertentu. Setelah pernyataan tersebut, selanjutnya dapat
masukan apapun Perintah BGP. network
merupakan perintah untuk memasukkan alamat network. Penulisan network pada
-as asn embuat tetangga baru
yang jauh-seperti ASN. peer dapat berupa alamat IPv4.
router bgp 1
neighbor 10.0.0.1 remote-as 2
Dalam hal ini router saya, di AS-1, sedang mencoba untuk peer dengan AS-2 dengan ip 10.0.0.1. Perintah ini harus menjadi perintah pertama kali digunakan ketika mengkonfigurasi tetangga. (Anonim-1, 2005)
2.3. HTB (Hierarchical Token Bucket)
Hierarchichal Token Bucket (HTB) merupakan teknik penjadwalan paket
yang sering digunakan bagi router-router berbasis Linux, dikembangkan pertama kali oleh Martin Devera.
Cara kerja HTB yaitu: pada General Scheduler menggunakan mekanisme
Deficit Round Robin (DRR) dan pada blok umpan baliknya, Estimator HTB
menggunakan Token Bucket Filter (TBF).
CLASSIFIER SCHEDULERGENERAL LINK-SHARING SCHEDULER ESTIMATOR INPUT LINK CLASSES OUTPUT LINK
Gambar 2.2 Alur Kerja HTB.
Pada HTB terdapat parameter ceil sehingga kelas akan selalu mendapatkan bandwidth di antara base link dan nilai ceil linknya. Parameter ini dapat dianggap sebagai Estimator kedua, sehingga setiap kelas dapat meminjam
bandwidth selama bandwidth total yang diperoleh memiliki nilai di bawah nilai ceil. Hal ini mudah diimplementasikan dengan cara tidak mengijinkan proses
peminjaman bandwidth pada saat kelas telah melampaui link ini (keduanya leaves dan interior dapat memiliki ceil). Sebagai catatan, apabila nilai ceil sama dengan nilai base link, maka kelas-kelas tidak diijinkan untuk meminjam bandwidth. Sedangkan jika nilai ceil diset tak terbatas atau dengan nilai yang lebih tinggi seperti kecepatan link yang dimiliki, maka akan didapat fungsi yang sama seperti kelas non-bounded. (Yudha, 2007).
Contoh konfigurasi HTB :
Asumsikan bahwa kita ingin membatasi kecepatan download maksimum untuk subnet 10.1.1.0/24 sampai 2Mbps dan mendistribusikan jumlah lalu lintas antara
server dan workstation menggunakan HTB (membatasi upload 2Mbps). Saat HTB
bekerja dalam satu arah dan diimplementasikan pada outbound interface, HTB
untuk download akan on pada ether2 dan HTB untuk upload akan on pada ether1. (Anonim-3, 2011)
Gambar 2.3 Contoh HTB Untuk Membatasi Upload
Gambar 2.4 Contoh HTB Untuk Membatasi Download
2.4. HTB-tool
HTB Tool adalah software yang digunakan untuk manajemen bandwidth yang berjalan pada platform Linux. Cara penggunaan HTB Tool adalah melalui terminal pada Linux. HTB-tool adalah tool yang digunakan untuk menkonfigurasi paket yang menggunakan sistem HTB. Setelah di-instal pada sistem operasi (Linux Debian 6.0), buka terminal dan masuk ke alamat instalasi HTB-tool, misal terdapat pada direktori: /etc/htb, maka masukkan perintah berikut pada terminal:
/etc/htb# pico eth1-qos.cfg
Akan muncul skript konfigurasi defaultnya. Contoh skripnya sebagai berikut :
#UPLOAD class LAN_1 {
bandwidth 256; # garansi bandwidth yg dialokasikan untuk LAN
limit 256; # maksimal bandwidth yang bisa dicapai untuk LAN
burst 2; # maksimum jumlah kbits yang di kirim sekali waktu
priority 1; # priority 0 7, lebih kecil paling diprioritaskan
client pc1 { bandwidth 128; limit 192; burst 2; priority 1; src { # source address 192.168.1.2/32; }; }; client pc2 { bandwidth 64; limit 96; burst 2; priority 1; src { 192.168.1.3/32; }; }; client pc3 { bandwidth 64; limit 96; burst 2; priority 1; src { 192.168.1.4/32; }; }; }
commit to user
/etc/htb# htb eth1 start
Applying traffic Rules for device eth1 Checking the config file....OK
Checking kernel support for HTB: present.
Mematikan limiter pada sebuah interface /etc/htb# htb eth1 stop
deleting Rules for device eth1
Melihat trafik yang berjalan pada sebuah interface /etc/htb# htb eth1 stats
to stop viewing the statistics, press Ctrl+C
Memerintahkan HTB untuk membuat skrip yang sedang berjalan pada sebuah
interface.
/etc/htb# htb eth1 generate
compiling Rules for /etc/htb/eth1-qos.cfg... checking the configuration file ... OK. generating configuration file(s) for eth1
the eth1-qos.sh script file is saved to /tmp/eth1-qos.sh you can start the traffic Rules like: tc -b /tmp/eth1-qos.sh
Melihat versi HTB yang dipakai. /etc/htb# htb eth1 version
htb-tools initscript for Linux CIR/MIR capabilities v0.8 \(c\) 2003-2005 sin@pvs.ro. All rights reserved.
This script is released under the terms of www.gnu.org/licenses/gpl.html Work based on http://sgi.rdscv.ro/~ionuts/htb-tools
(Gunawan, 2006)
2.5. Debian Squeeze 6.0
Debian adalah sistem operasi bebas yang dikembangkan secara terbuka
oleh banyak programer sukarela (pengembang Debian) yang tergabung dalam Proyek Debian. Sistem operasi Debian adalah gabungan dari perangkat lunak
yang dikembangkan dengan lisensi GNU, dan utamanya menggunakan kernel
Linux, sehingga populer dengan nama Debian GNU/Linux. Sistem operasi Debian yang menggunakan kernel Linux merupakan salah satu distro Linux yang populer dengan kestabilannya. Dengan memperhitungkan distro berbasis Debian, seperti Ubuntu, Xubuntu, Knoppix, Mint, dan sebagainya, maka Debian merupakan distro Linux yang paling banyak digunakan di dunia.
Keunggulan menggunakan Debian adalah mudah di-upgrade, depedensi paket didefinisikan dengan baik, dan dikembangkan secara terbuka. Merupakan satu-satunya distro yang dikembangkan bersama-sama melalui Internet dengan lebih dari 400 pengelola paket menggarap lebih dari 1500 paket dalam mengembangkan Debian. Merupakan distro yang sangat dinamis. (Azikin, 2011)
2.6. PHP
PHP adalah bahasa server-side scripting yang memiliki berbagai macam fitur yang dapat digunakan dalam pembuatan website dinamis. Selain digunakan untuk membuat website, PHP juga cocok jika digunakan pada sebuah aplikasi berbasis web. Beberapa kelebihan sebuah bahasa pemrograman adalah adanya
function yang dapat dipanggil ke dalam sebuah script yang bertujuan efisiensi scripting. Demikian juga dengan PHP, PHP memiliki berbagai macam function
yang dapat digunakan pada pembuatan sebuah aplikasi berbasis web.
2.6.1. Konektivitas antara PHP dengan Quagga dan Shell Linux
Fitur function yang terdapat pada bahasa PHP merupakan sebuah fitur yang dapat dipertimbangkan dalam pembuatan sebuah aplikasi. Salah satu
function yang terdapat pada bahasa PHP adalah function untuk melakukan koneksi
commit to user
tersebut dilakukan melalui terminal, dengan melakukan request telnet ke port-port sesuai dengan port protokol routing yang akan di remote.
Function yang digunakan pada PHP dalam pembuatan interface web
router antara lain adalah: 1. Function
Function ini bekerja dengan melakukan koneksi dengan socket yang
digunakan untuk berkomunikasi dengan aplikasi telnet. Argumen yang digunakan dalam function ini adalah alamat IP dan nomor port dari aplikasi telnet server yang akan di tuju dalam sesi telnet dengan user /
client. Contoh pemanggilan function
adalah nomor port telnet dari server telnet yang dimiliki oleh server Quagga. Port-port telnet dari protokol routing Quagga antara lain:
1. Port 2601 = Routing Statis / daemon Zebra (Quagga). 2. Port 2602 = Protokol routing RIP.
3. Port 2603 = Protokol routing RIPng. 4. Port 2604 = Protokol routing OSPF. 5. Port 2605 = Protokol routing BGP.
2. Function .
Function ini digunakan untuk menutup sesi telnet antara PHP dengan
Quagga yang sebelumnya dibuka dengan function
3. Function
Function ini digunakan untuk mendapatkan isi dari file konfigurasi router untuk diproses dan ditampilkan pada interface web.
4.
Function ini digunakan untuk menulis kembali ke file konfigurasi
5. Fun
Function ini digunakan untuk melakukan pencarian string tertentu pada file konfigurasi router. Pencarian ini bertujuan untuk mendapatkan nilai konfigurasi tertentu pada router untuk ditampilkan pada interface web.
6. Function
Fungsi untuk menampilkan output perintah terminal yang di eksekusi.
(Anonim-2, 2011)
Dengan menggunakan function-function tersebut pada sebuah template
website yang diunduh dari internet, jika diimplementasikan pada sebuah komputer
dengan OS Linux/UNIX dengan software routing Quagga, software limit
bandwidth HTB Tool dengan Apache dan MySQL, maka dapat dihasilkan sebuah interface router berbasiskan web.
24
ANALISIS DAN PERANCANGAN SISTEM
3.1. Perancangan Sistem
WEB
INTERFACE
HTB TOOL
QUAGGA
INPUT USER OS Debian 6.0 PROSES ROUTING MANAJEMAN BANDWIDTHGambar 3.1 Alur Kerja Interface Router Dan Server Bandwidth Manajemen
Perancangan alur kerja sistem dari interface router yang akan dibuat adalah sebagai berikut :
1. back-end dari router adalah komputer dengan sistem operasi Debian Squeeze 6.0.
2. Quagga merupakan engine dari router yang melakukan proses routing pada kernel OS Debian 6.0. Quagga akan mendapatkan interaksi dari user melalui perantara interface web.
3. HTB merupakan engine dari server manajemen bandwidth yang melakukan proses manajemen bandwidth pada kernel OS Debian 6.0. HTB akan mendapatkan interaksi dari user melalui perantara interface web
4. Template website merupakan front-end dari interface, dalam diagram pada Gambar.3.1. Web Interface merupakan interface yang dibuat dengan PHP dengan template website.
5. Agar user dapat memberikan input perintah kepada back-end sistem, maka diperlukan sebuah penghubung antara user dengan back-end sistem, dalam hal ini PHP (Web Interface) berperan sebagai penghubung tersebut.
3.2. Analisa Kebutuhan
Dalam pembuatan interface router berbasis web ini membutuhkan beberapa perangkat hardware dan software, antara lain :
3.2.1. Hardware
Kebutuhan hardware komputer yang akan di fungsikan sebagai router dan server manajemen bandwidth antara lain adalah :
1. Komputer dengan spesifikasi optimal sebagai berikut:
- Prosesor : Intel Pentium IV
- RAM : 256 MB
- Harddisk : 40 GB
- VGA : 32MB
2. 4 buah ethernet port atau lebih.
3.2.2. Software
Kebutuhan software yang digunakan untuk pembuatan interface router berbasis web antara lain:
1. Sistem Operasi Debian Squeeze 6.0.
Sebagai back-end dari router, OS Debian Squeeze 6.0 memiliki kelebihan dalam menangani paket-paket router Quagga dan HTB tools. Ini
secara khusus, sehingga Quagga dan HTB dapat berjalan secara lancar pada OS Debian Squeeze 6.0.
2. Software routing Quagga (Ver 0.99.17-1_i386).
Software routing Quagga merupakan komponen utama dalam pembuatan interface router ini. Manajemen routing protocol baik statis maupun
dinamis secara keseluruhan di tangani oleh Quagga. 3. Software Pendukung Untuk Bridge dan Firewall
a. bridge-utils, paket yang menangani mode bridge. b. Iptables, paket yang menangani mode NAT dan drop IP c. Iptables-save, paket untuk menyimpan konfigurasi NAT. 4. Software Bandwidth Manajemen
HTB tool (Ver 0.2.7), software yang digunakan untuk manajemen
bandwidth
5. Web Server Apache (Ver 2.2.16).
Untuk dapat melakukan remote server Quagga dan server bandwidth manajemen melalui web interface, maka diperlukan adanya sebuah web server. Apache merupakan web server yang bertanggung jawab pada request-response HTTP dan logging informasi secara detail.
6. PHP (Ver 5.3.3-7).
Dalam melakukan konektivitas antara web interface dengan back-end Quagga dan shell operating system melalui web server Apache, bahasa pemrograman PHP diperlukan sebagai media untuk melakukan komunikasi antara web interface dengan server Quagga shell operating
system.
7. MySQL (Ver 14.14).
Sebuah user diperlukan untuk dapat melakukan manajemen routing dan manajemen bandwidth. Sehingga sebuah database diperlukan untuk melakukan penyimpanan informasi login user (administrator jaringan). MySQL merupakan sebuah aplikasi pengolah database yang begitu popular di kalangan Web, karena ia memang cocok bekerja di lingkungan
tersebut. sehingga dapat diterapkan pada interface web untuk menyimpan data informasi login user dan password telnet.
3.3. Tahapan Pengerjaan
Pada tahap ini dilakukan konfigurasi awal dalam pembuatan interface router, yaitu instalasi sistem back-end atau router. Tahap-tahap yang dilakukan dijelaskan pada Gambar 3.3.
Gambar 3.2 Tahapan Pengerjaan 3.3.1. Instalasi Sistem Operasi Debian Squeeze 6.0.
Router dan server bandwidth manajemen yang akan dibuat merupakan
router dengan back-end OS Linux Debian. Oleh karena itu yang pertama dilakukan adalah melakukan instalasi OS Debian 6.0 pada PC. Seperti proses instalasi OS Linux pada umumnya, hal-hal yang dipersiapkan pada tahap ini adalah mempersiapkan partisi harddisk kosong untuk lokasi sistem Debian dan partisi Swap.
1. Instalasi Software Routing Quagga
Quagga menyediakan paket-paket software Quagga spesifik untuk Distro Linux berbasis Debian secara lengkap pada website resmi Quagga dalam bentuk *.deb, sehingga tidak diperlukan proses kompilasi source mentah (.tar.gz.) dan pemilahan-pemilahan modul secara manual.
2. Insatalasi Software Manajemen Bandwidth
Instalasi HTB-tool versi 0.2.7. Ini adalah program yang akan digunakan sebagai limiter. Yaitu membatasi bandwidth Download-Upload oleh client. Installasi dilakukan dengan mengekstrak file .tgz, kemudian memindahkan file-file tersebut ke path yang telah di tentukan.
3. Instalasi Web Server Apache
Proses instalasi Web server Apache dapat dilakukan dengan mudah pada Debian, dengan cara menjalankan perintah :
#apt-get install apache2
Perintah tersebut di jalankan dalam keadaan online. 4. Instalasi PHP
Selain paket-paket Apache,diperlukan installasi PHP untuk menjalankan script php yang di gunakan dalam pembuatan interface web. Cara nya cukup mudah seperti installasi apache secara online via CLI.
#apt-get install php5 libapache2-mod-php5 cli common php5-cgi
5. Instalasi MySQL
Untuk installasi MySQL di gunakan untuk penyimpanan database, untuk cara installasinya cukup mudah seperti installasi apache dan PHP secara online via CLI, yaitu :
#apt-get install mysql-server mysql-client
Untuk memudahkan dalam manajemen database, digunakan PHP MyAdmin. #apt-get install phpmyadmin.
3.3.3. Layout Interface Web
Rencana Perancangan interface web yang akan dibuat untuk manajemen router dan manajemen bandwidth dapat dilihat pada gambar.3.3, 3.4, dan 3.5.
Gambar 3.3 Layout Interface Login Web
Gambar 3.4 Layout Interface Konfigurasi
SELAMAT DATANG ADMIN
USERNAME :
PASSWORD :
SUBMI
Gambar 3.5 Site Menu
Penjelasan komponen penyusun interface web adalah sebagai berikut:
1. Login
Merupakan halaman awal untuk proses otentikasi user. 2. Basic Configuration
Halaman untuk melakukan konfigurasi seputar network interface, NAT, Bridge dan DNS. LOGIN BASIC CONFIGURATION ROUTING PROTOCOL LIMITER TOOLS USER CONFIGURATION 2. Dns Setting 3. Nat Setting 4. Bridge Setting 5. Firewall 1. Static 2. RIPv2 3. OSPF 4. BGP 5. Default Route 6. IP Forwarding 1. Create Interface 2. Setting Limiter 3. Start / Stop Limiter
1. Routing Table 2. ping 3. Trace 4. Restart Quagga 1. ID and Password 2. Quagga Password
commit to user
3. Routing Protocol
Halaman utama seputar manajemen routing, yang terdiri atas routing static, routing dinamis (RIPv2, OSPF dan BGP), Default Route, dan Status IP Forwarding pada router Quagga.
4. Limiter
Halaman utama seputar bandwidth manajemen 5. Tools
Berisi tool untuk troubleshooting dan maintenance jaringan, yaitu ping,
traceroute, routing table dan restart quagga.
6. User Configuration
Halaman untuk melakukan konfigurasi password user & password
interface web dan password telnet router Quagga.
3.3.4. Membuat Interface Web
Dalam pembuatan Interface Web, beberapa point yang akan dibuat adalah:
1. Pembuatan file konfigurasi untuk sarana menyimpan konfigurasi router dan bandwidth manajemen.
2. Pembacaan konfigurasi dari file dengan PHP untuk menampilkan status router dan bandwidth manajemen pada Interface Web.
3. Pengaturan atribut-atribut file konfigurasi router dengan tujuan agar dapat diakses oleh aplikasi router dan server bandwidth manajemen.
3.4. Pengujian dan Perbaikan
Setelah selesai melakukan tahap pembuatan router dan server bandwidth manajemen disertai dengan interface web, langkah selanjutnya adalah tahap pengujian. Tahap-tahap pengujian meliputi pengujian interface web dan pengujian sistem kerja router dan manajemen bandwidth.
Pengujian sistem kerja router ini meliputi pengujian antar router, dengan tujuan untuk mengetahui fungsionalitas dan kompatibilitas dari router yang akan dibuat dengan router lain. Pengujian ini dilakukan dengan melakukan penggunaan protokol routing yang ada pada sistem.
Sedangkan pengujian pada server bandwidth manajemen Pengujian dilakukan dengan topologi yang bermacam-macam, yaitu Bridge, NAT, atau gabungan keduanya. Pengujian dilakukan melaui client yang terhubung, dan mencoba apakah limiter bisa berjalan semestinya.
33
BAB IV
IMPLEMENTASI DAN ANALISA
4.1. Implementasi
4.1.1 Instalasi OS Debian Squeeze 6.0, Apache, MySQL, PHP, Bridge-utils, dan Iptables
Instalasi paket-paket Sistem Operasi Debian Squeeze 6.0 dilakukan dengan langkah-langkah instalasi sistem operasi Debian seperti pada umumnya, yaitu:
1. Menyiapkan komputer dengan partisi harddisk kosong untuk instalasi OS Debian Squeeze 6.0 dengan spasi 20 GB dan swap 8 GB.
2. Menyiapkan CD instalasi Debian Squeeze 6.0.
3. Menjalankan proses instalasi sesuai dengan panduan instalasi pada CD instalasi Debian Squeeze 6.0.
4. Menjalankan update repository Debian Squeeze 6.0. dengan
menambahkan link mirror pada source list sebagai berikut :
a. Jalankan perintah pico /etc/apt/sources.list b. Tambahkan link repo sebagai berikut :
deb http://security.debian.org/ squeeze/updates main contrib non-free deb http://ftp.debian.org/debian/ squeeze main contrib non-free deb http://ftp.debian.org/debian/ squeeze-updates main contrib non-free
c. Setelah di tambahkan, save dan tutup file sources.list d. Jalankan perintah update pada terminal
$Sudo apt-get update
selanjutnya installasi paket software Apache, MySQL, PHP, Bridge-utils, dan Iptables.
1. Untuk instalasi Mysql secara manual, masukkan perintah pada terminal:
- -get install server
mysql-2. Untuk instalasi Mysql secara manual, masukkan perintah pada terminal:
-
-3. Untuk instalasi PHP secara manual, masukkan perintah pada terminal:
- apt-get install php5 libapache2-mod-php5 cli
common
php5--
-4. Untuk instalasi bridge-utils dan iptables secara manual, masukkan perintah pada terminal:
- -get install iptables ebtables
bridge-Setelah instalasi paket software Apache, MySQL, PHP, Bridge-utils, dan Iptables selesai, selanjutnya melakukan test software yang sudah terinstall.
Untuk menjalankan Apache secara manual, masukkan perintah pada
terminal:
-
Untuk menjalankan MySQL secara manual, masukkan perintah pada
terminal:
-
Gambar 4.1 Menjalankan Apache dan MySQL
commit to user
Untuk mengetahui apakah proses Apache dan MySQL telah berjalan, dapat dilakukan perintah berikut:
- Apache
- MySQL
Gambar 4.2 Proses Apache Dan Mysql Yang Telah Berjalan
Untuk melihat PHP sudah berjalan, k
Muncul tampilan manual seperti berikut menandakan bahwa aplikasi ini sudah ada.
Gambar 4.3 Aplikasi PHP.
Muncul tampilan berikut menandakan bahwa aplikasi ini sudah ada.
Gambar 4.4 Aplikasi Brctl
--terminal. Muncul tampilan bantuan berikut menandakan bahwa aplikasi ini sudah ada.
Gambar 4.5 Aplikasi Iptables.
commit to user
4.1.2. Instalasi Software Quagga
Paket-paket software Routing Quagga telah tersedia dalam bentuk biner debian, sehingga untuk instalasi pada Sistem Operasi Ubuntu, tidak diperlukan kompilasi source mentah dari Quagga. Dan user dapat langung memasang paket Quagga dengan package manager. Untuk melakukan instalasi Quagga di Debian Squeeze 6.0, langkah-langkah yang dilakukan adalah :
1. Menyiapkan paket-paket source instalasi Quagga, yaitu:
-
--
-doc_0.99.17-- Paket diatas dapat di download di http://www.nongnu.org/quagga/
2. Secara default pada instalasi Debian Squeeze 6.0 tidak termasuk instalasi
Desktop Environment (GUI), sehingga user akan langsung di hadapkan
dengan terminal / shell. Untuk melakukan instalasi letakkan paket-paket
source instalasi Quagga pada direktori sementara, dalam hal ini adalah
3. Masuk ke direktori tmp dan jalankan perintah berikut:
- -i quagga_0.99.17-1_i386.deb
- -i
quagga-doc_0.99.17-4. Jika tidak terdapat statement error pada saat instalasi, maka proses instalasi Quagga telah berhasil.
Setelah proses instalasi Quagga telah selesai dilakukan, langkah selanjutnya adalah melakukan konfigurasi dasar pada Quagga untuk pertama kali pemakaian.
1. Konfigurasi daemon Quagga.
- Pada terminal ubah konfigurasi daemon Quagga dengan
mengetikkan perintah:
pico
Gambar 4.6 File Konfigurasi Daemon Quagga
- Kemudian mengaktifkan protokol-protokol yang ingin dijalankan
oleh Quagga, yaitu Zebra, BGP, RIP dan OSPF. Dilakukan dengan
memberikan value -masing nama protokol.
- Restart proses Quagga, dengan memasukkan perintah:
Gambar 4.7 Restart Proses Quagga
- Untuk mengetahui apakah proses daemon routing Quagga telah
berjalan, masukkan perintah:
Gambar 4.8 Proses Quagga
Jika telah muncul nama-nama protokol routing yang sebelumnya telah diaktifkan, maka konfigurasi daemon telah selesai.
2. Konfigurasi file-file config Quagga.
Mengkopi file contoh konfigurasi Quagga ke folder konfigurasi Quagga. Karena protokol yang digunakan hanya ada 4, yaitu protokol statis, RIP, OSPF dan BGP, maka file config Quagga yang dikopikan juga hanya 4.
Untuk melakukan pengkopian file-file config tersebut, pada
terminal masukkan perintah:
-
- spfd.conf.sample /etc/quagga/
- bgpd.conf.sample /etc/quagga/
bgpd
Gambar 4.9 File Konfigurasi Quagga
Setelah file tersebut berhasil dikopikan, langkah yang dilakukan adalah mengatur kepemilikan file-file config Quagga tersebut dengan tujuan agar daemon-daemon Quagga dapat mengaksesnya. Langkah yang dilakukan adalah memasukkan perintah-perintah berikut di terminal:
-
-
Setelah konfigurasi file-file config telah selesai dilakukan, untuk mengaktifkan status Quagga terbaru, lakukan restart proses Quagga dengan perintah:
-
1. zebra.conf
File zebra.conf merupakan file konfigurasi dari routing
manager zebra. File ini diperlukan untuk menjalankan daemon zebra.
Gambar 4.10 File Konfigurasi Default Zebra.Conf
2. ripd.conf
File ripd.conf merupakan file konfigurasi dari routing RIP. File ini diperlukan untuk menjalankan daemon ripd.
Gambar 4.11 File Konfigurasi Default Ripd.Conf
commit to user
File ospfd.conf merupakan file konfigurasi dari routing OSPF. File ini diperlukan untuk menjalankan daemon ospfd.
Gambar 4.12 File Konfigurasi Default Ospfd.Conf
4. bgpd.conf
File bgpd.conf merupakan file konfigurasi dari routing BGP. File ini diperlukan untuk menjalankan daemon bgpd.
Gambar 4.13 File Konfigurasi Default Bgpd.Conf
commit to user
Setelah semua konfigurasi telah dilakukan, langkah untuk mengetahui bahwa telnet Quagga telah berjalan adalah dengan menguji melakukan koneksi
telnet ke port-port routing daemon. Sebagai contoh untuk melakukan telnet ke routing daemon z
Gambar 4.14 Telnet Routing Daemon Zebra
Port-port yang digunakan pada pembuatan router ini adalah port:
- 2601 : port daemon zebra. - 2602 : port daemon ripd. - 2604 : port daemon ospfd. - 2605 : port daemon bgpd.
Password default telnet masing-masing daemon Quagga (zebra, ripd, Password ini dapat diubah sesuai dengan
kebutuhan.
Langkah meng-install HTB-tool adalah sebagai berikut :
1. Letakkan file HTB-tools-0.2.7-i486-lwsa.tgz yang bisa di download di
http://htb-tools.arny.ro/download.php?list.19 pada direktori /usr/src/htb
kemudian di extrak dengan perintah sebagai berikut :
-
- -zxvf
HTB-tools-0.2.7-i486-Setelah ekstak selesai, maka akan muncul folder etc, install, folder, sbin
Gambar 4.15 File Konfigurasi HTB Tool
2. Pindahkan isi semua folder sbin nya htb tools di /sbin server dengan memasukan perintah di terminal :
-
Gambar 4.16 File Konfigurasi HTB Tool Pada Directory Sbin
- - - - -
commit to user
3. Masuk ke folder etc nya htb tools pindahin folder htb ke /etc nya server dengan memasukan perintah di terminal :
-
Gambar 4.17 File Konfigurasi HTB Tool Pada Directory Etc
-
4. Hilangkan tulisan new yang ada di folder htb yang sudah dipindahkan tadi dengan memasukan perintah di terminal :
- -qos.cfg.new
/etc/htb/eth0-- -qos.cfg.new /etc/htb/eth1-qos.cfg"
5. Masuk ke folder rc.d nya di etc htb tools dengan memasukan perintah di terminal :
-
6. Masukkan file rc.htb new ke folder init.d nya server dan ganti jadi rc.htb dengan memasukan perintah di terminal :
-
7. Chmod file rc.htb nya dengan memasukan perintah di terminal :
-
HTB telah selesai, -masing
perintah sudah dijelaskan pada bagian landasan teori :
Gambar 4.18 Aplikasi HTB Tool.
4.1.4. Script PHP
Dibawah ini adalah beberapa source code PHP yang digunakan dalam pembuatan interface router.
a. Source Code Untuk Melakukan Koneksi Telnet Dengan Quagga.
<?php
$fp = fsockopen("127.0.0.1", $port, $errno, $errstr, 30); if (!$fp) {
echo "$errstr ($errno)<br />\n"; } else { $out = $_SESSION['vty']."\r\n"; $out .= "enable\r\n"; if ($port == 2601) { $out .= "zebra\r\n"; } $out .= $prnth;
$out .= "copy running-config startup-config\r\n"; $out .= "exit\r\n\r\n"; fwrite($fp, $out); fclose($fp); } ?>