Sysnet Board คู่มือ การใช้งานอุปกรณ์ Network

การ Config อุปกรณ์ เครือข่าย Network Device => อุปกรณ์ Mikrotik Router => หัวข้อที่ตั้งโดย: yod เมื่อ วันที่ 8 เมษายน 2013, 13:36:19

ชื่อ: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: yod เมื่อ วันที่ 8 เมษายน 2013, 13:36:19

การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา



เนื่องจากมีสมาชิกท่านนึงสอบถามเรื่อง Schedule เข้ามา เรื่องการ Block User ไม่ให้เข้าใช้งาน Internet ตามช่วงเวลา

....อยากจะบอกว่า อุปกรณ์ Mikrotik RouterBoard นอกจากให้ไปซื้อโอเลี้ยงแล้ว น่าจะทำได้หมดครับ  ;D ;D ;D



ตัวอย่างจะเป็นการกำหนด User Profile จำนวน 2 กลุ่ม โดยกลุ่ม 1 ให้เข้าใช้งาน Internet (Login เข้าใช้งาน) ได้เวลา 12.00-13.00น. และกลุ่ม 2 ใช้งานได้ 8.00 - 9.00 และ 12.00 - 13.00 น.


1. สร้าง User Profile ขึ้นมา จากตัวอย่างจะชื่อ userprofile1 และ userprofile2

