BAB III METODOLOGI PENELITIAN
3.5 Konfigurasi Perangkat
3.5.1 Konfigurasi SSH pada Router
Melakukan konfigurasi SSH (Secure Shell) disetiap router pada jaringan yang sebelumnya sudah diberikan konfigurasi alamat IP pada router yang terhubung dengan Ubuntu Network Automation beserta dengan pemberian username dan password. Hal ini bertujuan agar saat melakukan konfigurasi program Paramiko dan Napalm dapat dilakukan. Konfigurasi SSH ini akan memberikan akses pada kedua library Python tersebut sehingga program dapat melakukan remote beserta konfigurasinya.
Gambar 3.3 Konfigurasi Alamat IP Router
R1(config)# int f0/0
R1(config)# ip add 10.10.10.2 255.255.255.240 R1(config)# no sh
R1(config)# exit
R1(config)# username laras secret proposal123 R1(config)# username laras privilege 15
20
Gambar 3.4 menjelaskan konfigurasi yang akan dilakukan pada seluruh router berupa IP address pada setiap interface yang akan digunakan beserta dengan username dan password sama agar dapat saling terhubung secara langsung serta memberikan konfigurasi privilege 15 agar dapat langsung tehubung ke mode privileged router.
Gambar 3.4 Konfigurasi SSH Pada Router
Gambar 3.4 melakukan konfigurasi SSH pada setiap router agar library Paramiko dan Napalm dapat memberikan akses. Pada konfigurasi ip domain-name untuk membuat DNS domain name agar dapat menterjemahkan alamat IP ke tujuan.
Konfigurasi crypto key generate rsa modulus 1024 digunakan sebagai kunci yang akan digunakan oleh server dan client saat berkomunikasi dengan panjang data key 1024. Konfigurasi line vty 0 4 sebagai metode autentikasi username dan password.
Konfigurasi SSH dilakukan setiap router yang ada pada topologi agar SSH dapat melakukan remote pada setiap konfigurasi router yang menggunakan library Paramiko dan Napalm.
3.5.2 Konfigurasi Program Library Paramiko
Konfigurasi pada program library Paramiko dibuat dalam Ubuntu Network Automation yang terdapat pada GNS3. Program ini berisikan konfigurasi alamat IP yang sudah dilengkapi dengan username dan password secara manual atau statik oleh admin, routing BGP dan lainnya yang nanti akan disimpan pada satu file dengan format “.py”. Username dan password yang terdapat pada program nantinya akan digunakan sebagai syarat untuk dapat masuk kedalam router dan melakukan konfigurasi Paramiko disetiap router pada jaringan.
R1(config)# ip domain-name telkom.com R1(config)# crypto key generate rsa modulus 1024 R1(config)# line vty 0 4
21
Gambar 3.5 Konfigurasi Alamat IP Ubuntu Network Automation
Gambar 3.5 merupakan konfigurasi alamat IP pada Ubuntu Network Automation. Konfigurasi alamat IP dilakukan secara manual disimpan dengan format .yaml yang nantinya akan digunakan pada Paramiko dan Napalm saat konfigurasi dijalankan.
Gambar 3.6 Konfigurasi BGP Pada Library Paramiko Network Automation Gambar 3.6 merupakan program konfigurasi routing BGP pada Ubuntu Network Automation menggunakan library Paramiko. Konfigurasi yang dijalankan
R1(config)# transport input ssh R1(config)# login local
import paramiko import time def r1():
#konfigurasi interface router ip_address ="10.10.10.2"
username = "laras"
password = "proposal123"
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip_address,username=username,password=password) print ("Login Sukses di {0}".format(ip_address))
conn = ssh_client.invoke_shell() conn.send("conf t\n")
conn.send("int lo0\n")
conn.send("ip add 1.1.1.1 255.255.255.255\n") conn.send("int f1/1\n")
conn.send("ip add 192.168.10.1 255.255.255.0\n") conn.send("int 1/0\n")
conn.send("ip add 192.168.9.1 255.255.255.0\n") conn.send("no sh\n")
time.sleep (1) #konfigurasi BGP
conn.send ("router bgp 25\n")
conn.send ("neighbor 192.168.10.2 remote-as 35\n") conn.send ("network 1.1.1.1 mask 255.255.255.255\n") conn.send ("network 192.168.10.0 mask 255.255.255.0\n") conn.send ("network 192.168.9.0 mask 255.255.255.0\n") time.sleep(1)
r1()
22
berupa pemberian alamat IP untuk setiap interface pada router yang digunakan pada jaringan, pemberian username dan password. Library Paramiko memberikan jeda waktu setelah melakukuan perintah dengan memberikan time .sleep(1) untuk melanjutkan konfigurasi ke router selanjutnya. Script Konfigurasi BGP dilakukan setelah melakukan konfigurasi interface router pada file yang sama dengan disertai AS yang akan dicantumkan BGP agar dapat melakukan konfigurasi secara langsung bersamaan dengan dilakukannya konfigurasi interface router pada jaringan.
3.5.3 Konfigurasi Program Library Napalm
Konfigurasi program library Napalm akan diisikan dengan perintah konfigurasi BGP yang berbeda dengan script library Paramiko yang memerlukan file dengan format “.py” namun juga memerlukan modul .yaml yang digunakan sebagai penyimpan data konfigurasi alamat IP dan routing BGP yang nantinya akan dipanggil saat menjalankan konfigurasi. File program konfigurasi Napalm ini berisikan alamat IP router yang terhubung juga dengan Ubuntu Network Automation. Konfigurasi pada program Library Napalm ini akan menggunakan file candidate terlebih dahulu yang akan digunakan sebagai menyimpan data konfigurasi alamat IP serta routing BGP yang nantinya dipanggil secara otomatis sesuai program yang dibuat.
from napalm import get_network_driver hosts =
device = driver(hostname=host[0], username="laras", password="proposal123", optional_args=others)
device.open()
print ("Login Sukses di {0}".format(host[0])) device.load_merge_candate(filename=host[1])
23
Gambar 3.7 Konfigurasi BGP Pada Library Napalm Network Automation Gambar 3.7 merupakan konfigurasi routing BGP pada Ubuntu Network Automation menggunakan library Napalm. Terdapat variabel host berisi alamat IP dan nama file candidate untuk memnaggil file candidate saat file konfigurasi Napalm dijalankan sesuai dengan urutan variabel host, disertai dengan username dan password. Pada file konfigurasi ini terdapat perintah perulangan yang bertujuan untuk melakukan perulangan secara otomatis menjalankan file candidate untuk sertiap konfigurasi router. Selain itu, Napalm dapat menampilkan hasil konfigurasi yang sedang berjalan sesuai urutan dengan memberikan perintah device.load_merge_candidate. Pada file ini tidak dicantumkan konfigurasi interface dan BGP, dikarenakan file konfigurasi ini hanya terdapat perintah untuk memanggil dan manjalankan file candidate.
print ("Load Success {0}".format(host[1])) device.commit_config()
ip address 1.1.1.1 255.255.255.255 no shutdown
interface FastEthernet1/0
ip address 192.168.9.1 255.255.255.0 no shutdown
interface FastEthernet1/1
ip address 192.168.10.1 255.255.255.0 no shutdown
#konfigurasi BGP router bgp 25
neighbor 192.168.10.2 remote-as 35 network 1.1.1.1 mask 255.255.255.255 network 192.168.9.0 mask 255.255.255.0
24
Gambar 3.8 File Cadidate Napalm
Gambar 3.8 merupakan file candidate yang berisikan konfigurasi interface router dan konfigurasi BGP yang disimpan dengan file yang terpisah setiap routernya dengan nama “candidate2” untuk router pertama. File candidate tersebut tersimpan pada Ubuntu Network Automation sehingga saat file yang berisikan perintah Library Napalm dijalankan maka secara otomatis tersambung dengan file candidate dan memulai menjalankan konfigurasi secara otomatis.