Mac Address User Berubah-ubah Mengakibatkan Masalah di Hotspot Mikrotik? Berikut Beberapa Solusinya.


Fitur baru pada android 10+ terdapat settingan default android menggunakan "Mac Acak". Penggunaan mac acak dalam android 10+ dapat membuat kesulitan dalam menejemen user pada jaringan yang menggunakan mikrotik dengan system hotspot, dikarenakan mac addres perangkat tersebut selalu berubah-ubah, dan untuk user sendiri akan kesulitan login jika dengan sengaja atau tanpa sengaja bepindah AP sedangkan user tersebut masih berstatus login di jaringan dengan menggunkan mac yang berbeda dengan mac yang sekarang terhubung di jaringan.

Ada beberapa metode untuk untuk mengatasi hal tersebut, diantaranya adalah sebagai berikut :

  1. Merubah pengaturan device user agar menggunakan mac default. Namun cara ini tentunya agak merepotkan karena  kita harus merubah satu persatu device user dengan menggunakan mac default.

  2. Menggunakan SSID yang sama untuk semua Access Point.
    Ini cukup efektif dan lebih mudah, karena konfigurasi hanya dilakukan di sisi Access Point saja. Selama SSID yang digunakan sama atau pernah terkoneksi, maka client tidak akan merubah mac address walaupun "Mac Acak" dalam kondisi aktif.

  3. Menggunakan script auto remove mac yang tidak terpakai.
    Jika dalam satu jaringan kita menggunakan SSID yang berbeda-beda untuk beberapa access point, maka bisa dicoba cara berikut ini yaitu dengan menggunakan script. Cara ini bekerja dengan mengunakan script yang disematkan dalam kolom "on login" dan "on logout" di masing-masing user profile kemudian script tersebut akan bekerja ketika ada user login yang kemudian otomatis akan meremove mac yang tidak terpakai dengan memanfaatkan fungsi ping sebagai pengecekan aktif tidaknya mac yang digunakan user. 
Untuk cara yang kedua, berikut langkah-langkahnya :

* Silahkan masuk kemenu IP  > Hotspot > User Profile

* Pilih Profile user yang akan diberi script

* Pada TAB Scripts Paste-kan saja script dibawah ini sesuai dengan peruntukannya

On Login :

:local m $"mac-address";
:local ipne $address;
:local a $user;
:local usr ("$a-$ipne");
/system scheduler add interval=00:01:00 name="$usr" on-event=":if ([ping $address count=120]=0) do={
/ip hotspot active remove [find address=$ipne];
/ip hotspot host remove [find mac-address=$m];
/ip dhcp lease remove [find mac-address=$m];
/system scheduler remove [find name=$usr];}" start-time=$timedate;

On Logout :

/system scheduler remove [find name=$usr];


Kira-kira seperti contoh gambar dibawah ini


Update:

Setelah di implementasikan, sepertinya ada beberapa kelemahan dari script di atas.

1. Karena menggunakan perintah "ping" sebagai acuan terkoneksi atau tidaknya user maka ketika ada user yang memang perngkatnya tidak bisa di ping padahal terkoneksi dengan baik, script akan menganggap user tersebut sudah tidak ada atau tidak terkoneksi sehingga tentu user akan mengalami login-logout berulang-ulang.

2. Jika User menggunakan nama user yang sama maka yang akan berjalan hanya user yang login pertama kali.

Dikarenakan kelemahan diatas maka script sedikit kami rubah, namun script ini berjalan hanya jika perangkat user dapat di ping

On Login :

:global replaceChar do={
  :for i from=0 to=([:len $1] - 1) do={
    :local char [:pick $1 $i]
    :if ($char = $2) do={
      :set $char $3
    }
    :set $output ($output . $char)
  }
  :return $output
}

:local ipadr [ $replaceChar $address "." "" ]
:local timedate [/system clock get time];
:local m $"mac-address";
:global a "$user-$ipadr";

if ([ping $address count=15]!=0) do={

/system scheduler add interval=00:01:00 name="$a" on-event=":if ([ping $address count=120]=0) do={

/ip hotspot host remove [find mac-address=$m];

/ip hotspot active remove [find mac-address=$m];

/ip dhcp lease remove [find mac-address=$m];

/system scheduler remove [find name=$a];}" start-time=$timedate

}


Demikianlah beberapa solusi yang bisa diimplementasikan.

Referensi : https://www.pejuanggsm.my.id/2022/04/solusi-user-mac-acak-mikrotik.html

Komentar

Archive

Formulir Kontak

Kirim