(https://www.sysnetcenter.com/board/images/routerboard/scheduler/mikrotik-schedule-block-user-001.gif)

(https://www.sysnetcenter.com/board/images/routerboard/scheduler/mikrotik-schedule-block-user-002.gif)


2. สร้าง User โดยกำหนด Profile จากที่สร้างไว้ ตัวอย่าง
User: yod, user1 จะเป็น Profile: userprofile1 และ User: user2 จะเป็น userprofile2

(https://www.sysnetcenter.com/board/images/routerboard/scheduler/mikrotik-schedule-block-user-003.gif)

(https://www.sysnetcenter.com/board/images/routerboard/scheduler/mikrotik-schedule-block-user-004.gif)

(https://www.sysnetcenter.com/board/images/routerboard/scheduler/mikrotik-schedule-block-user-005.gif)


3. Run script ที่ New Terminal โดยผมจะตั้งชื่อ block-user-grp1, block-user-grp1 เพื่อทำการ Disable/Enable userprof1
และ block-user-grp2, nblock-user-grp2 เพื่อทำการ Disable/Enable userprof2

เพิ่ม Script สำหรับ Delete User ที่ Active หลังจาก Disable ครับ


/system script
add name=block-user-grp1 policy=read,write source="/ip hotspot user disable [find profile=userprof1]\r\
   \n:local i\r\
   \n:foreach i in=[ /ip hotspot user find where disabled=yes ] do={\r\
   \n:local name [/ip hotspot user get \$i name]\r\
   \n[ /ip hotspot active remove [find where user=\$user] ]\r\
   \n#:log info \$name\r\
   \n}"
add name=block-user-grp2 policy=read,write source="/ip hotspot user disable [find profile=userprof2]\r\
   \n:local i\r\
   \n:foreach i in=[ /ip hotspot user find where disabled=yes ] do={\r\
   \n:local name [/ip hotspot user get \$i name]\r\
   \n[ /ip hotspot active remove [find where user=\$user] ]\r\
   \n#:log info \$name\r\
   \n}"


เคาะ enter บรรทัดสุดท้ายด้วยนะครับ

(https://www.sysnetcenter.com/board/images/routerboard/scheduler/mikrotik-schedule-block-user-006.gif)


3. ทดสอบ Run script ที่ Menu System --> Script จะมีการ Disable/Enable รายชื่อ User ตามที่กำหนด User profile ไว้

(https://www.sysnetcenter.com/board/images/routerboard/scheduler/mikrotik-schedule-block-user-007.gif)


4. สร้าง Schedule สำหนับ Run Script ตามเวลาที่ต้องการ
Star-Date ไม่ต้องแก้ไขอะไรครับ ส่วน Start-Time แก้ไขเวลาตามต้องการได้เลยครับ


system scheduler add name=start-unblock-user-grp1 start-date=nov/06/2012 start-time=12:00:00 interval=1d on-event=unblock-user-grp1 policy=read,write
system scheduler add name=start-block-user-grp1 start-date=nov/06/2012 start-time=13:00:00 interval=1d on-event=block-user-grp1 policy=read,write

system scheduler add name=start-unblock-user-grp2-t1 start-date=nov/06/2012 start-time=08:00:00 interval=1d on-event=unblock-user-grp2 policy=read,write
system scheduler add name=start-block-user-grp2-t1 start-date=nov/06/2012 start-time=09:00:00 interval=1d on-event=block-user-grp2 policy=read,write

system scheduler add name=start-unblock-user-grp2-t2 start-date=nov/06/2012 start-time=12:00:00 interval=1d on-event=unblock-user-grp1 policy=read,write
system scheduler add name=start-block-user-grp2-t2 start-date=nov/06/2012 start-time=13:00:00 interval=1d on-event=block-user-grp1 policy=read,write


(https://www.sysnetcenter.com/board/images/routerboard/scheduler/mikrotik-schedule-block-user-008.gif)


ตรวจสอบ Scheduler ที่ Menu --> System --> Scheduler

(https://www.sysnetcenter.com/board/images/routerboard/scheduler/mikrotik-schedule-block-user-009.gif)



เรียบร้อยครับ  :D

สามารถใช้หลักการ Scheduler ร่วมกับ Function อื่นๆใน Mikrotik ที่สามารถ Ebable/Disable ได้ทุกๆ Function เลยครับ
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: yahooz เมื่อ วันที่ 11 เมษายน 2013, 04:08:45
ผมลองดูแล้ว พอครบกำหนด user จะถูก disable แต่ user ยังสามารถเล่นเน็ตต่อไปได้ ซึ่งผมจะทำยังไงให้พอครบเวลาที่กำหนดเช่นเล่นได้ 12.00-13.00 แล้วมันตัด user ออกไปทำให้เล่นเน็ตไม่ได้
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: yod เมื่อ วันที่ 11 เมษายน 2013, 19:09:54




เพิ่งเห็นครับ

เมื่อกี้ผมได้ลองเขียน Script เพิ่มขึ้นมาใหม่คร่าวๆครับ จะเป็นการ Remove User ที่ Active อยู่ แต่ได้ถูก Disable ไป

:global i
:foreach i in=[ /ip hotspot user find where disabled=yes ] do={
:local name [/ip hotspot user get $i name]
[ /ip hotspot active remove [find where user=$user] ]
#:log info $name
}

เดี๋ยวพรุ่งนี้มาเรียบเรียงให้อีกทีครับ  ;D ;D
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: yahooz เมื่อ วันที่ 12 เมษายน 2013, 10:14:46
ขอบคุณครับ มายืนยันว่าใช้แล้วได้ผลตามที่ต้องการครับ คุณยอด
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: yod เมื่อ วันที่ 12 เมษายน 2013, 13:12:52


แก้ไข script เรียบร้อยแล้วครับ ทางผมต้องขอโทษที่ไม่ได้ทดสอบให้ละเอียดครับ  :-\
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: iamwiroj เมื่อ วันที่ 9 กรกฎาคม 2013, 15:32:40
ผมอ่านแล้ว เห็นว่าพอจะใช้ได้กับ site งานผม ขอถามเพิ่มเติมนะครับ

ผมมีร้านกาแฟ เปิดบริการ 8.00-18.00

ต้องการให้ 1 user เข้าใช้พร้อมกันได้หลาย ๆ เครื่อง แต่กำหนดเวลาการเข้าใช้

user ละ 2 ชม. เดิมที่ผมทำใน userman แต่ต้องมาเคลียร์เวลาทุกวัน

เห็นวิธีนี้แล้วน่าสนใจรบกวนสอบถามสคลิปหน่อยครับต้องแก้และเพิ่มเติมส่วนไหนบ้าง
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: bobmberman เมื่อ วันที่ 1 สิงหาคม 2013, 19:15:22
การตั้งให้ use ใช้ facebook บล็อคตามช่วงเวลาที่เรากำหนดทำอย่างไรครับ
เช่น
facebook เวลา 09.00-13.30  และ 13.30-15.30
แต่และเสาร์-อาทิตย์ใช้ได้ตลอด
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: topim เมื่อ วันที่ 25 กันยายน 2013, 15:30:02
ตัังวันที่ทำงานโดยเข้าไปที่ firewall rule > extra > time เลือก ติ๊กถูกที่วันที่จะให้ script ทำงานครับ
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: adithep เมื่อ วันที่ 16 พฤษภาคม 2015, 20:18:54
ทำไหมผมทำแล้วมันพอถึงเวลาunblock มันไม่ unblock แต่เวลา block ปกติครับ
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: yod เมื่อ วันที่ 17 พฤษภาคม 2015, 16:31:13


ลองทดสอบสั่ง run ใน script list หรือยังครับ ถ้า run ผ่าน ลองดูในส่วน schedule ครับ ว่าพิมพ์อะไรผิดหรือเปล่า
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: yotesak.s@gmail.com เมื่อ วันที่ 21 พฤษภาคม 2015, 15:51:36
Mikrotik 450G ทำได้ไหมครับผม

ขอบคุณครับ
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: yod เมื่อ วันที่ 21 พฤษภาคม 2015, 17:39:22


อุปกรณ์ Mikrotik Router (https://www.sysnetcenter.com/94-integrated-solutions) ทำได้ทุกรุ่นครับ
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: สองสลึง เมื่อ วันที่ 25 กันยายน 2015, 12:48:17
/system script
add name=block-user-grp1 policy=read,write source="/ip hotspot user disable [find profile=userprof1]\r\
    \n:local i\r\
    \n:foreach i in=[ /ip hotspot user find where disabled=yes ] do={\r\
    \n:local name [/ip hotspot user get \$i name]\r\
    \n[ /ip hotspot active remove [find where user=\$user] ]\r\
    \n#:log info \$name\r\
    \n}"
add name=block-user-grp2 policy=read,write source="/ip hotspot user disable [find profile=userprof2]\r\
    \n:local i\r\
    \n:foreach i in=[ /ip hotspot user find where disabled=yes ] do={\r\
    \n:local name [/ip hotspot user get \$i name]\r\
    \n[ /ip hotspot active remove [find where user=\$user] ]\r\
    \n#:log info \$name\r\
    \n}"


ตรงนี้เป็นแค่ส่วนของ Code Block หรือป่าวครับ
ในส่วนของ Unblock ต้องทำอีกอัน พอดีมะกี้ผมลองแล้วได้มาเป็นประมาณนี้

/system script
add name=unblock-user-grp1 policy=read,write source="/ip hotspot user enable [find profile=userprof1]\r\
    \n:local i\r\
    \n:foreach i in=[ /ip hotspot user find where disabled=yes ] do={\r\
    \n:local name [/ip hotspot user get \$i name]\r\
    \n[ /ip hotspot active remove [find where user=\$user] ]\r\
    \n#:log info \$name\r\
    \n}"
ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: saichonkaw เมื่อ วันที่ 23 กุมภาพันธ์ 2017, 13:04:26
code ลบ  user ใน profile
-------------------------------------------------------------------------------------------
/ip hotspot user disable [find profile=userprofile1]
:foreach user in=[/ip hotspot user find profile=userprofile1] do={
:foreach activeuser in=[/ip hotspot active find name=$user] do={
/ip hotspot active remove $activeuser
}
/ip hotspot user disable $user
}

------------------------------------------------------------------------------------------------------------------------------------------------
(https://www.sysnetcenter.com/board/upload/files/images/oltctl-wireless-6e0a83.jpg)
(https://www.sysnetcenter.com/board/upload/files/images/oltct2-wireless-ca3000.jpg)
(https://www.sysnetcenter.com/board/upload/files/images/oltcu1-wireless-17198e.jpg)
(https://www.sysnetcenter.com/board/upload/files/images/oltcud-wireless-ee8b37.jpg)

ชื่อ: Re: การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา
โดย: yod เมื่อ วันที่ 24 กุมภาพันธ์ 2017, 14:27:47


ขอบคุณมากๆเลยครับ  :D
ชื่อ: Re: การเซ็ตให้ mikrotik hAP lite ลบผู้ใชงาน
โดย: akoko เมื่อ วันที่ 3 มิถุนายน 2019, 07:12:04
คือผมกำลังทำระบบ hotspot โดยใช้ mikrotik hAP lite  ทำเป็นขายบัตรแบบรายวัน แบบ username และ password มีกำหนดระยะเวลาใช้งาน 24 ชั่วโมง  และต้องการให้ user ที่ใช้งานเมื่อครบเวลา 24 ชั่วโมงแล้วให้ระบบเตะออก  และลบ user  นั้นออกไป
เพราะที่เป็นอยู่ตอนนี้คือ username  สามารถใช้งานซ้ำได้

Users found this pages searching for: