Showing posts with label Scripting. Show all posts
Showing posts with label Scripting. Show all posts

AutoBackup Mikrotik : Kirim File Backup ke FTP Server Otomatis

February 27, 2017 Add Comment
Melakukan backup konfigurasi Mikrotik secara rutin bisa mengurangi resiko downtime yang lama karena harus konfig ulang router ketika terjadi masalah pada router tersebut. Setidaknya jika router rusak, atau RouterOS nya corrupt, kita tidak perlu repot-repot lagi ngonfig dari awal. Tinggal restore saja konfigurasi nya dari file backup yang sudah disimpan sebelumnya.

Namun masalahnya kadang kita terlalu malas untuk sekedar melakukan backup konfigurasi dan menyimpan nya. Sama malasnya seperti saya yang harus me-manage puluhan Router Mikrotik. Capek kalau harus backup konfig satu per satu, hehe :D. 

Sebenarnya pada Tutorial Mikrotik sebelumnya sudah pernah saya bahas tentang :

Tutorial Mikrotik kali ini merupakan pengembangan dari tutorial tersebut, dimana file backup dan export yang sudah di generate bukan dikirimkan ke Email, namun di upload ke Folder di FTP Server secara otomatis dan terjadwal. Sehingga file backup & export yang di upload ke FTP akan tersusun rapi, mudah ditemukan, dan cepat bisa digunakan. Contoh nya seperti ini :


Oke cukup sudah dongeng sebelum tidurnya, kebanyakan baca prolog ntar malah jadi ngantuk :p mari kita langsung saja bahas caranya. Disini kita akan manfaatkan Tool Fetch Mikrotik untuk melakukan proses upload file. Selain itu kita juga akan gunakan Script & Scheduler untuk otomasi nya.

Tutorial Cara AutoBackup Mikrotik : Kirim File Backup ke FTP Server Otomatis

1. Pastikan kita punya akses ke FTP Server untuk membuat direktori lokasi upload file backup.

2. Login via Winbox Mikrotik --> Pastikan Mikrotik nya sudah bisa ping ke FTP Server.

3. Buat Script Auto Backup Mikrotik. Masuk ke menu System --> Scripts --> Tambahkan Script baru --> Beri nama autobackup --> pada kolom Source isikan :
/system backup save name=("BACKUP" . "-" . [/system identity get name] . "-" . \
[:pick [/system clock get date] 4 6] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 7 11]);
/export file=("BACKUP" . "-" . [/system identity get name] . "-" . \
[:pick [/system clock get date] 4 6] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 7 11]);
Contoh nya seperti gambar berikut :


Script ini jika di run akan men-generate file backup (.backup) dan file export (.rsc) dengan format penamaan yang mudah dikenali.


4. Buat Script lagi untuk proses upload file backup. Disini kita akan buat dua script terpisah untuk proses upload file .backup dan .rsc. Untuk script upload file backup beri nama uploadbackup --> Script source nya sebagai berikut :
:global backupname ("BACKUP" . "-" . [/system identity get name] . "-" . \
[:pick [/system clock get date] 4 6] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 7 11] . ".backup");
/tool fetch address=Alamat.FTP mode=ftp user=Username.FTP password=Password.FTP src-path=$backupname dst-path="Direktori.FTP/$backupname" upload=yes
Silakan ubah data yang ditandai kuning dengan data Anda sendiri. Contoh nya sebagai berikut :


5. Script ini dibuat untuk proses upload file export (.rsc) --> Beri nama uploadrsc --> Isikan Source dengan script berikut :

:global backupname ("BACKUP" . "-" . [/system identity get name] . "-" . \
[:pick [/system clock get date] 4 6] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 7 11] . ".rsc");
/tool fetch address=Alamat.FTP mode=ftp user=Username.FTP password=Password.FTP src-path=$backupname dst-path="Direktori.FTP/$backupname" upload=yes

Contoh nya seperti gambar berikut ini :


6. Selanjutnya kita coba Run kedua Script upload tersebut. Coba cek pada folder tujuan upload di FTP Server. Jika konfigurasi script sudah benar, seharusnya akan muncul file .backup dan .rsc seperti gambar berikut ini :

