การประยุกต์ใช้ Network Automation Software กับ Alcatel-Lucent Switch
อุปกรณ์เครือข่ายหลักในมหาวิทยาลัยบูรพาที่สำนักคอมพิวเตอร์สามารถเข้าถึงและดูแลได้ส่วนใหญ่เป็นอุปกรณ์ Alcatel-Lucent Switch ซึ่งใช้ระบบปฏิบัติการ AOS6 และ AOS8 เมื่อมีความจำเป็นต้องบริหารจัดการ Switch จำนวนมากในเวลาจำกัด สามารถใช้โปรแกรม OmniVista 2500 Network Management System ของ Alcatel-Lucent ในการจัดการ Alcatel-Lucent Switch แบบ Network Automation ผ่านหน้าเว็บได้ แต่โปรแกรมก็มีข้อจำกัดการใช้งานในเรื่องของค่าลิขสิทธิ์ ทำให้ไม่สามารถนำมาใช้งานในมหาวิทยาลัยได้ ดังนั้นจึงมีแนวคิดที่จะทดลอง Network Automation Software ที่สามารถทำงานได้กับ Alcatel-Lucent Switch จากการค้นคว้าพบว่า Software ที่สามารถนำมาประยุกต์ใช้ในงาน Network Automation กับ Alcatel-Lucent Switch มีดังนี้คือ
1. Python with Netmiko module
2. Ansible with Network Modules in the Galaxy
ในเอกสารนี้จะทำการทดลองติดตั้งและตั้งค่า Software คือ Netmiko ก่อน เพื่อทดสอบการทำงาน Network Automation ส่วน Ansible สำหรับ Network Automation Alcatel-Lucent Switch นั้นจะเขียนในเอกสารบทความต่อไป
Netmiko
เป็นเครื่องมือของ Network Automation ซึ่งใช้สำหรับการจัดการ และควบคุมอุปกรณ์เครือข่ายโดยอัตโนมัติผ่านทางโปรแกรม Python โดยที่ Netmiko จะช่วยในการเชื่อมต่อกับอุปกรณ์เครือข่ายได้หลายยี่ห้อ เช่น Cisco, Juniper, Arista, HP, Huawei และ อื่น ๆ ผ่านโปรโตคอล SSH (Secure Shell) หรือ Telnet โดย Netmiko มักจะใช้ร่วมกับไลบรารี Python อื่น เช่น Paramiko ซึ่งเป็นไลบรารีสำหรับการเชื่อมต่อ SSH โดยตรง หรือไลบรารีสำหรับการจัดการอุปกรณ์เครือข่ายอื่น ๆ
หลังจากติดตั้ง Python บน Ubuntu Linux เป็นที่เรียบร้อยแล้ว สามารถใช้งานได้โดยนำเข้าโมดูล Netmiko โดยการนำเข้าจะมีขั้นตอนดังนี้
- ใช้คำสั่งบน Command line “python3 ” เพื่อเรียกใช้งาน ภาษา Python
- จากนั้นพิมพ์คำสั่ง “import netmiko” เพื่อนำเข้าโมดูล Netmiko
- ทำการตรวจสอบรายการ methods และ attributes ของ Netmiko ได้ ด้วยคำสั่ง “dir” (netmiko)
ทดสอบเขียนโปรแกรมให้มีคุณสมบัติดังนี้
- ให้โปรแกรมสามารถเชื่อมต่อกับหลายอุปกรณ์พร้อมกันได้
- แสดงการตั้งค่า (Configuration) ของอุปกรณ์
- แสดงหมายเลข (IP Address) ของแต่ละอุปกรณ์
- สำรองข้อมูลอุปกรณ์ (Backup) เพื่อการจัดเก็บและการกู้คืนข้อมูล
ลักษณะการทำงานของโปรแกรม
โปรแกรมสามารถใช้งานผ่าน Command Line ประกอบไปด้วยไฟล์ welcome.py set_vlan.py และ backup.py
โปรแกรม welcome.py ที่มีหน้าที่เชื่อมต่อกับอุปกรณ์ แสดงข้อมูลรายละเอียด การตั้งค่าของอุปกรณ์

รูปที่ 1 โปรแกรม welcome.py

รูปที่ 2 ผลการทำงานโปรแกรม welcome.py
โปรแกรม set_vlan.py จะเป็นคำสั่งในการตั้งค่า vlan แสดง vlan โปรแกรมจะทำงานกับอุปกรณ์ที่ละตัวโดยตัดการเชื่อมต่อจากอุปกรณ์เดิม แล้วเชื่อมต่ออุปกรณ์ใหม่ จนครบตามจำนวนอุปกรณ์ที่เราตั้งค่าไว้

รูปที่ 3 โปรแกรม set_vlan.py

รูปที่ 4 ผลการทำงานโปรแกรม set_vlan.py
การทำงานของโปรแกรม backup.py

รูปที่ 5 โปรแกรม backup.py

รูปที่ 6 ผลการทำงานโปรแกรม backup.py

รูปที่ 7 ผลการทำงานโปรแกรม backup.py
การใช้งาน Netmiko ซึ่งพัฒนาด้วยภาษา Python ช่วยเพิ่มประสิทธิภาพในการจัดการอุปกรณ์เครือข่ายอัตโนมัติ สามารถเชื่อมต่อกับอุปกรณ์ผ่านโปรโตคอล SSH และส่งคำสั่งต่าง ๆ ไปยังอุปกรณ์ได้ นอกจากนี้ยังสามารถกำหนดค่าบนอุปกรณ์เครือข่าย เช่น การตั้งค่า VLAN โปรแกรม Netmiko เป็นเครื่องมือที่ใช้งานร่วมกับอุปกรณ์เครือข่ายหลายยี่ห้อ มีความสามารถในการจัดการการเชื่อมต่อแบบง่ายๆ ทำให้เหมาะสำหรับการใช้งานในระบบเครือข่ายอัตโนมัติ ในส่วนที่เกี่ยวข้องกับการควบคุมอุปกรณ์ และการจัดการกับการกำหนดค่าบนเครือข่าย สำหรับข้อจำกัดของการใช้งาน Netmiko เช่น การสนับสนุนอุปกรณ์หรือรุ่นใหม่ที่มีความซับซ้อน การสั่งงานมีเพียงการสั่งงานแบบ Command Line ยังไม่มีแบบ GUI ให้ใช้งาน
ขอบคุณครับ
นายเจตนันต์ เจือจันทร์ 1 กุมภาพันธ์ – 31 กรกฎาคม พ.ศ. 2567
การจัดทำ Explicit Knowledge ฝ่ายโครงสร้างพื้นฐานระบบ
