Showing posts with label Mikrotik. Show all posts
Showing posts with label Mikrotik. Show all posts

Menjalankan Winbox dengan wine pada linux

Bagi Pengguna linux untuk menjalankan aplikasi windows tidak mudah, salah satu cara untuk menjalankan aplikasi windows di linux bisa menggunakan wine. Pertama pastikan teman” sudah menginstall aplikasi paket wine.Untuk mengecek apakah wine sudah terinstall apa belum dengan mengetikkan wine --version.



Sebelum memulai pastikan kita memiliki 2 file yang sudah didownload yaitu aplikasi winbox.exe dan gambar Winbox.png, disini filenya saya simpan di folder KetikanMD. Untuk aplikasi winbox bisa di download melalui link ini.

https://mikrotik.com/download



  • Copy 2 file yang sudah didownload ke folder windows pada folder  instalasi wine



  • Pastikan kedua file sudah ada di folder windows


Sekarang kita coba menjalankan winbox tanpa harus berada dengan satu folder dengan aplikasi winbox.exe


  • Untuk  membuat pintasan yang memungkinkan aplikasi untuk dijalankan, kita buatkan file winbox.desktop di folder /usr/share/applications 




  • Membuat file winbox.desktop menggunakan nano, disini teman” bebas menggunakan editor yang teman” mengerti.


  • Berikut isian file winbox.Desktop





[Desktop Entry]
Name=Winbox
GenericName=Mikrotik winbox
TryExec=wine winbox
Exec=wine winbox.exe
Terminal=false
Icon=/home/ion/.wine/drive_c/windows/Winbox.png
Type=Application
Categories=Internet
Comment=Remote Mikrotik
Keywork=mikrotik;winbox

Jika semua langka diatas sudah dilakukan maka kita telah berhasil menjalankan aplikasi winbox.  

Script mengaktifkan user hotspot sesuai jadwal harian pada mikrotik

Ketemu lagi niiiii, penulis akan membagikan tutorial dan script yang digunakan berdasarkan pengalaman pribadi si penulis kasusnya si pelanggan punya beberapa user hotspot sedangkan si pelanggan pengen setiap user bisa dipakai berdasarkan hari tertentu akhirnya setelah otak atik dan mencari tutorial di berbagai sumber akhirnya penulis menemukan script yang work it, langsung saja ke tutorial.

Hal pertama Pastikan pengaturan waktu pada router mikrotik sudah sesuai dengan waktu wilayah anda hal ini mutlak diperlukan ketika anda sudah implementasikan rule-rule berdasarkan waktu misalnya dalam case ini penggunaan scheduler

Pengaturan waktu pada router mikrotik memiliki alternatif lain yaitu menggunakan service NTP (Network Time Protocol) yang memungkinkan router bisa melakukan sinkronisasi waktu, untuk case ini router kita akan jadikan NTP Client, pengaturan sntp client pada router mikrotik bisa dilakukan pada menu System > SNTP Client.

SNTP Client

Setelah pengaturan sntp selesai dan waktu router mikrotik sudah sesuai sekarang kita akan membuat scheduler untuk menambahkan script.
Untuk penjadwalan kita bisa konfigurasi pada menu System > Scheduler lalu klik icon "+"  untuk membuat schedule baru. Berikut nama misalnya "Aktif User", waktu eksekusi script setiap jam 1 malam dan interval waktu setiap 1 hari, untuk kolom On Event masukkan script yang sudah disediakan dibawah.

Selanjutnya kita buatkan user hotspot di menu Ip > Hotspot, pada halaman hotspot pilih tab users  lalu klik icon "+"  untuk membuat User baru dan jangan lupa untuk menambahkan comment pada masing" user hal ini dikarenakan sebagai kunci pada script untuk melakukan disable atau enable user seperti pada gambar dibawah.

Untuk melakukan mengujian sesuaikan dengan waktu yang sudah disetting pada kolom Start Time.


Berikut penulis sertakan Script nya





:local date [/system clock get date]

# Math Calculation here
:local result ""
:local months [:toarray "jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec"]
:local daytbl [:toarray "sun,mon,tue,wed,thu,fri,sat"]

:local month [:pick $date 0 3]
:local day [:pick $date 4 6]
:local dayc [:pick $date 5 6]
:local year [:pick $date 7 11]

