ลองทำ Day 0 & Day 1 Network Automation ด้วย ZTP และ Python

Apply Day 0 & Day 1 Network Automation using ZTP and Python

Nopnithi Khaokaew (Game)
2 min readApr 19, 2020

— — — — — — — — — — — — — — —
สารบัญเนื้อหาทั้งหมด (My Contents)
— — — — — — — — — — — — — — —

— — — — — — — — — — — — — — — — — — — — — — — -

ฝากคอร์ส Python for Network Automation ผมด้วยครับ

— — — — — — — — — — — — — — — — — — — — — — — -

เข้าสู่ช่วงคนอวดของ ซึ่งนี่ก็เป็น hobby project ของผมอีกแล้ว และแน่นอนว่ามันจะถูกนำไปปรับปรุงเพื่อใช้ในงานจริง ๆ ของผมในอนาคตอันใกล้นี้แน่นอน

Project นี้มันทำอะไรได้?

ผมต้องการแค่แกะกล่อง switch หรือ router อย่างพวก Cisco รุ่นธรรมดาที่ใช้กันทั่วไปตามองค์กร แล้วนำไปเสียบเข้ากับ network และ power on มันขึ้นมา โดยที่มันจะพร้อมใช้งานได้ทันทีโดยที่ไม่ต้อง configure อะไรเองเลยแม้แต่นิดเดียว!

อธิบายการทำงานแบบคร่าว ๆ

เมื่ออุปกรณ์ถูก power on ขึ้นมาและไม่เจอ startup configuration มันจะดำเนินการตามขั้นตอนประมาณนี้

  1. Router ส่ง DHCP request หา DHCP server เพื่อร้องขอ IP, TFTP server และ path ของ boot file
  2. ดาวน์โหลดไฟล์ initial configuration จาก TFTP server และทำการ apply initial configuration ลงบนตัวมันเอง
  3. ZTP server ที่ผมเขียนด้วย Python จะ SSH เข้ามาเพื่อตรวจสอบ serial number เพื่อ generate config สำหรับอุปกรณ์ตัวนั้นแล้วก็ deploy config ลงไป
  4. ทุกขั้นตอน ZTP server จะมีการส่ง notify ผ่านทาง LINE application

สิ่งที่คิดว่าจะพัฒนาต่อในเวอร์ชั่นถัดไป

เมื่อทุก node ใน topology ถูก configure ทั้งหมดแล้ว ผมต้องการให้ ZTP server ทำการเช็ครายละเอียดดังนี้

  1. เช็ค topology ว่าแต่ละ port เชื่อมต่อกันถูกต้องทั้งหมดหรือไม่โดยใช้ LLDP
  2. เช็คว่า config ถูก deploy ลงบนอุปกรณ์ครบถ้วนสมบูรณ์หรือไม่

วิดีโอการทำงาน

วิดีโออาจจะเล็กไปหน่อยนะพอดีผมก็ลืมไปไม่ได้ zoom in เข้าไปอีก ควรดูบนคอมพิวเตอร์หรืออย่างน้อยก็ iPad ก็ยังดีนะครับ

— — — — — — — — — — — — — — —
สารบัญเนื้อหาทั้งหมด (My Contents)
— — — — — — — — — — — — — — —

--

--

Nopnithi Khaokaew (Game)
Nopnithi Khaokaew (Game)

Written by Nopnithi Khaokaew (Game)

Cloud Solutions Architect & Hobbyist Developer | 6x AWS Certified, CKA, CKAD, 2x HashiCorp Certified (Terraform, Vault), etc.