.
DESAIN DAN IMPLEMENTASI SISTEM KONFIGURASI
ROUTING BGP ROUTER CISCO MENGGUNAKAN
PYTHON TELNETLIB Nuridin Agus Ismail
Jurusan Ilmu Komputer Universitas Bumigora
Jln Ismail Marzuki, Kota Mataram, Nusa Tenggara Barat. 83127, INDONESIA
Article Info ABSTRAK
Article history:
Received: -
Revised: -
Accepted: -
Routing border gateway protokol merupakan salah satu jenis routing protokol
yang ada didunia komunikasi data. Sebagai sebuah routing protokol, border
gateway protokol memiliki kemampuan melakukan pengumpulan rute,
pertukaran rute dan menentukan rute terbaik menuju ke sebuah lokasi dalam
jaringan. Routing protokol juga pasti dilengkapi dengan algoritma yang pintar
dalam mencari jalan terbaik. Karena Konfigurasi masih dilakukan dengan cara
melakukan console ke perangkat dengan cara CLI namun cara ini masih dapat
menimbulkan kesalahan karena dalam praktiknya akan mengalami kesulitan
dalam konfigurasinya karena memerlukan beberapa Langkah yang perlu diatur
untuk dapat melakukan manajemen konfigurasi routing BGP. Dari
permasalahan diatas penulis melakukan penelitian yaitu membangun sebuah
sistem manajemen konfigurasi dalam peroses mengkonfigurasi routing BGP,
selain itu dengan adanya sistem ini akan dapat mengurangi kesalahan dalam
proses konfigurasi dan akan membuat proses konfigurasi menjadi lebih
sistematis. Sistem dibangun menggunakan bahasa pemrograman python
dengan tambahan library telnetlib di dalamnya. Penelitian ini menghasilkan
sebuah sistem manajemen konfigurasi routing BGP yang dibangun
menggunakan bahasa pemrograman python dan tambahan library telnetlib
didalamnya. Sehingga proses konfigurasi menjadi lebih terstruktur, mudah
dan dapat mengurangi kesalahan administrator jaringan dalam proses
konfigurasi.
Kata Kunci:
Desain Dan Implementasi Sistem
Konfigurasi, Routing BGP, Cisco,
Python Telnetlib.
ABSTRACT
Keywords:
pascapanen
limbah_pertanian
pertanian
sosialisasi
motion_graphic
Routing border gateway protocol is one type of routing protocol that exists in
the data communication world. As a routing protocol, the border gateway
protocol has the ability to collect routes, exchange routes and determine the
best route to a location on the network. Routing protocols must also be
equipped with smart algorithms to find the best way. Because the configuration
is still done by console to the device using the CLI method, but this method can
still cause errors because in practice it will experience difficulties in the
configuration because it requires several steps that need to be set to be able to
perform BGP routing configuration management. From the above problems,
the authors conducted research, namely building a configuration management
system in the process of configuring BGP routing, besides that, this system will
be able to reduce errors in the configuration process and will make the
configuration process more systematic. The system is built using the python
programming language with the addition of the telnetlib library in it. This
research produces a BGP routing configuration management system that is
built using the python programming language and the addition of the telnetlib
library in it. So that the configuration process becomes more structured, easy
and can reduce network administrator errors in the configuration process.
1. PENDAHULUAN
BGP (Border Gateway Protocol) merupakan routing protocol jenis EGP (Exterior Gateway Protocol) .
BGP adalah salah satu routing protocol yang menangani jaringan antar AS (Autonomous System). BGP
memiliki kemampuan yang sangat handal dengan melakukan pengumpulan rute, pertukaran rute dan
menentukan jalur terbaik untuk mencapai tujuan. BGP merupakan metode routing untuk tingkat jaringan yang
besar dan rumit yang disetting secara dynamic guna mempermudah dan mempercekat dalam
pengkonfigurasiannya. BGP dapat digunakan untuk menghubungkan antar dua organisasi besar yang memiliki
AS yang berbeda. [1].
Proses konfigurasi routing BGP masih banyak dilakukan dengan cara console ke perangkat dengan cara
CLI namun cara ini masih dapat menimbulkan kesalahan seperti human error karena dalam prakteknya akan
mengalami kesulitan dalam konfigurasinya karena memerlukan beberapa langkah yang perlu diatur. Termasuk
ketika melakukan konfigurasi routing BGP maka diperlukan sebuah sistem yang bisa memanajemen
konfigurasi routing BGP secara sistematis. Selain dapat mengurangi kesalahan dalam melakukan konfigurasi,
sistem ini juga dapat mempercepat proses konfigurasi yang dilakukan oleh administrator.
Dalam penelitian ini dilakukan perancangan desain sistem dan sekaligus implementasi sistem untuk proses
routing BGP pada 3 router cisco yang dibangun menggunakan skrip python. Dan terdapat library telnetlib yang
digunakan untuk koneksi ke router mengunakan telnet dibagian backend. Dengan menggunakan sistem
administrator jaringan tidak perlu membuka CLI dan mengketik sintak untuk mengkonfigurasi setiap router.
Administrator hanya perlu menjalankan sistem dan memilih menu konfigurasi yang diinginkan maka sistem
akan manampilkan menu inputan untuk melakukan konfigurasi yang telah dipilih.
2. METODE PENELITIAN
Dalam penelitian ini metodologi yang diterapkan adalah dengan menggunakan metode waterfall yang
bertujuan untuk menyelesaikan pembangunaan sistem manajemen konfigurasi routing BGP. Dalam kasus ini
penulis hanya menggunakan 4 tahapan yaitu analisa kebutuhan, desain sistem, penulisan kode program,
pengujian program. Berikut adalah tahapan dalam metode waterfall:
Gambar 2.1 Gambar Metode Waterfall
2.1 Analisa Kebutuhan
Pada tahap ini dilakukan identifikasi kebutuhan-kebutuhan yang digunakan dalam penelitian ini
melalui pengumpulan data seperti literatur dan melakukan Analisa terhadap data-data yang telah
dikumpulkan Adapun beberapa jurnal atau penelitian sebelumnya yang membahasnya sebagai
berikut:
Tabel 2. 1 Jurnal Perbandingan Penelitian Sebelumnya
No Penulis Tahun Judul Pembahasan
1. Dedi Satria 2019
Perancangan dan simulasi
bgp multihoming
menggunakan GNS3
Penelitian ini membahas
tengang cara konfigurasi
manual routing bgp
multihoming
menggunakan gns3 [5].
2.
Rheza Adhyatmaka
Wiryawan dan Nur
Rohman Rosyid
2019
Pengembangan aplikasi
otomatisasi administrasi
jaringan berbasis website
menggunakan bahasa
pemrograman python
Penelitian berfokus pada
menggembangkan aplikasi
otomatisasi adminitrasi
jaringan berbasis web
menggunakan Bahasa
python ” [3].
3. Akhmad Syarifudin 2019
Konfigurasi Routing BGP di
Cisco Packet Tracer
Penelitian berfokus pada
konfigurasi routing bgp
secara manual di cisco
paket tracer [4].
4.
Elin Sylvania
Ginting, Suroso, dan
Irawan Hadi
2020
Pengujian Konfigurasi
Otomatis Penambahan
Gateway Pada Virtual Router
Menggunakan Aplikasi
Otomatisasi Jaringan
Berbasis Web
Penelitian ini membuat
aplikasi otomatisasi
jaringan berbasis web
dengan python , library
paramiko yang berfungsi
sebagai jembatan
penghubung antara server
dengan perangkat jaringan
menggunakan protokol
SSH (Secure Shell), dan
framework django yang
dapat melakukan
konfigurasi IP Gateway
secara otomatis [2].
2.2 Kebutuhan Perangkat Keras Dan Lunak
A. Kebutuhan Perangkat Keras (Hardware)
1. Dengan menggunakan 1 (satu) Unit computer yang didalamnya diinstalkan Oracle VM
VirtualBox dan GNS3, karena GNS3 sudah menyediakan fitur GNS3 VM yang ada
didalam GNS3 sehingga bisa langsung di hubungkan ke GNS3 VM, kemudian didalam
GNS3 penulis akan memulai untuk merancan jaringannya, namun sebelum itu dilakukan
penulis terlebih dahulu akan menginstall IOS CISCO di GNS3, setelah itu install sistem
operasi linux ubuntu yang sudah terinstall dengan pythondi oracle VM untuk membuat
aplikasi manajemen konfigurasi cisco.
a. 1 server pythondengan spesifikasi sebagai berikut:
− Procesor : 1 core
− Hardisk : 20 GB
− Me mory : 2 GB
− Sistem Operasi : Ubuntu
b. 1 komputer dengan speksifikasi sebagai berikut:
− Procesor : AMD A8-6410
− Hardisk : 500 GB
− Memory : 10 GB
− Sistem Operasi : Windows 10 64bit
c. 1 GNS3 VM dengan spesifikasi sebagai berikut:
− Prosecor : 1 core
− Hardisk 1 : 19,5 GB
− Hardisk 2 : 19,5 GB
− Memory : 2 GB
B. Kebutuhan Perangkat Lunak (Software)
1. GNS3 adalah sebuah program graphical network simulator yang dapat mensimulasikan
topologi jaringan yang lebih kompleks dibandingkan dengan simulator lainnya.
2. Oracle VM VirtualBox adalah perangkat lunak yang digunakan untuk virtualisasi sistem
operasi tambahan yang berada didalam sistem operasi.
2.3 Use Case Diagram
Gambar 2. 2 Use Case Diagram
Gambar diatas merupakan diagram use case dari sistem yang dibangun. Diagram use case ini
menggambarkan menu konfigurasi yang dapat di akses oleh pengguna sistem tersebut adalah melakukan
konfigurasi hostname, ip address dan menghapus ip address, akun pelanggan dan menghapus aku pelanggan,
routing border gateway protokol, melihat hasil konfigurasi dari interface, melihat hasil konfigurasi dari
routing, dan dapat menyimpan hasil konfigurasi.
2.4 Activity Diagram
Gambar 2. 3Activiti Diagram
Gambar diatas merupakan diagram activity yang menggambarkan alur kerja dari sistem, yang
dimulai pengguna melakukan inputan login, lalu memilih menu konfigurasi dan melakukan
inputan parameter dari konfigurasi yang dipilih dn dilanjut oleh aktivitas perangkat yang
mengirim parameter dan sintak konfigurasi lalu dilanjut lagi oleh sistem melmbuka sesi telnet
lalu mengeksekusi sintak konfigurasi terakhir sistem menutup sesi telnet dan perangkat
menampilkan hasil konfigurasi yang dapat dilihat oleh pengguna.
2.5 Rancangan Simulasi Jaringan
Gambar 2. 4 Rancangan Simulasi Jaringan Uji Coba
Perancangan jaringan tersebut di simulasikan menggunakan vitualisasi Oracle VirtualBox dan
GNS3. Pada rancang jaringan tersebut menggunakan satu komputer yang terhubung ke internet,
yang di dalamnya telah diinstal sebuah virtual machine berupa Oracle VirtualBox. Pada Oracle
VirtualBox tersebut terdapat satu VM untuk server python versi 2.7.17 yang diinstal pada ubuntu
dan di import ke GNS3.
3. HASIL DAN ANALISIS
3.1 Koding Python
Rancangan koding aplikasi dengan Bahasa pemrograman pythonyang dapat mengkonfigurasi
manajemen akun pelanggan dan routing border gateway protokol dan IP address di terapkan dengan
konsep pilihan menu dimana masing-masing fitur konfigurasi tersebut dibuat dalam bentuk percabangan
dimana administrator yang inggin mengkonfigurasi router perlu memasukkan ip addres telnet sebagai
remot dan dengan memilih menu konfigurasi sesuai dengan urutan, menu-menu yang tersedia.
Gambar 3. 1 Menu Konfigurasi
Gambar 3. 2 Koding konfigurasi username
Pada gambar di atas terlihat hasil koding untuk mengkonfigurasi username dengan opsi 1, untuk
mengkonfigurasi username administrator harus melakukan inputan username dan password yang
akan digunakan untuk router.
Fungsi parameter dari koding diatas adalah sebagai berikut:
a. IF adalah parameter percabanggan yang berfungsi untuk menentukan opsi yang yang
dipilih administrator.
b. Raw_input berfungsi untuk memberikan kolom inputan kepada administrator.
c. Ex.write berfungsi untuk menuliskan perintah konfigurasi secara otomatis yang
dilakukan oleh sistem.
d. Print ex.read_all berfungsi untuk mencetak ke layer hasil konfigurasi.
Gambar 3. 3 Koding konfigurasi IP address
Pada gambar diatas terlihat hasil koding untuk mengkonfigurasi IP address dengan pilihan opsi 2, untuk
mengkonfigurasi IP address administrator harus melakukan inputan interface, ip address, dan deskripsi.
Fungsi parameter dari koding diatas adalah sebagai berikut:
a. IF adalah parameter percabanggan yang berfungsi untuk menentukan opsi yang yang
dipilih administrator.
b. Raw_input berfungsi untuk memberikan kolom inputan kepada administrator.
c. Ex.write berfungsi untuk menuliskan perintah konfigurasi secara otomatis yang
dilakukan oleh sistem.
d. Print ex.read_all berfungsi untuk mencetak ke layer hasil konfigurasi.
Gambar 3. 4 Koding konfigurasi hapus IP address
Pada gambar diatas terlihat hasil koding untuk mengkonfigurasi IP address dengan pilihan opsi 3, untuk
mengkonfigurasi IP address administrator harus melakukan inputan interface, ip address, dan deskripsi.
Fungsi parameter dari koding diatas adalah sebagai berikut:
a. IF adalah parameter percabanggan yang berfungsi untuk menentukan opsi yang yang
dipilih administrator.
b. Raw_input berfungsi untuk memberikan kolom inputan kepada administrator.
c. Ex.write berfungsi untuk menuliskan perintah konfigurasi secara otomatis yang
dilakukan oleh sistem.
d. Print ex.read_all berfungsi untuk mencetak ke layer hasil konfigurasi.
Gambar 3. 5 Koding konfigurasi akun pelanggan
Pada gambar diatas terlihat hasil koding untuk mengkonfigurasi akun pelanggan dengan pilihan opsi 4,
untuk mengkonfigurasi akun pelanggan administrator harus melakukan inputan interface, username, dan
password.
Fungsi parameter dari koding diatas adalah sebagai berikut:
a. IF adalah parameter percabanggan yang berfungsi untuk menentukan opsi yang yang
dipilih administrator.
b. Raw_input berfungsi untuk memberikan kolom inputan kepada administrator.
c. Ex.write berfungsi untuk menuliskan perintah konfigurasi secara otomatis yang
dilakukan oleh sistem.
d. Print ex.read_all berfungsi untuk mencetak ke layer hasil konfigurasi.
Gambar 3. 6 Koding hapus akun pelanggan
Pada gambar diatas terlihat hasil koding untuk mengkonfigurasi akun pelanggan dengan pilihan opsi 5,
untuk mengkonfigurasi akun pelanggan administrator harus melakukan inputan interface, username, dan
password.
Fungsi parameter dari koding diatas adalah sebagai berikut:
a. IF adalah parameter percabanggan yang berfungsi untuk menentukan opsi yang yang
dipilih administrator.
b. Raw_input berfungsi untuk memberikan kolom inputan kepada administrator.
c. Ex.write berfungsi untuk menuliskan perintah konfigurasi secara otomatis yang
dilakukan oleh sistem.
d. Print ex.read_all berfungsi untuk mencetak ke layer hasil konfigurasi.
Gambar 3. 7 Koding routing BGP
Pada gambar diatas terlihat hasil koding untuk mengkonfigurasi routing BGP, untuk mengkonfigurasi
routing BGP administrator harus melakukan inputan AS number, IP neighbor, remot AS number, IP
network, subnetmask network.
Fungsi parameter dari koding diatas adalah sebagai berikut:
a. IF adalah parameter percabanggan yang berfungsi untuk menentukan opsi yang yang
dipilih administrator.
b. Raw_input berfungsi untuk memberikan kolom inputan kepada administrator.
c. Ex.write berfungsi untuk menuliskan perintah konfigurasi secara otomatis yang
dilakukan oleh sistem.
d. Print ex.read_all berfungsi untuk mencetak ke layer hasil konfigurasi.
e. Import berfungsi untuk memasukkan library telnetlib.
f. While adalah parameter perulanggan.
Gambar 3. 8 Koding verifikasi IP addres
Pada gambar diatas terlihat hasil koding untuk mengkonfigurasi verifikasi IP address dengan pilihan opsi 6.
Fungsi parameter dari kOSI ng diatas adalah sebagai berikut:
a. IF adalah parameter percabanggan yang berfungsi untuk menentukan opsi yang yang
dipilih administrator.
b. Ex.write berfungsi untuk menuliskan perintah konfigurasi secara otomatis yang
dilakukan oleh sistem.
c. Print ex.read_all berfungsi untuk mencetak ke layer hasil konfigurasi.
Gambar 3. 9 Koding Konfigurasi verifikasi IP route
Pada gambar diatas terlihat hasil koding untuk mengkonfigurasi verifikasi IP route dengan pilihan opsi 7.
Fungsi parameter dari kOSI ng diatas adalah sebagai berikut:
a. IF adalah parameter percabanggan yang berfungsi untuk menentukan opsi yang yang
dipilih administrator.
b. Ex.write berfungsi untuk menuliskan perintah konfigurasi secara otomatis yang
dilakukan oleh sistem.
c. Print ex.read_all berfungsi untuk mencetak ke layer hasil konfigurasi.
Gambar 3. 9 Koding konfigurasi simpan
Pada gambar diatas terlihat hasil koding untuk mengkonfigurasi simpan dengan pilihan opsi 8.
Fungsi parameter dari kOSI ng diatas adalah sebagai berikut:
a. IF adalah parameter percabanggan yang berfungsi untuk menentukan opsi yang yang
dipilih administrator.
b. Ex.write berfungsi untuk menuliskan perintah konfigurasi secara otomatis yang
dilakukan oleh sistem.
c. Print ex.read_all berfungsi untuk mencetak ke layer hasil konfigurasi.
1.2. Hasil Pengujian Balcbox
Hasil pengujian sistem menggunakan blackbox pada penelitian ini merupakan rangkuman hasil dari
semua pengujian. Pengujian dilakukan sesuai dengan Tabel 3.3, hasil dari pengujian yaitu semua fitur
sistem dan case dapat dijalankan. Hasil pengujian sebagai berikut:
Tabel 4. 1 Hasil pengujian sistem blackbox
Id
pengujian Skenario Pengujian Pengujian Hasil Pengujian Hasil
K001
Mengkonfigurasi
Username dan
Password pada router.
Input username
dan password
Sistem akan
mengkonfigurasi
username dari router
SESUAI
K002 Mengkonfigurasi Ip
address
Input interface dan
ip address
Sistem akan
mengkonfigurasi ip
address
SESUAI
K003 Menghapus Ip address
Input interface dan
ip address
sistem akan
menghapus
konfigurasi ip address
SESUAI
K004
Mengkonnfigurasi
atau menambahkan
akun pelanggan baru
Input username
dan password
pelanggan
Sistem akan membuat
akun pelanggan SESUAI
K005 Menghapus akun
pelanggan
Input username
dan password
Sistem akan
menghapus
konfigurasi akun
pelanggan
SESUAI
K006
Mengkonfigurasi
routing border
gateway protokol
Input As number,
neighbor, remot
as, network, dan
submask
Sistem akan
mengkonfigurasi
routing border
gateway protokol
SESUAI
K007 Menampilkan hasil
konfigurasi interface
Eksekusi menu ke
6 (enam)
Sistem akan
menampilkan hasil
konfigurasi interface
SESUAI
K008 Menampilkan hasil
konfigurasi routing
Eksekusi menu eke
7 (tujuh)
Sistem akan
menampilkan hasil
konfigurasi routing
SESUAI
K009
Menyimpan
konfigurasi
Eksekusi menu ke
8 (delapan)
Sistem akan
menyimpan
konfigurasi
SESUAI
Terlihat pada tabel diatas adalah hasil uji coba menggunakan metode blackbox, terdapat 9 (Sembilan)
skenario percobaan yang telah dirancang dan semua percobaan telah dilakukan dan mendapat hasil sesuai
dengan skenario yang dirancang. Dan dapat disimpulkan sistem yang dirancang dapat berjalan dengan baik.
4. KESIMPULAN DAN SARAN
4.1 KESIMPULAN
Adapun kesimpulan yang dapat diambil oleh penulis dari pnelitian ini adalah sebagai berikut:
1. Telah dibangun sistem yang dapat mengkonfigurasi routing border gateway protokol pada router
cisco menggunakan bahasa pemrograman python dengan menggunakan library telnetlib.
2. Pembanggunan sistem menghasilkan 5 fiktur konfigurasi yaitu konfigurasi hostname, ip address,
akun pelanggan, routing border gateway protokol, menampilkan hasil konfigurasi routing,
menampilkan hasil konfigurasi interface, dan menyimpan konfigurasi.
3. Pengujian menggunakan metode Black-box testing menunjukkan bahwa semua fungsi pada sistem
yang dibangun pada penelitian ini berfungsi dengan baik dan behasil diterapkan pada router cisco.
4.2 SARAN
Adapun saran untuk pengembangan sistem lebih lanjut, terdapat beberapa saran yang diberikan agar
sistem ini dapat berjalan lebih baik lagi. Berikut beberapa saran yang dapat diberikan:
1. Mengembangkan sistem otomasi pada routing border gateway protokol.
2. Menambahkan fitur – fitur konfigurasi pada router cisco.
3. Mengembangkan sistem manajemen konfigurasi cisco akun pelanggan dan routing border
gateway protokol agar mendukun protokol SSH.
4. Mengembangkan sistem agar mempunyai session login.
5. Untuk pengujian penulis menggunakan Virtual sedangkan untuk pengembangan skripsi ini
selanjutnya mengimplementasikan konfigurasi yang telah dibuat pada perangkat fisik agar
diketahui apakah konfigurasi yang telah dibuat sudah berjalan sebagaimana mestinya pada
perangkat fisik.
REFERENSI
[1] Anugrah, K. (n.d.). Border gateway protokol.
[2] Ginting, E. S., & Hadi, I. (2020). Pengujian Konfigurasi Otomatis Penambahan Gateway Pada Virtual
Router Menggunakan Aplikasi Otomatisasi Jaringan Berbasis Web. 4, 1126–1131.
https://doi.org/10.30865/mib.v4i4.2485
[3] Rheza adhyatmaka W, Nur Rohman Rosyid, S.T., M.T., D. E. (2019). Pengembangan aplikasi otomatisasi
administrasi jaringan berbasis website menggunakan bahasa pemrograman python rheza adhyatmaka w,
Nur Rohman Rosyid, S.T., M.T., D.Eng.
[4] Syarifudin, A. (n.d.). Konfigurasi Routing BGP di Cisco Packet Tracer.
[5] Satria, D. (1967). PERANCANGAN DAN SIMULASI BGP MULTIHOMING MENGGUNAKAN GNS3.
Angewandte Chemie International Edition, 6(11), 951–952.