# if the first char is a 0 (zero) only read last char, else script fails
:if ([:pick $date 4 5] = 0) do={ :set day ($dayc)}

:local sum 0
:local aaa 0
:local yyy 0
:local mmm 0
:local nmonth 1

:for mindex from=0 to=[:len $months] do={
  :if ([:pick $months $mindex] = $month) do={:set nmonth ($mindex + 1) }
}

:set aaa ((14 - $nmonth) / 12)
:set yyy ($year - $aaa)
:set mmm ($nmonth + 12 * $aaa - 2)
:set sum (7000 + $day + $yyy + ($yyy / 4) - ($yyy / 100) + ($yyy / 400) + ((31 * $mmm) / 12))
:set sum ($sum - (($sum / 7) * 7))
:set result [:pick $daytbl $sum]

:if ($result = "mon") do={/ip hotspot user set disable=no [find comment=Senin]} else= {/ip hotspot user set disable=yes [find comment=Senin]}
:if ($result = "tue") do={/ip hotspot user set disable=no [find comment=Selasa]} else= {/ip hotspot user set disable=yes [find comment=Selasa]}
:if ($result = "wed") do={/ip hotspot user set disable=no [find comment=Rabu]} else= {/ip hotspot user set disable=yes [find comment=Rabu]}
:if ($result = "thu") do={/ip hotspot user set disable=no [find comment=Kamis]} else= {/ip hotspot user set disable=yes [find comment=Kamis]}
:if ($result = "fri") do={/ip hotspot user set disable=no [find comment=Jumat]} else= {/ip hotspot user set disable=yes [find comment=Jumat]}
:if ($result = "sat") do={/ip hotspot user set disable=no [find comment=Sabtu]} else= {/ip hotspot user set disable=yes [find comment=Sabtu]}
:if ($result = "sun") do={/ip hotspot user set disable=no [find comment=Ahad]} else= {/ip hotspot user set disable=yes [find comment=Ahad]}

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



source code aplikasi berbasis WEB untuk MikroTik menggunakan Framework Codeigniter

Selamat siang teman teman hari ini saya ingin membagi source code aplikasi berbasis WEB untuk MikroTik menggunakan Framework Codeigniter,perlu kita ketahui bahwasanya mikrotik telah menyediakan service API agar mempermudah developer untuk membangun aplikasi agar  bisa terintegrasi dengan perangkat MikroTik dan disini penulis menggunakan API untuk Bahasa pemrograman PHP,untuk lebih jelasnya bisa melihat tampilan dan demo aplikasinya dibawah:


1.Tampilan Login


2.Tampilan DashBoard


3.Tampilan User


4.Tampilan Interface


5.Tampilan IP Binding


Untuk download projectnya silahkan klik link ini

Demo Aplikasi silahkan klik link youtubenya




Konfigurasi Routing Static pada Mikrotik Di GNS3


Kali ini saya akan melanjutkan postingan sebelumnya,sekarang saya akan posting bagaimana cara melakukan konfigurasi routing static dengan 3 router .langsung saja kita buat topologi seperti dibawah ini.


Kita mulai saja
1.sekarang kita akan melakukan konfigurasi ip address router 1 seperti perintah dibawah.

2.melakukan konfigurasi ip address router 2
3.melakukan konfigurasi ip address router 3
4. seanjutnya melakukan konfigurasi routing static,sebelumya kita harus tahu bahwa routing static hanya mengenal network yang terhubung langsung ke dirinya sendiri.untuk melakukan routing gunakan perintah “ip route add dst-address=10.0.0.0/8 gateway=17.16.0.2 comment=”Komentar””.
- 10.0.0.0 adalah network yang belum dikenali
- 8 adalah prefix dari network yang belum dikenali
- 17.16.0.2 adalah ip address dari gateway yang akan dilewati
- comment adalah memberikan komentar terhadap routing yang dibuat dan bersifat opsional
5.konfigurasi routing static di router 2
6.Melakukan Routing static di Router 3
7.melakukan konfigurasi ip address pc 1



8.melakukan konfigurasi ip address pc 2




9.Melakukan pengujian ping dari pc 1 ke pc 2





10.Melakukan pengujian ping dari pc 2 ke pc 1 pastikan berhasil seperti dibawah ini







Demikian tutorial yang saya buat,semoga bermanfaat bagi rekan-rekan semua