Automation With Paramiko
Assalamualaikum temen - temen, kembali lagi di blog saya... terimakasih sudah berkesempatan untuk berkunjung ke blog saya. Pada blog kali ini saya akan membahas materi yang sedikit melenceng dari jurusan saya namun memang ada di kurikulum CCNP... yaaa bener banget.. kali ini kita akan membahas network automation.
Sebelum masuk ke materinya, saya ingin menjabarkan sedikit tentang network automation yak.
Network automation menurut Techopedia adalah proses mengotomasi konfigurasi, manajemen, dan operasi jaringan komputer. Ini juga merupakan metodologi yang digunakan untuk mengotomasi proses jaringan. Biasanya digunakan oleh perusahaan dan penyedia layanan atau service provider untuk meningkatkan efisiensi dan mengurangi kesalahan manusia dan biaya operasi. Network automation memainkan peran kunci dalam network virtualization, network orchestration, dan juga jaringan yang ditentukan oleh perangkat lunak (software-defined networking).
Automasi dapat diterapkan dalam beberapa tipe jaringan yaitu termasuk data center network, wide area network (WANs), wireless network, local area network (LANs), dan cloud networks. Intinya, sumber daya jaringan apa pun yang dikontrol melalui application programming interface (API) maupun command-line interface (CLI) dapat diautomasi.
Menurut Margaret Rouse dalam artikelnya menyebutkan bahwa ada tiga manfaat utama dari automasi jaringan (network automation) yaitu:
1. Mengurangi Kesalahan Manusia (human error)
Seperti yang sudah disebutkan pada paragraf di atas, network automation ini dapat mengurangi kesalahan manusia. Karena tidak dapat kita pungkiri kesalahan manusia akan selalu terjadi. Jadi dengan jaringan yang diutomasi, masalah tersebut diharapkan dapat berkurang. Mengurangi
2. Biaya Operasional
Selanjutnya, automasi jaringan dapat mengurangi biaya operasional. Bisnis dapat beroperasi dengan kecepatan dan kelincahan yang lebih besar dengan menghilangkan tugas manual tertentu di sekitar penyediaan perangkat jaringan dan manajemen jaringan. Sehingga Anda dapat mengurangi biaya operasionalnya.
3. Meningkatkan Efisiensinya
Last but not least adalah dapat meningkatkan efisiensinya. Network automation dapat bermanfaat juga untuk mengautomasi fungsi pada perangkat jaringan. Sehingga Anda tidak lagi harus melakukan tugas yang menghabiskan banyak waktu Anda.
Gimana??? udah ada gambaran lah yaa tentang automation ini, di blog kali ini kita akan ngebahas tentang Automation with paramiko.
Apa itu Paramiko?
Paramiko merupakan salah satu library pada python yang bisa kita gunakan sebagai SSHv2 server maupun client. pada blog tentang automation saya, saya akan memanfaatkan paramiko sebagai ssh client.
Oke sebelum kita masuk kekonfigurasinyaa, pastikan sistem ubuntu nya sudah ada di gns3 kalian begitu juga paramiko nya sudah terinstal di ubuntu..lalu konfigurasikan ssh di router cisconyaa. Karena kita akan menggunakan ssh supaya lebih aman karena paketnya akan terenskripsi beda dengan telnet yaaa
Kalo udh semua dilakuin seperti diatas, kita langsung aja ke konfigurasinya... siapkan otak kalian yaa juga mental kaliannnn... kita akan masuk kedunia baru :V wkkwkwk
TOPOLOGI =
Kita akan membuat sebuah script pyton sederhana menggunakan python untuk
melakukan konfigurasi dasar pada router. Untuk topology nya seperti yang diatas. Script ini bertujuan untuk menambahkan interface
loopback secara otomatis.
Ubuntu
root@NetworkAutomation-1:~# nano
paramiko1.py root@NetworkAutomation-1:~# cat
paramiko1.py import paramiko
import time
ip_address =
"192.168.10.2" username
= "cisco"
password = "cisco123"
ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()
)
ssh_client.connect
(hostname=ip_address,username=username, password=password)
print "Success login to {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")
time.sleep(1)
output = conn.recv(65535) print output
ssh_client.close()
Sekarang kita akan coba jalankan paramiko1.py
Ubuntu
root@NetworkAutomation-1:~# python paramiko1.py
Success login to 192.168.10.2
R1#conf t
Enter configuration commands, oneper line.End with CNTL/Z.
R1(config)#int lo0
R1(config-if)#ip add 1.1.1.1 255.255.255.255
R1(config-if)#root@NetworkAutomation-1:~#
Kalo untuk pengecekan nya, bisa cek seperti biasa aja... cek di R1 ( do sh ip int br )
R1
R1(config)#do show ip int brief | i up
FastEthernet0/0 192.168.10.2 YES manual up up
Loopback0 1.1.1.1 YES manual up up
DONE ;)
TERIMAKASIH
WASSALAMUALAIKUM WR.WB