Solusi Ampuh Atasi Duplicate User Hotspot MikroTik dengan Script

Mengelola jaringan MikroTik di lingkungan sekolah atau kantor dengan ratusan user aktif harian adalah tantangan tersendiri. Pernahkah Anda mendapat komplain dari user yang tidak bisa login karena pesan ‘simultaneous session limit reached’, padahal mereka baru saja menyalakan perangkatnya? Masalah duplicate user atau sesi ganda yang ‘nyangkut’ sering kali menjadi biang kerok yang menghabiskan waktu kita di depan Winbox. Di artikel ini, saya akan membagikan script hasil modifikasi pribadi yang akan bekerja otomatis membersihkan sampah sesi ganda tersebut, agar Anda bisa fokus pada pekerjaan lain yang lebih penting.

 

Script ini saya dapatkan dari website Syed Jahanzaib. Bagi yang ingin melihat script, silahkan klik tautan yang tersedia. Saya hanya merubah dan menjelaskan script yang sudah dibuat tersebut agar dapat mudah dimengerti. Scriptnya adlaah sebagai berikut :

 

# Syed Jahanzaib
# Hotspot script to remove duplicate users - Script take from mikrotik forums with Minor changes
# 7-NOv-2017
:local uname $user;
:local usercount 0;
:local usertime "00:00:00";
:local kickable;
#jika maksimal user yang boleh login adalah 1 maka masukan maxuser 2. 
:local maxuser 2;
 
:foreach i in=[/ip hotspot active find user=$uname] do= {
:local curup [/ip hotspot active get $i uptime];
:if ( $curup > $usertime ) do={
:set usertime $curup;
:set kickable $i;
}
:set usercount ($usercount+1);
}
:if ($usercount >= $maxuser) do={
log error "Duplicate Login user found: $uname ($usercount/$maxuser- Time > $usertime) - Now kicking ... !!!";
/ip hotspot active remove numbers=$kickable;
} else {
:log info "HOTSPOT user logged-in ID = $uname ($usercount/$maxuser)";
}

Cara penggunaanya, silahkan masukan script tersbut pada IP > Hotspot > User Profiles. Pilih profiles yang anda gunakan, kemudian pilih tab script dan paste script tersebut pada bagian On Login. Karena script ini akan cek user yang active pada saat user login dengan ID yang sama.

IP > Hotspot > User Profiles > Script
User Profiles > Script On Login

 

Pada bagian maxuser, anda dapat merubah variabelnya sesuai dengan policy jaringan anda. Misalkan saya memiliki profile siswa. Siswa hanya diperbolehkan login 1 device saja, jika hanya diperbolehkan 1 device saja, maka maximal usernya anda harus tulis 2.

Contoh lainnya jika Akun Guru, diperbolehkan untuk login 2 device dalam 1 username, naka anda harus mengkalikan 2 jumlah device tersebut, jadi variabel yang harus anda masukan pada maxuser adalah 4, begitu seterusnya. Silahkan sesuaikan dengan kebutuhan Anda.

variable maxuser akan dicek pada :if ($usercount >= $maxuser) Jika user tersedia sama dengan atau lebih dari maxuser yang dialokasikan, maka otomatis user akan di remove dari user active mikrotik.

 

Dengan mengimpelemtansikan script ini, tidak akan ada lagi user yang request untuk menghapus user active secara manual.

 

Semoga Script ini bermanfaat, jika ada pertanyaan silahkan tinggalkan pertanyaan di kolom komentar.

New-Putra-Danahita

Ditulis Oleh

putradanahita

Seorang Full Time Network Engineer, Full Time IT Infrascture, Freelance Wordpress developer dan Traveler Paruh Waktu

Leave a Reply

Your email address will not be published. Required fields are marked *