วันอาทิตย์, 15 มีนาคม 2569

การออกแบบระบบบริหารจัดการผู้ใช้งานผ่านโปรโตคอล RADIUS ร่วมกับอุปกรณ์ NAS

การออกแบบระบบบริหารจัดการผู้ใช้งานผ่านโปรโตคอล RADIUS ร่วมกับอุปกรณ์ NAS (Network Access Server) และส่วนขยายอย่าง API และ Database เป็นโครงสร้างที่นิยมมากในระบบ ISP, หอพัก หรือองค์กรขนาดใหญ่

เพื่อให้เห็นภาพการไหลของข้อมูล (Data Flow) อย่างละเอียด ผมขอแบ่งองค์ประกอบและขั้นตอนการทำงานออกมาดังนี้ครับ

  1. องค์ประกอบหลักของระบบ (System Components)
    • User/Client: อุปกรณ์ที่ต้องการเข้าใช้งานเครือข่าย (เช่น มือถือ, PC)
    • NAS (Network Access Server): อุปกรณ์ด่านหน้า เช่น MikroTik, Cisco Router หรือ WiFi AP ที่ทำหน้าที่ดักจับการเชื่อมต่อ
    • RADIUS Server: หัวใจหลักในการประมวลผล (เช่น FreeRADIUS) ทำหน้าที่ตรวจสอบสิทธิ์ (AAA)
    • Database: ที่เก็บข้อมูล User, Profile, Logs และ Usage (เช่น MySQL, PostgreSQL)
    • RADIUS Manager (Web UI): ส่วนติดต่อผู้ใช้สำหรับ Admin เพื่อจัดการ User/Billing
    • API Service: ส่วนกลางที่เชื่อมต่อระหว่าง RADIUS กับระบบภายนอก หรือ Mobile App
  2. ไดอะแกรมการทำงานเชิงลึก (System Architecture Diagram)
    • อ้างอิงข้อมูลท้ายบทความ
  3. ขั้นตอนการทำงานโดยละเอียด (Step-by-Step Logic) กระบวนการนี้เรียกว่า AAA (Authentication, Authorization, and Accounting)
    • A. ขั้นตอนการยืนยันตัวตน (Authentication & Authorization)
      • Request: ผู้ใช้ส่ง Username/Password ผ่านหน้า Login (Captive Portal) ไปยัง NAS
      • Access-Request: NAS ทำการ Pack ข้อมูลใส่ Radius Packet แล้วส่งไปยัง RADIUS Server (พอร์ต 1812)
      • Query: RADIUS Server รับข้อมูลแล้วไป Query ใน Database หรือส่งผ่าน API เพื่อเช็คว่า “มีผู้ใช้นี้ไหม? รหัสถูกไหม? แพ็กเกจหมดอายุหรือยัง?”
      • Response: * ถ้าผ่าน: ส่ง Access-Accept พร้อมระบุเงื่อนไข (Attributes) เช่น ความเร็วเน็ต (Bandwidth), เวลาที่เล่นได้ (Session-Timeout)
        • ถ้าไม่ผ่าน: ส่ง Access-Reject
    • B. ขั้นตอนการเก็บข้อมูลการใช้งาน (Accounting)
      • Accounting-Start: เมื่อ NAS ปล่อยให้ผู้ใช้เข้าเน็ตได้ จะแจ้ง RADIUS ว่า “User นี้เริ่มใช้งานแล้วนะ”
      • Interim-Update: NAS จะส่งข้อมูลเป็นระยะๆ (เช่น ทุก 5 นาที) เพื่อบอกว่า User ใช้ Data ไปเท่าไหร่แล้ว
      • Accounting-Stop: เมื่อ User ตัดการเชื่อมต่อ NAS จะส่งสรุปยอดการใช้งานทั้งหมดไปบันทึกลง Database
    • C. การจัดการผ่าน Manager & API
      • Management: Admin ใช้งาน Radius Manager เพื่อเพิ่มลบผู้ใช้ ซึ่งจะไปเขียนข้อมูลลง Database โดยตรง
      • API Integration: หากมีระบบ App ภายนอกต้องการดึงข้อมูล หรือสั่งตัดการเชื่อมต่อ (Disconnect Request/CoA) จะสั่งการผ่าน API Service ให้ไปคุยกับ RADIUS Server อีกที
  4. ตารางสรุปการรับส่ง Data (Attribute Table)
