Network Automation On Mikrotik

Kali ini KetikanMD akan membagi sedikit informasi atau pengetahuan tentang Network Automation On Mikrotik dengan menggunakan tools paramiko.paramiko sendiri merupakan salah satu  library python yang digunakan sebagai SSHv2 server maupun client.Adapun pada tutorial kali ini ,kita mamfaatkan sebagai ssh client.Untuk info lebih lanjut tentang paramiko, anda bisa mengunjungi website resminya disini atau website dokumentasinya disini.
Persiapan:
Software >  Vmware workstation/virtualbox,OS Mikrotik,Windows/Linux/MacOS
Hardware > RAM 4 GB (Minimal),Core i3
Langka-Langkah
Untuk tutorial kali ini menggunakan sistem operasi Windows

1. Pastikan python sudah terinstall di windows,jika belum silakan download di situs resminya disini

2. Pastikan library paramiko sudah terinstall, anda bisa memastikan dengan perintah “pip show paramiko”(tanpa tanda petik) maka akan keluar jendela seperti berikut.

3. Disini menggunakan topologi seperti berikut ini, yang dimana router mikrotik sudah terinstall di vmware workstation sebanyak 3 (tiga) virtual machine.

4. Pastikan laptop sudah terhubung ke 3(tiga) VM mikrotik didalam VMware (diasumsikan anda sudah konfigurasi ip address pada router mikrotik)  seperti terlihat pada gambar.



5. Buatkan file yang didalamnya terdapat list ip address dari router mikrotik yang akan di automation, simpan file tersebut dengan nama_bebas.txt. sebagai contoh address.txt
192.168.1.91
192.168.1.92
192.168.1.93

6. Buatkan file yang didalamnya terdapat konfigurasi yang akan di jalankan pada router mikrotik yang akan di automation, simpan file tersebut dengan nama_bebas.txt. sebagai contoh mikrotik.txt.
“perintah menonaktifkan service telnet,ftp,www,api-ssl,api dan mengubah system identity  menjadi automation”pada ketiga router mikrotik.
ip service disable telnet,ftp,www,api-ssl,api
system identity set name=automation

7. Selanjutnya, kita akan melakukan otomasi jaringan pada router, gunakan script berikut dan simpan dengan format nama : nama_bebas.py dengan ekstensi python. Sebagai contoh automation.py
import paramiko
import os
import sys
import time
from getpass import getpass


try:
 print("==============================")
 print("Network Automation On Mikrotik ")
 print("==============================")

 while True:
  try:
   ip=input("masukkan text : ")
   r_ip=open(ip,"r").readlines()
   break
  except IOError:
   print("file tidak di temukan!!!")
   continue
  
 ip_list=[] 
 for x in r_ip:
   ip_list.append(x.strip())

 ip_list_ok=[]
 print("\n\ncek koneksi")
 for ip in ip_list:
  response=os.system("\nping {}".format(ip)) 

  if response == 0:
   print("\n{} is up  ".format(ip))
   ip_list_ok.append(ip)
  else:
   print("\n{} is down  ".format(ip))

 while True:
  try:
   mikrotik=input("masukkan nama file: ")
   r_mikrotik=open(mikrotik,"r").readlines()
   break
  except IOError:
   print("File tidak ditemukan!!")
   continue

 username=input("Username: ")
 password=getpass()


 print("Melakukan Konfigurasi....\n")
 for ip in ip_list_ok:
  ssh_client=paramiko.SSHClient()
  ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  ssh_client.connect(hostname=ip,username=username,password=password)
  print("Sukses Login ke {}".format(ip))
  for config in r_mikrotik:
   ssh_client.exec_command(config)
   time.sleep(1)
  print("Sukses Konfigurasi {}\n".format(ip))
  
except KeyboardInterrupt:
 print("program sudah keluar")
 sys.exit()
*Jika error tambahkan seperti
ssh_client.connect(hostname=ip,username=username,password=password,allow_agent=False,look_for_keys=False)

8. Pastikan file address.txt, mikrotik.txt, dan automation.txt berada dalam satu folder yang sama.
9.  Pastikan sudah pindah ke dalam folder tempat menyimpan ke tiga file yang dibuat sebelumnya sebagai contoh disini sudah masuk di folder “E:\KetikanMD\Network Automation” , jalankan file automation.py  dengan perintah “python automation.py”(tanpa tanda petik) seperti terlihat pada gambar dibawah ini.

10. Ketika dijalankan maka akan ada inputan yang harus diisi, dimana untuk inputan pertama ketikkan nama file yang dibuat sebelumnya yang didalamnya berisi ip address. Sebagai contoh address.txt

11. Inputan kedua yang wajib diisi adalah file yang dibuat sebelumnya yang didalamnya berisi konfigurasi atau perintah yang akan dieksekusi pada router mikrotik, sebagai contoh konfigurasi.txt. Inputan yang selanjutnya adalah username dan password dari router pastikan semua router username dan password nya sama. Jika berhasil maka akan tampil sebagai berikut.

12. Sebelum dilakukan automation pada ketiga router mikrotik semua service dalam keadaan terbuka atau aktif selain service www-ssl yang ditandai dengan tanda/flag XI dan system identity masih dengan default Mikrotik.

13. Setelah dilakukan automation pada ketiga router mikrotik  semua service telah di nonaktifkan selain service SSH & WINBOX dan system identity yang defaultnya mikrotik menjadi automation.

Referensi : Rosid Komarudin, Ahmad. 2018. Otomatisasi Administrasi Jaringan Dengan Script Python. Jakarta: Jasakom



Related Posts:

0 komentar:

Post a Comment

Informasi:
Form komentar ini menggunakan moderasi, setiap komentar yang masuk akan melalui proses pemeriksaan sebelum ditampilkan dalam kolom komentar.

Memasang link dan konten yang mengandung pornografi di komentar tidak akan di tampilkan. Hanya komentar yang membangun dan sesuai topik artikel saja yang akan kami tampilkan.

Mohon maaf atas ketidaknyamanannya.