อัปเดต MikroTik จำนวนมากด้วย MKController
สรุป การอัปเดตหมู่ของ MKController ช่วยให้คุณส่งสคริปต์ RouterOS เดียวกันไปยังอุปกรณ์ MikroTik หลายสิบหรือหลายร้อยเครื่องพร้อมกันโดยใช้ไฟล์
.auto.rscคุณเลือกอุปกรณ์ อัปโหลดสคริปต์ ติดตามการดำเนินการจากหน้าจอกลาง และยังสามารถใช้แอตทริบิวต์เฉพาะอุปกรณ์เพื่อแทรกค่าที่แตกต่างกันในคำสั่งเดียวกัน — โดยไม่ต้องรันการดำเนินการทีละเราเตอร์
การอัปเดต MikroTik หมู่ด้วย MKController
การจัดการ MikroTik เพียงเครื่องเดียวนั้นง่ายมาก แต่การจัดการหลายสิบ หลายร้อย หรือเราเตอร์ที่กระจายอยู่ตามพื้นที่ต่างๆ นั้นเป็นอีกเรื่องหนึ่ง เมื่อจำเป็นต้องอัปเดต Identity, กฎ Firewall, การตั้งค่า Wi-Fi, ตัวเลือก DHCP หรือพารามิเตอร์ RouterOS อื่นๆ ในวงกว้าง การทำทีละอุปกรณ์จะสิ้นเปลืองเวลาและเพิ่มโอกาสเกิดความไม่สอดคล้องกัน
MKController ช่วยลดภาระงานปฏิบัติการดังกล่าวโดยให้คุณส่งสคริปต์เดียวกันไปยังอุปกรณ์หลายเครื่องที่เลือกไว้ในชุดเดียว ในทางปฏิบัติ คุณเตรียมไฟล์ในรูปแบบ .auto.rsc อัปโหลดผ่านแพลตฟอร์ม และติดตามการดำเนินการจากหน้าจอกลาง สำหรับทีมที่ดูแลสาขา, ISP และเครือข่ายลูกค้าแบบกระจาย วิธีนี้ช่วยประหยัดการคลิกได้มากมายและลดปัญหาหัวปวดได้ไม่น้อย
ทำไมการอัปเดตหมู่จึงสำคัญ
การเปลี่ยนแปลงแบบกลุ่มมีประโยชน์เมื่อต้องใช้การปรับแต่งเดียวกันกับเราเตอร์จำนวนมาก ตัวอย่างทั่วไป ได้แก่ การเปลี่ยนชื่ออุปกรณ์ การทำให้กฎ Firewall เป็นมาตรฐานเดียวกัน การเปลี่ยนพารามิเตอร์ Wi-Fi หรือการวางแผนการ Migration เป็นขั้นตอน
ประโยชน์หลักคือความสอดคล้อง แทนที่จะทำงานซ้ำๆ เดิมในหลายๆ ครั้ง คุณเตรียมไฟล์คำสั่งเพียงชุดเดียวและนำกลับมาใช้ซ้ำ ซึ่งทำให้การบำรุงรักษารวดเร็วขึ้นและตรวจสอบย้อนหลังได้ง่ายกว่า
จุดที่ MKController ช่วยได้: MKController รวมศูนย์การเลือกอุปกรณ์ การดำเนินการแบบกลุ่ม และการติดตามการดำเนินการ ซึ่งทำให้การเปลี่ยนแปลง RouterOS ตามปกติจัดระเบียบได้ง่ายขึ้นในสภาพแวดล้อมแบบกระจาย
คุณยังสามารถผสานขั้นตอนการทำงานนี้เข้ากับกระบวนการ MKController ที่กว้างขึ้นสำหรับการ Onboarding และการจัดการวงจรชีวิต ตัวอย่างเช่น หลังจากนำอุปกรณ์เข้าสู่ระบบแล้ว คุณสามารถดำเนินการติดตามและบริหารจัดการแบบรวมศูนย์ในแพลตฟอร์มต่อไป: MKController Knowledge Center
เตรียมไฟล์สคริปต์
ขั้นตอนแรกคือการสร้างคำสั่งที่ต้องการให้ RouterOS ดำเนินการ ในตัวอย่างนี้ เป้าหมายคือการเปลี่ยน Identity ของอุปกรณ์ คำสั่งเริ่มต้นด้วย Slash และใช้ไวยากรณ์ RouterOS มาตรฐาน
/system identity set name=MKController
บันทึกไฟล์ด้วยนามสกุล .auto.rsc นามสกุลนี้สำคัญมาก เนื่องจาก MKController จะรู้จักและดำเนินการโดยอัตโนมัติระหว่างกระบวนการแบบกลุ่ม
เคล็ดลับ: เริ่มต้นด้วยสคริปต์เวอร์ชันแรกที่เล็กและมุ่งเน้น ทดสอบการเปลี่ยนแปลงที่ปลอดภัยเพียงอย่างเดียวก่อนที่จะส่งชุดคำสั่งที่ใหญ่กว่า
รันการดำเนินการแบบกลุ่มใน MKController
เมื่อไฟล์พร้อมแล้ว ให้เข้าสู่ระบบแอป MKController และเปิดรายการอุปกรณ์ เลือกเราเตอร์ที่ควรได้รับการอัปเดต จากนั้นใช้เมนูการดำเนินการแบบกลุ่มเพื่อเริ่มกระบวนการอัปโหลดไฟล์
ลำดับขั้นตอนที่แนะนำ:
- เปิด Devices
- เลือกอุปกรณ์ MikroTik ที่เป็นเป้าหมาย
- คลิกตัวเลือกเพื่อเพิ่มอุปกรณ์ที่เลือกไว้ในการดำเนินการ
- เลือก Send batch file
- ตรวจสอบเราเตอร์ที่เลือกและดำเนินการต่อ
- อัปโหลดไฟล์
.auto.rsc
- ยืนยันและไปที่หน้าจอการดำเนินการ
ติดตามสถานะและตรวจสอบผลลัพธ์
หลังจากอัปโหลดแล้ว MKController จะแสดงการดำเนินการในคิวที่รอดำเนินการ นี่คือที่ที่เหมาะสมสำหรับยืนยันว่าไฟล์ได้รับการยอมรับหรือไม่ และอุปกรณ์ที่เลือกยังเป็นส่วนหนึ่งของงานนี้หรือไม่
หากจำเป็น คุณสามารถลบอุปกรณ์ออกจากการดำเนินการก่อนการประมวลผล ซึ่งเพิ่มชั้นความปลอดภัยที่มีประโยชน์เมื่อคุณสังเกตว่าเลือกเราเตอร์ผิดเครื่อง
การตรวจสอบไม่ควรหยุดเพียงแค่คิว หลังจากการดำเนินการเสร็จสิ้น ให้เปิดเราเตอร์ที่ได้รับการอัปเดตอย่างน้อยหนึ่งเครื่องและยืนยันว่าค่าที่คาดหวังเปลี่ยนแปลงแล้ว ในกรณีนี้ คุณจะตรวจสอบว่า Identity ของอุปกรณ์ตรงกับค่าที่ส่งในสคริปต์แล้วหรือไม่
หมายเหตุ: สำหรับการเปลี่ยนแปลงการผลิตในวงกว้าง ให้ทดสอบกับกลุ่มนำร่องขนาดเล็กก่อน การนำร่องที่สะอาดมักจะเปิดเผยข้อผิดพลาดทางไวยากรณ์ ปัญหาตัวแปร หรือผลข้างเคียงที่ไม่ตั้งใจก่อนที่จะแพร่กระจาย
สำหรับพฤติกรรมสคริปต์ RouterOS และโครงสร้างคำสั่ง เอกสารอย่างเป็นทางการของ MikroTik ก็ควรมีไว้ใกล้มือเช่นกัน: RouterOS documentation
ใช้แอตทริบิวต์สำหรับค่าเฉพาะอุปกรณ์
บางครั้งโครงสร้างคำสั่งเหมือนกัน แต่ค่าต้องเปลี่ยนตามแต่ละเราเตอร์ นั่นคือจุดที่แอตทริบิวต์มีประโยชน์ แทนที่จะฝังค่าคงที่ลงในโค้ด คุณสามารถอ้างอิงตัวแปรที่ MKController แก้ไขให้สำหรับแต่ละอุปกรณ์ได้
ในสถานการณ์ตัวอย่าง เราเตอร์หนึ่งเครื่องมีแอตทริบิวต์ที่มีรหัส identity และค่า Becon ในขณะที่เราเตอร์อีกเครื่องยังไม่มีแอตทริบิวต์นั้น
ในการเตรียมกระบวนการนั้น:
- เปิดรายละเอียดอุปกรณ์เป้าหมาย
- ไปที่ Attributes
- สร้างแอตทริบิวต์ใหม่
- กำหนดประเภทและค่า
- บันทึกก่อนรันกระบวนการแบบกลุ่ม
จากนั้นอัปเดตสคริปต์ให้ใช้ Placeholder ของแอตทริบิวต์:
/system identity set name="${teste}"
หากเราเตอร์ที่เลือกยังไม่มีแอตทริบิวต์ที่ต้องการ MKController สามารถหยุดและขอค่าที่ขาดหายไปก่อนดำเนินการต่อ ซึ่งป้องกันการล้มเหลวที่ไม่มีการแจ้งเตือนและช่วยให้คุณทำ Batch ให้เสร็จสมบูรณ์ด้วยข้อมูลที่ถูกต้อง
แนวทางปฏิบัติที่ดีก่อนส่งสคริปต์ในวงกว้าง
สคริปต์แบบกลุ่มมีพลังมาก ดังนั้นจึงควรมีวินัยในการใช้งาน ควรรักษานิสัยเหล่านี้ไว้:
- เริ่มต้นด้วยอุปกรณ์ในแล็บหรือกลุ่มนำร่องขนาดเล็ก
- ใช้การเปลี่ยนแปลงทางตรรกะเพียงอย่างเดียวต่อสคริปต์เมื่อเป็นไปได้
- บันทึกสำเนา
.auto.rscแบบมีเวอร์ชัน - ตรวจสอบคำสั่งสำหรับไวยากรณ์และการเว้นวรรคก่อนอัปโหลด
- ยืนยันว่าการเปลี่ยนแปลงนั้นขึ้นอยู่กับแอตทริบิวต์เฉพาะอุปกรณ์หรือไม่
- ตรวจสอบผลลัพธ์บนอุปกรณ์จริงหลังจากเสร็จสิ้น
คำเตือน: หลีกเลี่ยงการรวมการเปลี่ยนแปลงที่ไม่เกี่ยวข้องกันไว้ในสคริปต์ขนาดใหญ่ชุดเดียว เว้นแต่คุณได้ทดสอบลำดับทั้งหมดแล้ว Batch ขนาดเล็กกว่านั้น Rollback และแก้ไขปัญหาได้ง่ายกว่า
บทสรุป
การอัปเดตหมู่ใน MKController มอบวิธีการที่ใช้งานได้จริงในการทำให้การเปลี่ยนแปลง RouterOS เป็นมาตรฐานเดียวกันในอุปกรณ์จำนวนมากโดยไม่ต้องทำทีละเราเตอร์ วิธีการพื้นฐานนั้นง่าย: เขียนคำสั่ง บันทึกเป็น .auto.rsc เลือกอุปกรณ์ อัปโหลดไฟล์ และติดตามการดำเนินการ เมื่อค่าแตกต่างกันตามแต่ละเราเตอร์ แอตทริบิวต์ให้ความยืดหยุ่นในการนำสคริปต์เดิมมาใช้ซ้ำโดยไม่สูญเสียการควบคุม
การผสมผสานระหว่างความเร็วและโครงสร้างนั้นคือสิ่งที่ทำให้ฟีเจอร์นี้มีคุณค่า ลดการทำซ้ำ ลดความผิดพลาดจากการทำด้วยตนเอง และมองเห็นภาพรวมได้ชัดเจนขึ้น