SOVYAN AFANDY M3209082
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
(2)
ii
(3)
iii
(4)
iv
ABSTRACT
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.
(5)
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.
(6)
vi
KATA PENGANTAR
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.
(7)
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
(8)
viii
DAFTAR ISI
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
(9)
ix
4.2 Analisa... 96
... 100
5.1 Kesimpulan ... 100
5.2 Saran ... 100
DAFTAR PUSTAKA ... 101
(10)
x
DAFTAR GAMBAR
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
(11)
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
(12)
xii
Gambar 4.51 Konfigurasi Ip Address Pada Interface Eth2 ROUTER_DBIOSS
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
(13)
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
(14)
xiv
Gambar 4.105 Ping Network ROUTER_DBIOSS INTRO Dalam Pengujian Keempat ... 96 Gambar 4.106 Ping Network Router_Ospf1 ... 96 Gambar 4.107 Ping Network ROUTER_OSPF2 ... 96
(15)
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
(16)
untuk routing dan manajemen bandwith merupakan project yang terpisah dan
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.
(17)
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.
(18)
3. Tahap Pengujian Interface
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.
(19)
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.
(Azizet. 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.
(20)
Hal ini bertentangan dengan sifat routing statis, dimana entri routing 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. (Azizet. 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
(21)
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.
(Azizet. 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.
(22)
OSPF tidak menggunakan protokol transport, seperti TCP, untuk 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.
(Azizet. 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).
(23)
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
(24)
komunikasi ini, maka kedua buah router BGP dapat saling bertukar 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.
(25)
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
(26)
-proses tersebut dikendalikan oleh sebuah proses yang 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 :
(27)
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:
(28)
-- 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:
(29)
- 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).
(30)
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
(31)
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
(32)
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 :
(33)
#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; }; }; }
(34)
Test config dan jalankan shapper /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 [email protected]. 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)
(35)
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
(36)
telnet. Quagga merupakan sebuah software dimana pengaturan utama software 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
(37)
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.
(38)
24
BAB III
ANALISIS DAN PERANCANGAN SISTEM 3.1. Perancangan Sistem
WEB
INTERFACE
HTB TOOL
QUAGGA
INPUT USER
OS Debian 6.0
PROSES ROUTING
MANAJEMAN BANDWIDTH
Gambar 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
(39)
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
(40)
dikarenakan Quagga dan HTB juga menyediakan paket-paket debian 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
(41)
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.
(42)
3.3.2. Instalasi Program Yang Diperlukan
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.
(43)
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
(44)
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
1. Network Interface 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
(45)
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.
(46)
3.4.1. Pengujian sistem kerja Router dan Server Bandwidth Manajemen
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.
(47)
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.0dengan 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
(48)
Setelah instalasi OS Debian Squeeze 6.0 dan update repositori selesai,
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
(49)
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.
(50)
Untuk melihat aplikasi
bridge-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
(51)
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.
(52)
Langkah-langkah konfigurasi dasar Quagga adalah sebagai berikut:
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:
(53)
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: -
(54)
-
- 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:
(55)
-
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
(56)
3. ospfd.conf
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
(57)
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.
(58)
4.1.3. Instalasi Software HTB-tool
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
(59)
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 :
(60)
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); }
?>
(61)
b. Source Code Untuk Menampilkan List Network Interface.
ses list network interface)
<?php
$filename="list_int.txt";
$fp = fsockopen("127.0.0.1", 2601, $errno, $errstr, 30); if (!$fp) {
echo "$errstr ($errno)<br />\n"; } else {
$out = $_SESSION['vty']."\r\n"; $out .= "enable\r\n";
$out .= "zebra\r\n"; $out .= "sho int\r\n"; $out .= "exit\r\n\r\n";
fwrite($fp, $out);
$buka=fopen($filename, 'w'); fwrite($buka, "");
fclose($buka); while (!feof($fp)) { $cek=fgets($fp, 128);
$list_if=$cek;
$buka = fopen($filename, 'a'); fwrite($buka, $list_if); fclose($buka); } fclose($fp); } ?> <?php session_start();
if(!isset($_SESSION['user']) && !isset($_SESSION['pass'])) { ?>
<script language='javascript'>document.location='../user/login.php'</script> <?php
} else {
require_once "list_iface.php"; ?> <script type="text/javascript"> function showInt(str) { if (str=="") xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getuser.php?q="+str,true); xmlhttp.send(); } </script>
(62)
{
document.getElementById("txtInt").innerHTML=""; return;
} else if (str!="") {
document.getElementById("txtInt").innerHTML='<input type="submit" value="set" />'; return; } if (window.XMLHttpRequest) { xmlhttp=new XMLHttpRequest(); } else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } $ac=""; $output="";
$file = fopen($filename, "r"); while(!feof($file)) {
$output = $output . fgets($file, 4096); $outputw = str_replace("\n", " ", $output); $cek1=stristr($output, 'Interface '); $str="";
if ($cek1==true) { $str.=$cek1;
}
}
fclose ($file);
$stre=str_replace("\n", "\r\n", $str); $expl=explode("\r\n", $stre); for($c=0;$c<=count($expl)-1;$c++) { $cek2=stristr($expl[$c], 'Interface '); if(!empty($cek2)) { $ac.=$cek2."<br>";} }
$req=explode("<br>", $ac);
echo "<b>Configure Network Interface</b><br><br>pilih network interface yang akan di set.<br>";
echo '<form action="stat_ip.php" method="post">'; echo '<table border=0 cellspacing=1>';
echo '<tr><td><select size="1" name="int"
onchange=showInt(this.value)><option value="">list interface:</option>'; for($w=0;$w<count($req)-1;$w++) {
$z=explode(" ", $req[$w]); if($z[1]!="lo") {
echo '<option> '.$z[1].' </option>'; }
value="'.$z[1].'"> '.$z[1].' </input><br>';
}echo '</select></td><td><div id="txtInt"> </div></td></tr></table></form>';
} ?>
(63)
c. Source Code Untuk Memproses Routing Statis. <?php
$port = 2601;
$dest=$_POST["dest"]."/".$_POST["mask"]; $nexthop=$_POST["nexthop"];
$prnth = "configure terminal\r\n"; if (isset($_COOKIE['static_netw'])) {
$prnth .= "no ip route ".$_COOKIE['static_netw']."\r\n"; } $prnth .= "ip route $dest $nexthop\r\n";
$prnth .= "end\r\n";
require_once "../include/telnet.php"; $file="list_static.txt";
if (isset($_COOKIE['static_netw'])) { $tmp = file($file);
for ($i=0;$i<=count($tmp)-1;$i++) {
$cari = stristr($tmp[$i], $_COOKIE['static_netw']); if (!empty($cari)) {
$tmp[$i] = ""; }
}
$hpus = file_put_contents($file, implode($tmp));
if ($hpus) { echo '<i><font color="green"> network ('.$_COOKIE['static_netw'].') berhasil dihapus.</font></i><br>';
}
setcookie('static_netw', ""); }
$almt_ip="$dest $nexthop"; $buka = file($file); $last = count($buka); $buka[$last] = "$almt_ip\n";
file_put_contents($file, implode($buka));
$buka=file($file); if(!empty($buka)) {
for($i=0;$i<=count($buka)-1;$i++) { $cek = stristr($buka[$i], $almt_ip); if(!empty($cek)) {
echo '<i><font color="green"> network statis '.$almt_ip.' berhasil ditambahkan ke routing table. </font></i><br>';
} }
echo '<br><meta http-equiv="refresh" content="5; url=frm_main_static.php" /><br>'; } else { echo '<i><font color="red">gagal menambahkan alamat ip '.$almt_ip.' ke routing table.</font></i></br>';
echo '<br><meta http-equiv="refresh" content="5; url=frm_main_static.php" /><br>';
} ?>
(64)
d. Source Code Untuk Memproses Routing Dinamis.
Berikut merupakan source code untuk protokol RIP, untuk protokol OSPF dan BGP, menggunakan struktur script yang sama, hanya saja pada perintah dalam konfigurasinya yang berbeda.
<?php $port = 2602;
$network=$_POST["network"]."/".$_POST["mask"]; $prnth = "configure terminal\r\n";
$prnth .= "router rip\r\n"; $prnth .= "version 2\r\n";
if (isset($_COOKIE['rip_netw'])) {
$prnth .= "no network ".$_COOKIE['rip_netw']."\r\n"; } $prnth .= "network $network\r\n";
$prnth .= "end\r\n";
require_once "../include/telnet.php"; $file="list_rip.txt";
if (isset($_COOKIE['rip_netw'])) { $tmp = file($file);
for ($i=0;$i<=count($tmp)-1;$i++) {
$cari = stristr($tmp[$i], $_COOKIE['rip_netw']); if (!empty($cari)) {
$tmp[$i] = ""; }
}
$hpus = file_put_contents($file, implode($tmp));
if ($hpus) { echo '<i><font color="green">network ('.$_COOKIE['rip_netw'].') berhasil dihapus.</font></i><br>';
}
setcookie('rip_netw', ""); }
$almt_ip="$network"; $buka = file($file); $last = count($buka); $buka[$last] = "$almt_ip\n";
file_put_contents($file, implode($buka)); $buka=file($file);
if(!empty($buka)) {
for($i=0;$i<=count($buka)-1;$i++) { $cek = stristr($buka[$i], $almt_ip); if(!empty($cek)) {
echo '<i><font color="green">network rip '.$almt_ip.' berhasil ditambahkan ke routing table.</font></i><br>';
} }
echo '<br><meta http-equiv="refresh" content="5; url=frm_main_rip.php" /><br>'; } else { echo '<i><font color="red">gagal menambahkan alamat ip '.$almt_ip.' ke routing table.</font></i><br>';
echo '<br><meta http-equiv="refresh" content="5; url=frm_main_rip.php" /><br>';
} ?>
(65)
e. Source Code Untuk Manajemen Bandwidth
Berikut merupakan source code untuk konfigurasi manajemen bandwidth, dalam konfigurasi tersebut, terdapat 2 parameter yaitu class dan client.
source code untuk konfigurasi class)
<?php session_start();
//========================== cek sesi user ===========================// if(!isset($_SESSION['user']) && !isset($_SESSION['pass'])) {
?>
<script language='javascript'>document.location='../user/login.php'</script> <?php
} else {
//========================== cek sesi user ===========================// include "../router_ui/interface.php";
include "../limiter/submenu.php"; ?>
<?php
$filename = "int.txt"; $buka = file($filename); $i="1";
$eth1=$buka[$i]; $eth=rtrim($eth1);
if(isset($_POST["namaclass"])) {
$namaclass = str_replace(" ", "_", $_POST["namaclass"]); $namaclass = "class ".$namaclass;
$file = "$eth-qos.cfg"; //======================================>>>> nama file config $baca = file($file);
$hitung = count($baca)+1;
$classbaru = file_get_contents('class.txt'); $baca[$hitung-1] = $baca[$hitung-2]; $baca[$hitung-2] = $namaclass.$classbaru; file_put_contents($file, implode($baca));
echo $namaclass.' berhasil ditambahkan.<br><br><a href="index.php">kembali ke menu</a><br>'; }
else if(isset($_GET["hapus"])) { $namaclass = $_GET["hapus"]; $nmrclass = $namaclass+1;
$file = "$eth-qos.cfg"; //=====================================>>>> nama file config $baca = file($file);
$m = 0;
for($v = 0; $v <= count($baca)-1; $v ++) { $cek_class = stristr($baca[$v], "class"); if(!empty($cek_class)) {
$startof_classx[$m] = $v;
if($m!=0) { $endof_classx[$m-1] = $v-1; } $m++;
}
if($v == count($baca)-1) { $endof_classx[$m-1] = $v+1; } }
for ($i = $startof_classx[$namaclass]; $i <=$endof_classx[$namaclass]; $i++) { $baca[$i] = ""; }
file_put_contents($file, implode($baca));
echo 'class # '.$nmrclass.' berhasil dihapus.<br><br><a href="index.php">kembali ke menu</a><br>'; }
(66)
else if (isset($_GET['rename'])) { //konfirmasi rename class $k = $_GET['rename'];
$nmr_class = $k+1; echo ' <html><title> edit class</title> <head><h2> rename class </h2></head>
<body><form action="editclass.php" method="post"> <table border=1 bgcolor=white cellpadding=1>
<tr><td>masukkan nama class baru untuk class # '.$nmr_class.' : </td><td><input type="text" name="rename" value="" size="20" maxlength="20"/></td></tr> <input type="hidden" name="nmrclass" value="'.$k.'"></input>
<tr><td><input type="submit" value="simpan"></input></td></tr> </table>
</form><br><a href="index.php">kembali ke menu</a><br> </body></html>';
}
else if(isset($_POST["rename"])) {
$namaclass = str_replace(" ", "_", $_POST["rename"]); $nmrclass = $_POST["nmrclass"];
$file = "$eth-qos.cfg"; //========================================>>>> nama file config
$baca = file($file); $m = 0;
for($v = 0; $v <= count($baca)-1; $v ++) { $cek_class = stristr($baca[$v], "class"); if(!empty($cek_class)) {
$startof_classx[$m] = $v;
if($m!=0) { $endof_classx[$m-1] = $v-1; } $m++;
}}
$classbaru = file_get_contents('class.txt');
$baca[$startof_classx[$nmrclass]] = "class ".$namaclass." ".$classbaru[1]."\r\n"; $nmrclass +=1;
file_put_contents($file, implode($baca));
echo 'class # '.$nmrclass.' berhasil di rename menjadi '.$namaclass.'.<br><br><a href="index.php">kembali ke menu</a><br>';
}else { ?> <html><title> edit class </title><head> <h2>tambah class </h2></head>
<body><form action="editclass.php" method="post"> <table border=1 bgcolor=white cellpadding=1>
<tr><td>masukkan nama class baru : </td><td><input type="text" name="namaclass" /></td></tr> <tr><td><input type="submit" value="simpan" /></td></tr>
</table></form>
<br><a href="index.php">kembali ke menu</a><br> </body></html> <?php } include "../router_ui/interface-footer.php"; } ?>
(1)
4. Melakukan redistribute Routing table yang dikelola protocol BGP ke OSPF
Gambar 4.102 Konfigurasi Resdistribute BGP Pada Protocol OSPF D.Pengujian Konvergensi Dengan Ping dan routing tabel
1. Berikut merupakan routing table yang terbentuk dari ROUTER_BGP2
Gambar 4.103 Routing Table ROUTER_BGP2 Dalam Pengujian Keempat 2. Untuk membuktikan semua network address dapat saling berkomunikasi,
dilakukan ping IP Address disetiap network, ping IP Address dilakukan pada PC9 sebagai berikut :
Gambar 4.104 Ping Network ROUTER_BGP1 Dalam Pengujian Keempat
(2)
Gambar 4.105 Ping Network ROUTER_DBIOSS INTRO Dalam Pengujian Keempat
Gambar 4.106 Ping Network ROUTER_OSPF1
Gambar 4.107 Ping Network ROUTER_OSPF2 4.2. Analisa
Dari semua proses pengujian yang telah dijabarkan diatas, maka dapat
dib DBIOSS INTRO
adalah sebagai berikut :
(3)
Tabel 4.1 Ringkasan Hasil Pengujian
MENU JALAN TIDAK KETERANGAN
Konfigure IP Address
Dari hasil pengujian konfigurasi ini bisa sukses jika interface Ethernet belum dikonfigurasi dengan cara lain. Missalkan dengan perintah ifconfig pada terminal
DNS
Konfigurasi DNS yang telah di masukan, dapat diedit maupun di hapus dari table list DNS.
NAT
Jumlah network yang akan di daftarkan pada NAT dapat ditambahkan sesuai dengan yang diinginkan.
Bridge
Konfigurasi bridge maksimal hanya untuk 4 interface sesuai banyaknya interface yang terpasang pada
ROUTER_DBIOSS INTRO
Firewall
Jika ada IP address yang sama di table DROP dan ACCEPT, system akan membaca
konfigurasi yang pertama kali di konfigurasi. Maka IP address di salah satu table harus di hapus. Routing protocol RIPv2 Hanya untuk IPv4, bukan untuk
IPv6
Routing protocol OSPF Hanya untuk IPv4, bukan untuk IPv6
Routing protocol BGP Hanya untuk IPv4, bukan untuk
IPv6
(4)
Lanjutan Dari Tabel 4.1.
Redistribute Redistribute di konfigurasi tanpa
ada metrik
Create interface limiter
Interface yang di buat sesuai dengan interface yang terinstall pada PC router.
Configure limiter
Terdapat class default dalam konfigurasi yang tidak bisa di edit maupun di hapus dalam system.
Start / stop interface limiter Digunakan untuk stop start software htb-tool
Routing Table
Untuk menampilkan daftar network yang dapat di hubungi oleh router
Ping
Fasilitas untuk mengecek koneksi
ROUTER_DBIOSS INTROdengan
perangkat lain
Restart quagga Untuk restart software quagga
Dari aplikasi yang dibuat dan telah melalui tahap pengujian sistem, terdapat keunggulan dan kelemahan dari aplikasi ini.
A. Keunggulan dari Aplikasi DBIOSS INTRO
1. Seorang admin dapat mengkonfigurasi router untuk keperluan routing, NAT, bridge, firewall, maupun manajemen bandwidth dengan mudah dan dalam waktu singkat tanpa harus memasukan perintah-perintah konfigurasi seperti pda router umumnya.
2. Aplikasi DBIOSS INTRO juga menyediakan tools untuk melihat routing table, start/stop interface untuk limiter, ping network address, dan trace route.
(5)
B. kelemahan dari Aplikasi DBIOSS INTRO
1. Saat konfigurasi IP address pada network interface pada ROUTER_DBIOSS INTRO, terkadang IP address tersebut tidak terkonfigurasi di konfigurasi sistem debian. Untuk menangani hal tersebut, maka setelah selesai konfigurasi IP address, software quagga harus di restart dengan menggunakan tool restart quagga yang telah di sediakan pada aplikasi DBIOSS INTRO.
2. Pada setiap class yang di buat saat konfigurasi manajemen bandwidth, untuk nama class tidak dapat di edit. Apabila nama class di edit, maka script konfigurasi limiter dalam sistem akan terdapat error. Solusi untuk menangani error tersebut adalah menghapus class yang telah di edit tersebut dan kemudian membuat class baru untuk menggantikan class yang error.
3. Pada aplikasi DBIOSS INTRO ini belum di tersedia tools untuk melihat traffic bandwidth yang telah di konfigurasi pada manajemen bandwidth secara realtime dan belum tersedianya graphic untuk monitoring bandwidth.
(6)
100 BAB V PENUTUP
5.1. Kesimpulan
Telah dibuat pembuatan interface konfigurasi router dan manajemen bandwidth berbasis web. dengan fitur sebagai berikut:
1. Konfigurasi router yang digunakan adalah routing statis menggunakan daemon zebra dan dinamis RIPv2 menggunakan daemon ripd, OSPF menggunakan daemon ospfd dan BGP menggunakan daemon bgpd . 2. Selain konfigurasi routing, router sekaligus berperan sebagai server
manajemen bandwidth yang dapat mengatur limit downstream maupun upstream yang menggunakan HTB-tool untuk konfigurasi system.
3. Dilengkapi dengan fasilitas networking berupa konfigurasi NAT, bridge, DNS, firewall, tabel routing, ping, traceroute, restart quagga dan konfigurasi password user.
5.2. Saran
Untuk perkembangan kedepan, fitur yang belum tersedia pada interface web router yaitu:
1. Ditambahkan view traffic bandwidth realtime perubahan pemakain bandwidth pada setiap rule yang telah di konfigurasi pada manajemen bandwidth.
2. Ditambahkan graphic sebagai monitoring bandwidth.