ส่วนประกอบข้อมูลที่ส่ง (Key Attributes)จุดประสงค์
NAS -> RADIUSUser-Name, User-Password, NAS-IPขอเข้าใช้งาน
RADIUS -> NASMikrotik-Rate-Limit, Session-Timeoutกำหนดความเร็วและเวลา
NAS -> RADIUSAcct-Input-Octets, Acct-Output-Octetsรายงานปริมาณ Data (Upload/Download)

ข้อแนะนำเพิ่มเติมสำหรับการออกแบบ

  • High Availability: หากระบบใหญ่ ควรทำ Database Cluster หรือ Load Balance RADIUS Server
  • Security: การเชื่อมต่อระหว่าง NAS และ RADIUS ควรใช้ Shared Secret ที่ซับซ้อน และจำกัด IP ที่อนุญาตให้ส่ง Request (Client Definition)

เพื่อให้คุณเห็นภาพการทำงานเชิงลึกของระบบ RADIUS ร่วมกับ NAS, Database และ API ได้ชัดเจนยิ่งขึ้น นี่คือไดอะแกรมที่แสดงโครงสร้างและการไหลของข้อมูล (Data Flow) ครับ

อธิบายจากรูปภาพเพิ่มเติม (Deep Dive)

  1. User to NAS (The Entry): ผู้ใช้เชื่อมต่อกับ NAS (เช่น MikroTik หรือ Access Point) ผ่าน Protocol เช่น PPPoE หรือ Hotspot
  2. NAS to RADIUS (The Request): NAS จะใช้ RADIUS Protocol (UDP 1812/1813) ส่งข้อมูล Access-Request ไปยัง RADIUS Server เพื่อขออนุมัติ
  3. RADIUS to Database (The Auth): RADIUS Server จะทำการ Query ข้อมูลจาก SQL Database (เช่น MySQL) เพื่อเช็ค Username, Password และ Profile (ความเร็ว/เวลา)
  4. RADIUS to NAS (The Enforcement): เมื่อยืนยันเสร็จ RADIUS จะส่ง Access-Accept พร้อมค่า Attributes (เช่น Limit-Rate: 10M/10M) กลับไปให้ NAS บังคับใช้กับผู้ใช้
  5. Accounting Flow: NAS จะส่งข้อมูลการใช้งาน (Data Usage) กลับไปที่ RADIUS เป็นระยะ เพื่อบันทึกลง Database สำหรับทำรายงานหรือตัดยอดเงิน
  6. Manager & API Layer
    • RADIUS Manager: เป็น Web GUI ที่เชื่อมต่อกับ Database เพื่อให้ Admin จัดการ User ได้ง่าย
    • API: เป็นตัวกลางให้ระบบภายนอก (เช่น App มือถือ, ระบบตัดบัตรเครดิต) เข้ามาดึงข้อมูลหรือแก้ไขสถานะผู้ใช้ใน Database โดยไม่ต้องสั่งการ RADIUS โดยตรง
เรื่องที่เกี่ยวข้อง
API (Application Programming Interface) หัวใจหลักของการเชื่อมต่อโลกดิจิทัลและกลยุทธ์ขับเคลื่อนซอฟต์แวร์สมัยใหม่
เจาะลึกการใช้งานจริง เปลี่ยนจาก “แค่เฝ้าระวัง” เป็น “ตอบโต้อัตโนมัติ” ด้วย SOAR และ SIEM ยกระดับมาตรฐาน SOC ไทยสู่ระดับสากล
เปลี่ยนมือถือให้เป็นเลขาฯ ส่วนตัว! รวมแอป Productivity มาแรงที่คนสำเร็จระดับโลกเลือกใช้ (Update 2026)
ทำเงินจาก AI ไม่ใช่เรื่องเพ้อฝัน! เปิดโพยแอปสร้างรายได้เสริมที่ฮิตที่สุดในปี 2026 (ใช้ได้จริง ไม่จกตา)
รีวิว FortiGate 70G ขุมพลัง SASE ยุคใหม่ เล็กพริกขี้หนูสำหรับธุรกิจไทย
5 ขั้นตอนออกแบบ Network บน Cloud ให้ปลอดภัยตามมาตรฐานสากล (Shared Responsibility Model