ผู้เขียน หัวข้อ: การเขียน Script ตั้งเวลาการ Enable/Disable ค่าต่างๆ ในอุปกรณ์ Mikrotik  (อ่าน 5274 ครั้ง)

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

yod

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 1853
    • Sysnet Center

การเขียน Script Schedule Enable/Disable ในอุปกรณ์ Mikrotik


เนื่องจากมีลูกค้าสอบถามกันมาค่อนข้างเยอะครับ โดยสรุปแล้วคือลูกค้าต้องการกำหนดเวลาการ Enable/Disable พวก Interface, Firewall หรือ Object ต่างๆที่สร้างไว้

หัวข้อนี้ผมจะเขียนถึงวิธีกันเลยน่ะครับ เพื่อที่จะได้ประยุกต์การใช้งานตามต้องการได้เลยครับ


ผมจะยกตัวอย่าง เป็นการให้เครื่อง Computer ใช้งาน Internet ได้ตามช่วงเวลา โดยช่วง 08.00 - 11.59 และ 13.00 - 17.00 จะไม่สามารถใช้งาน Internet ได้ แต่ช่วงเวลา 12.00 - 13.00 และ 17.00 - 07.59 สามารถใช้งาน Internet ได้


การ Block การเข้าใช้งาน Internet โดยหมายเลข MAC Address จะอยู่ในหัวข้อนี้นะครับ http://www.sysnetcenter.com/board/index.php/topic,1610.0/ โดยจะใช้หลักการของ Firewall --> Filter




ทีนี้การจะเขียน Script เพื่อ Enable/Disable เอาแบบง่ายๆเลยคือ ใช้วิธีไล่ Menu ใน Winbox เอา หรือดูคำสั่งผ่าน Terminal เช่นถ้าเราถ้าจะเข้าไป Config Firewall Filter rules จะต้องเข้า Menu IP --> Firewall --> Filter rules


ตัวอย่าง 1
หาคำสั่งในการจัดการ Firewall Filter Rules

พิมพ์ IP ที่ New Terminal จากนั้นกด Spacebar จะมีรายการคำสั่งถัดไปขึ้นมา สังเกตุได้ว่ารายการจะเป็นชื่อคล้ายๆกับ Menu ใน Winbox เพราะฉะนั้นการที่จะเข้าไปจัดการใน Filter จะต้องผ่าน ip firewall filter ทีนี้คำสั่งในการ enable/disable เราต้องมีการตั้งชื่อให้กับรายการที่เราสร้างเพื่อให้ script มันทำการอ้างอิงกับชื่อได้ถูก



โดยปกติในส่วน Interface จะมีการตั้งชื่อ name ได้ แต่ใน Firewall Filter เราไม่สามารถตั้งชื่อได้ครับ ถ้างั้นก็ต้องใช้ Comment เป็นชื่อในการอ้างอิง เลยจัดการใส่ Comment ให้กับ Filter rules ที่สร้างไว้เป็น block-internet ถ้ามีหลายๆรายการก็ใส่ชื่อ Comment ซ้ำๆกันได้เลยครับ หรือใช้ Comment แตกต่างกันไป เพื่อไว้อ้างอิงแทน name




ใน Script ใน Mikrotik ก็ต้องใส่คำสั่งให้มันค้นหาว่าต้องการ Enable/Disable ในเงื่อนไขอะไร ในตัวอย่างนี้ ให้หาว่า comment ที่เป็น block-internet ให้จัดการ Enable/Disable ซะ ก็ใส่คำสั่งเพิ่มไปเป็น [find comment=block-internet]

Script ก็จะเป็น

/ip firewall filter disable [find comment=block-internet]
/ip firewall filter enable [find comment=block-internet]




ตัวอย่างที่ 2
ในกรณีที่มีชื่อ (name) ในการอ้างอิง

ตัวอย่างนี้ผมใช้งานจริงครับ ทำ VPN ระหว่างที่บ้านกับที่ร้านเอาไว้ โดยตั้งชื่อ pptp client เป็น sysnetshop ที่ผมต้องการให้มี Enable/Disable การเชื่อมต่อ คือเมื่อห้างเซียร์ปิด ช่วงประมาณเที่ยงคืนเขาจะตัดไฟตามร้านค้าครับ เครื่องที่บ้านก็จะพยายาม Dial-Up ตลอดเวลา ก็เลยตั้งเวลาให้ Enable/Disable ตามช่วงเวลาเลย

การสร้าง PPTP Client จะเป็นการสร้าง Interface อย่างนึง ซึ่งจะมี name ให้อ้างอิงได้ เวลาเข้า Menu ผ่าน Winbox ก็จะเข้าที่ Menu Interface ได้เลย เพราะฉะนั้น Script ในการจัดการจะเป็นแบบนี้ /interface enable [find name=sysnetshop] และ /interface disable [find name=sysnetshop]




ค่อยๆลองเล่นดู โดยลองพิมพ์คำสั่งต่างๆที่ Terminal ใน Mikrotik ครับ  ;D ;D ;D


