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
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.
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.
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.