Jika belum muncul file backup nya, silakan cek lagi data pada script nya. Pastikan username dan password FTP nya punya hak akses Permission Read/Write (RW) pada folder tujuan upload. 

7. Sekarang saatnya mambuat penjadwalan, sehingga script tersebut bisa dijalankan secara otomatis dan terjadwal. Kita gunakan Scheduler, masuk ke menu System --> Scheduler --> buat 3 scheduler  baru untuk masing-masing script yang sudah kita buat.

Disini saya contohkan untuk membuat script dijalankan secara otomatis pada 01 Maret 2017 dengan interval 30 hari, jadi script ini akan berjalan mulai tanggal 1 Maret 2017 dan akan jalan otomatis tiap 30 hari.

Pastikan ketiga script tersebut tidak diekseskusi secara otomatis pada waktu yang bersamaan. Dahulukan script autobackup, baru kemudian script uploadbackup dan uploadrsc. Contoh konfigurasi nya silakan lihat gambar berikut :

Nah, sekarang tinggal konfig Router Mikrotik lainnya untuk auto backup ke FTP Server juga. Gak masalah capek konfig di awal, asal kedepanya gak capek tiap bulan ngumpulin file backup satu per satu :D.

Cara Mengatasi "No More Sessions are Allowed for User Hotspot Mikrotik"

August 10, 2016 Add Comment
Pesan Error Login Hotspot Mikrotik ada banyak. Pada artikel sebelum nya telah kita ulas tentang Penjelasan Pesan Error pada Halaman Login Hotspot Mikrotik. Kali ini akan kita bahas salah satu dari Pesan Error pada saat login Hotspot Mikrotik, yaitu No More Sessions are Allowed for User $(username).


Kenapa sih pesan error no more sessions are allowed for user $(username) mesti dibahas khusus?
Karena pesan error ini cukup sering muncul pada saat user hotspot login, terutama jika menggunakan username dan password yang sama untuk banyak orang.

Kenapa no more sessions are allowed for user $(username) bisa muncul? 
Dari hasil terjemahan ke bahasa Indonesia sudah bisa kita ketahui bahwa : sudah tidak ada lagi sesi yang diperbolehkan untuk username tersebut. Jadi disini username yang hendak dipakai oleh user sudah tidak punya sesi lagi yang diperbolehkan oleh Server Hotspot untuk digunakan user login. Hal ini disebabkan oleh konfigurasi hotspot mikrotik pada shared user yang terbatas, sementara user yang mau login lebih dari shared user yang ditentukan oleh setingan hotspot mikrotik.

Bagaimana cara mengatasi no more sessions are allowed for user $(username)?

Pada dasarnya manajemen user hotspot pada mikrotik ada dua, yaitu user manajemen hotspot default yang bisa kita akses pada menu IP --> Hotspot --> Tab Users dan Tab User Profiles. Silakan Baca Cara Membuat Hotspot di Mikrotik : Seting dasar Hotspot Mikrotik.


Selain itu juga bisa menggunakan User Manager pada RADIUS Server. Silakan Baca disini : Cara Install dan Seting User Manager Mikrotik. 

Nah, kedua fitur manajemen user tersebut punya kendala no more sessions are allowed for user $(username) serupa, namun cara mengatasinya berbeda. 

Cara Mengatasi Pesan Error no more sessions are allowed for user $(username) pada User Management Hotspot Mikrotik

1. Jika anda mendapati pesan error ini sebelum bisa login ke hotspot, silakan konek ke WiFi Hotspot tanpa login. Kemudian buka Winbox dan login via Mac Address.

Mengatasi Pesan error no more sessions are allowed

2. Perlu diperhatiakan, jika Anda belum login Hotspot kemudian mau konfig Mikrotik menggunakan Winbox via IP Address tidak akan bisa. Karena ada rule firewall dinamis yang memblokir akses tersebut. Jadi silakan login via MAC Address Mikrotik. 

3. Setelah login, silakan masuk ke manu IP --> Hotspot --> User Profiles --> Pilih User Profile yang digunakan.

