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
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.
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
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.
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
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
ix
4.2 Analisa... 96
... 100
5.1 Kesimpulan ... 100
5.2 Saran ... 100
DAFTAR PUSTAKA ... 101
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
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
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
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
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
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
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.
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.
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.
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.
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
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.
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).
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
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.
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
-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 :
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
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;
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 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
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
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
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1. Perancangan Sistem
WEB
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
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
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
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.
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.
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
1. Network Interface Configuration 2. Dns Setting 3. Start / Stop Limiter
1. Routing Table 2. ping
3. Trace
4. Restart Quagga
1. ID and Password 2. Quagga Password
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.
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.
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
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
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.
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.
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.
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:
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.
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
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.
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
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); }
?>
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) {
if(!isset($_SESSION['user']) && !isset($_SESSION['pass'])) { ?>
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("txtHint").innerHTML=xmlhttp.responseText; }