Knowledge Zone By Sysnet คู่มือ และ การใช้งานอุปกรณ์ Network

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

Discussion started on อุปกรณ์ Mikrotik Router

การตั้ง 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






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








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 ครับ

โค๊ด: [Select]
/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 บรรทัดสุดท้ายด้วยนะครับ




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




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


โค๊ด: [Select]
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




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





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

สามารถใช้หลักการ Scheduler ร่วมกับ Function อื่นๆใน Mikrotik ที่สามารถ Ebable/Disable ได้ทุกๆ Function เลยครับ
#1 - วันที่ 8 เมษายน 2013, 13:36:19

ผมลองดูแล้ว พอครบกำหนด user จะถูก disable แต่ user ยังสามารถเล่นเน็ตต่อไปได้ ซึ่งผมจะทำยังไงให้พอครบเวลาที่กำหนดเช่นเล่นได้ 12.00-13.00 แล้วมันตัด user ออกไปทำให้เล่นเน็ตไม่ได้
#2 - วันที่ 11 เมษายน 2013, 04:08:45




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

เมื่อกี้ผมได้ลองเขียน 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
#3 - วันที่ 11 เมษายน 2013, 19:09:54

ขอบคุณครับ มายืนยันว่าใช้แล้วได้ผลตามที่ต้องการครับ คุณยอด
#4 - วันที่ 12 เมษายน 2013, 10:14:46


แก้ไข script เรียบร้อยแล้วครับ ทางผมต้องขอโทษที่ไม่ได้ทดสอบให้ละเอียดครับ  :-\
#5 - วันที่ 12 เมษายน 2013, 13:12:52

ผมอ่านแล้ว เห็นว่าพอจะใช้ได้กับ site งานผม ขอถามเพิ่มเติมนะครับ

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

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

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

เห็นวิธีนี้แล้วน่าสนใจรบกวนสอบถามสคลิปหน่อยครับต้องแก้และเพิ่มเติมส่วนไหนบ้าง
#6 - วันที่ 9 กรกฎาคม 2013, 15:32:40

การตั้งให้ use ใช้ facebook บล็อคตามช่วงเวลาที่เรากำหนดทำอย่างไรครับ
เช่น
facebook เวลา 09.00-13.30  และ 13.30-15.30
แต่และเสาร์-อาทิตย์ใช้ได้ตลอด
#7 - วันที่ 1 สิงหาคม 2013, 19:15:22

ตัังวันที่ทำงานโดยเข้าไปที่ firewall rule > extra > time เลือก ติ๊กถูกที่วันที่จะให้ script ทำงานครับ
#8 - วันที่ 25 กันยายน 2013, 15:30:02

ทำไหมผมทำแล้วมันพอถึงเวลาunblock มันไม่ unblock แต่เวลา block ปกติครับ
#9 - วันที่ 16 พฤษภาคม 2015, 20:18:54


ลองทดสอบสั่ง run ใน script list หรือยังครับ ถ้า run ผ่าน ลองดูในส่วน schedule ครับ ว่าพิมพ์อะไรผิดหรือเปล่า
#10 - วันที่ 17 พฤษภาคม 2015, 16:31:13

Mikrotik 450G ทำได้ไหมครับผม

ขอบคุณครับ
#11 - วันที่ 21 พฤษภาคม 2015, 15:51:36


อุปกรณ์ Mikrotik Router ทำได้ทุกรุ่นครับ
#12 - วันที่ 21 พฤษภาคม 2015, 17:39:22

โค๊ด: [Select]
/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 ต้องทำอีกอัน พอดีมะกี้ผมลองแล้วได้มาเป็นประมาณนี้

โค๊ด: [Select]
/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}"
#13 - วันที่ 25 กันยายน 2015, 12:48:17

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
}

------------------------------------------------------------------------------------------------------------------------------------------------





#14 - วันที่ 23 กุมภาพันธ์ 2017, 13:04:26


ขอบคุณมากๆเลยครับ  :D
#15 - วันที่ 24 กุมภาพันธ์ 2017, 14:27:47

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

สมาชิก:

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้


Share via facebook

https://sysnetcenter.com/board/Themes/Nebula_Theme_CR_v1-0-5/images/post/xx.gif
ตั้ง Scheduler ให้ Block Mac address ทำยังไงหรอครับ

เริ่มโดย สองสลึง เมื่อ อุปกรณ์ Mikrotik Router

1 ตอบ
3227 อ่าน
กระทู้ล่าสุด: วันที่ 7 ตุลาคม 2015, 21:57:00
โดย
สองสลึง
https://sysnetcenter.com/board/Themes/Nebula_Theme_CR_v1-0-5/images/post/xx.gif
การ Block Facebook หรือ Enable/Disable Firewall ตามช่วงเวลา

เริ่มโดย yod เมื่อ อุปกรณ์ Mikrotik Router

5 ตอบ
5708 อ่าน
กระทู้ล่าสุด: วันที่ 18 กุมภาพันธ์ 2013, 22:05:03
โดย
mithp
https://sysnetcenter.com/board/Themes/Nebula_Theme_CR_v1-0-5/images/post/xx.gif
Mikrotik block การใช้งาน User แบบนี้ได้ไหมครับ

เริ่มโดย birdonline เมื่อ อุปกรณ์ Mikrotik Router

0 ตอบ
3068 อ่าน
กระทู้ล่าสุด: วันที่ 28 เมษายน 2017, 20:10:39
โดย
birdonline
https://sysnetcenter.com/board/Themes/Nebula_Theme_CR_v1-0-5/images/post/xx.gif
Mikrotik ขอวิธี block ip ของ user ไม่ให้ใช้ internet ตามช่วงเวลาหน่อยคครับ

เริ่มโดย birdonline เมื่อ อุปกรณ์ Mikrotik Router

1 ตอบ
3309 อ่าน
กระทู้ล่าสุด: วันที่ 19 มิถุนายน 2017, 20:25:06
โดย
ruthxx
https://sysnetcenter.com/board/Themes/Nebula_Theme_CR_v1-0-5/images/post/xx.gif
คู่มือการ Block VLAN ไม่ให้ใช้ Internet ในอุปกรณ์ Ubiquiti Edge Router

เริ่มโดย yod เมื่อ อุปกรณ์ Ubiquiti (ยูบิ-คิวตี้)

0 ตอบ
1250 อ่าน
กระทู้ล่าสุด: วันที่ 25 กรกฎาคม 2019, 12:52:35
โดย
yod