Cara Mengatasi "No More Sessions are Allowed for User Hotspot Mikrotik"

4. Perhatikan pada opsi Shared Users Mikrotik. Pastikan jumlah shared users nya lebih banyak dari jumlah user yang diperblehkan login. Karena jika jumlah nya terbatas, user lain akan mendapati pesan error no more session dan tidak bisa login.

Cara Mengatasi Pesan Error no more sessions are allowed for user $(username) pada User Manager RADIUS Server

Berbeda dengan cara sebelumnya, untuk mengatasi no more sessions are allowed for user $(username) pada User Manager RADIUS Server tidak bisa hanya dilakukan dengan menambah Shared User pada Setingan User Manager saja. Namun tetap opsi Shared Users harus diisi sesuai penggunaan.

Mengatasi No more sessions are allowed User Manager

Pada gambar di atas, Shared User untuk user profile tamu saya set menjadi unimited. Jadi berapapun tamu yang mau akses HARUSNYA bisa terlayani dengan baik tanpa ada masalah login (Kecuali alokasi IP Address habis). Namun nyatanya tidak demikian.

Walaupun Shared Users pada User Manager di set Unlimited, Active session (sesi) user tamu yang login tetap tersimpan cukup lama dan dianggap aktif terus. Padahal user tersebut sudah tidak konek hotspot (tidak aktif). Hal ini akan mengakibatkan user tersebut dianggap masih aktif dan ketika user tersebut disconnect dan mau konek lagi atau ada user baru yang mau login jadi tidak bisa, dan muncul pesan error no more sessions are allowed for user $(username).
Masalah tersebut bisa diatasi dengan menghapus Active session user manager melalui menu Sessions. Tapi masa iya tiap kali muncul error itu kita harus clear inactive session manual, capek kan? Apalagi kalau user nya banyak, bisa tiap hari kerjaan nya cuma clear inactive session aja :D
Remove Sessions pada User Manager Mikrotik
Nah, untuk mengatasi hal tersebut kita bisa memanfaatkan Script yang dijalankan secara terjadwal (otomatis). Kita akan manfaatkan tool Script & Scheduler pada Mikrotik.
Menambahkan Script Auto Remove Session User Manager Mikrotik
Silakan copy Script berikut ini dan paste pada Manu System --> Scripts
# Script Source : Mikrotik Forums
# Script Starts Here.
# Setting Timeout in Seconds
# Timeout in Seconds, when session update is older -> session closed
:local Timeout 60

#------------------------------------------
:local LastSessionUpdate;
:local SessionTimeout;
:foreach i in=[/tool user-manager session find where active=yes] do={

# When was the last Update of the session-informations
:set LastSessionUpdate [/tool user-manager session get $i till-time]

# SessionTimeout is a value that tells me how many seconds ago the last update of this session was
:set SessionTimeout ([system clock get time] - [:pick $LastSessionUpdate ([:find $LastSessionUpdate " "]+1) [:len $LastSessionUpdate]]-[/system clock get gmt-offset])

# if last update is more then Timeout seconds ago then close session and log it
:if ($SessionTimeout > $Timeout) do={
/tool user-manager session remove numbers=$i
:log warning (" Removed false active session Username is " . [/tool user-manager session get $i user]);
}
}
Kemudian jalankan secara otomatis script tersebut menggunakan Scheduler.
Silakan set interval berapa lama script nya akan dieksekusi secara otomatis. Set interval sesuai dengan beban router Anda. Misal pada beban sekitar 150+ user pada router low end, dijadwalkan untuk setiap 5 menit. Karena script ini butuh waktu beberapa saat untuk melakukan perhitungan setiap user. Jadi tinggal sesuaikan saja dengan spek Router Mikrotik Anda.

Dengan melakukan kedua Tutorial Mikrotik tersebut permasalahan No More Sessions are Allowed for User pada Hotspot Mikrotik bisa diatasi. Saya sendiri sudah coba untuk yang User Manager dan 100% Work, tidak lagi muncul pesan error no more session saat user login.

Formulir Kontak

Name

Email *

Message *