Saturday, 24 February 2018

MikroTik ป้องกันการ Login ซ้อน

หลายท่านที่เป็น admin คงเคยเจออาการการ login ซ้อนกันมานะคัรบที่จะมีข้อความแจ้งเตือนว่า simultaneous session limit reached for user กันมาบ้างวันนี้ผมจะเอา script จาก MikroTik forum มาบอกเล่ากันคัรบ (https://forum.mikrotik.com/viewtopic.php?t=123434)


:local uname $user;
:local usercount 0;
:local usertime "00:00:00";
:local kickable;
:local maxuser 3;

: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 info "Login user: $uname ($usercount/$maxuser) - Oldest $usertime will be logout!";
  /ip hotspot active remove numbers=$kickable;
} else {
   :log info "Login user: $uname ($usercount/$maxuser)";
}

จากตัวอย่างใน script เราจะต้องเอาไปวางไว้ในส่วนของ winbox => ip => hotspot => user profile แล้วตั้ง maxuser ให้ตามจำนวนที่ต้องการเช่นในตัวอย่างตั้ง 3 เพราะต้องการให้ login ได้ใช้งานแค่ 2 คนเท่านั่น


จากนั่นก็ไปแก้ที่ Shared Users ให้เท่ากับจำนวน maxuser ที่ใน script


เพียงเท่านี้เวลามีการ login ซ้อนเกิดขึ้นมา user แกสุดก็จะโดนเตะออกละคัรบ

1 comment:

  1. Nice to be seeing your site once again, it's been weeks for me. This article which ive been waited for so long. I need this guide to complete my mission inside the school, and it's same issue together along with your essay.
    List of Fundamental Rights in India

    ReplyDelete