ที่นี้เราก็สร้าง Script ในการ Enable/Dissable Filrewall Filter

เข้า Menu System --> Script ตั้งชื่อตามรูปเลย ชื่อที่ตั้งใน Script ตัวใหญ่/เล็กมีผลนะครับ




หรือจะสร้าง Script ไว้ run ใน terminal


system script add name=unblockinternet policy=read,write source="/ip firewall filter disable [find comment=block-internet]"
system script add name=blockinternet policy=read,write source="/ip firewall filter enable [find comment=block-internet]"

จะมีรายการ Script ตามรูป




ทดสอบ Click [run] เพื่อ run script รายการใน Filrewall Filter จะต้องมีการ Enable/Disable




ที่นี้ก็สร้าง Schedule จะเป็นการสั่งให้อุปกรณ์ Mikrotik ทำงานคำสั่งอะรซักอย่างตามเวลาที่กำหนด และทำทุกๆระยะเวลาที่กำหนดไว้ เช่นทำงาน 1 ครั้งเวลา 8.00 ทุกๆวัน

ตรวจสอบเวลาใน Mikrotik ให้ถูกต้องด้วยนะครับ http://www.sysnetcenter.com/board/index.php?topic=1133.0

Name: ชื่อ Schedule ที่สร้าง
Start Date: วันที่เริ่มทำงาน (ตรงนี้ไม่ต้องสนใจครับ)
Start Time: เวลาที่เริ่มทำงาน (อันนี้สำคัญ เป็นการตั้งให้ทำงานเวลา 8.00)
Interval: ทำงานทุกๆเวลา
On Event: เมื่อถึงเวลาที่กำหนด ให้ทำอะไร ในรูปจะเป็นการใส่ชื่อของ Script คือ blockinternet
Next Run: เวลาการทำงานครั้งต่อไป



แต่ถ้าให้ง่ายก็ใช้ Script เลยครับ แก้ไขวันเวลา ชื่อ ตามสะดวกเลย

system scheduler add name=sch-block-internet1 start-date=nov/06/2012 start-time=08:00:00 interval=1d on-event=blockinternet policy=read,write
system scheduler add name=sch-unblock-internet1 start-date=nov/06/2012 start-time=12:00:00 interval=1d on-event=unblockinternet policy=read,write

system scheduler add name=sch-block-internet2 start-date=nov/06/2012 start-time=13:00:00 interval=1d on-event=blockinternet policy=read,write
system scheduler add name=sch-unblock-internet2 start-date=nov/06/2012 start-time=17:00:00 interval=1d on-event=unblockinternet policy=read,write



จะได้รายการขึ้นมา ตรวจสอบให้เรียบร้อย





ไม่งงกันนะครับ ค่อยๆลองเล่นกันดู แต่อย่าลืม Backup ค่า Config กันไว้ด้วย มีปัญหาจะได้ restore ค่าเดิมขึ้นมาได้ครับ  ;D ;D ;D


« แก้ไขครั้งสุดท้าย: วันที่ 30 มิถุนายน 2017, 15:10:09 โดย yod »

pc_wilalai

  • Mikrotik
  • Newbie
  • *****
  • กระทู้: 20
    • อีเมล์
Re: การเขียน Script ตั้งเวลาการ Enable/Disable ค่าต่างๆ ในอุปกรณ์ Mikrotik
« ตอบกลับ #1 เมื่อ: วันที่ 5 สิงหาคม 2018, 10:07:06 »
เรียน คุณยอด

จะเขียนสคริปเพื่อ Disable hotspot เป็นเวลา ยังไงครับ


Share via facebook

xx
การ Block Facebook หรือ Enable/Disable Firewall ตามช่วงเวลา

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

5 ตอบ
4008 อ่าน
กระทู้ล่าสุด วันที่ 18 กุมภาพันธ์ 2013, 22:05:03
โดย mithp
xx
การตั้ง Scheduler ในอุปกรณ์ Mikrotik เพื่อทำการ Block User ตามช่วงเวลา

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

15 ตอบ
32021 อ่าน
กระทู้ล่าสุด วันที่ 3 มิถุนายน 2019, 07:12:04
โดย akoko
xx
รวบรวม Script สำหรับ Mikrotik RouterBoard ที่จำเป็นต่อการใช้งาน

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

3 ตอบ
26474 อ่าน
กระทู้ล่าสุด วันที่ 24 กรกฎาคม 2012, 17:13:00
โดย cgsupports
xx
[แจก] ทางเลือกการจัดการ Usermanager ของ mikrotik + Script สำหรับลบ user expired

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

0 ตอบ
1552 อ่าน
กระทู้ล่าสุด วันที่ 5 ตุลาคม 2018, 21:10:15
โดย sup
xx
Mikrotik reboot ตัวเองตลอดเวลา ถามทาง ThaiMikrotik บอกว่าโดน script virus

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

1 ตอบ
1392 อ่าน
กระทู้ล่าสุด วันที่ 25 กรกฎาคม 2018, 10:23:22
โดย newsaendee
 


Users found this pages searching for: