วิธีตั้งค่า MikroTik Captive Portal เชื่อม RADIUS Server สำหรับองค์กร
โรงแรมขนาด 60 ห้องแถวอ่าวนาง จังหวัดกระบี่ โทรหาผมตอนทุ่มครึ่ง บอกว่าเน็ตช้าจนแขกโวยวาย พอผมรีโมทเข้าไปเช็กใน MikroTik RouterBoard เดิมของร้าน พบว่าช่างคนก่อนหน้าใช้วิธีสร้าง Username และ Password เก็บไว้ใน Memory ของตัว MikroTik ตรงๆ รวมแล้วเกือบพันแอคเคานต์ ส่งผลให้ CPU โหลดกระฉูด 100% ตลอดเวลา ยิ่งช่วงทุ่มถึงสี่ทุ่มที่แขกกลับเข้าห้องพัก ระบบหน้าล็อกอิน Captive Portal เด้งช้าจนหลุดกันหมด
นี่คือจุดเปลี่ยนที่ผมมักจะเตือนลูกค้าเสมอครับว่า การบริหารจัดการ WiFi Hotspot สำหรับองค์กร โรงแรม หรือหอพักขนาดใหญ่ ไม่ควรฝากฐานข้อมูลผู้ใช้ไว้ที่ตัว Router เพียงอย่างเดียว แต่เราต้องแยกส่วนการยืนยันตัวตน ออกไปให้ RADIUS Server ทำหน้าที่แทน
ทำไมต้องแยก RADIUS Server ออกจาก MikroTik?
ในงานติดตั้ง Network Infrastructure ระดับมืออาชีพ MikroTik มีหน้าที่หลักคือการทำ Routing, NAT และเป็น Captive Portal Gateway คอยดักจับ Traffic เพื่อแสดงหน้าล็อกอิน แต่เมื่อไหร่ที่คุณต้องจัดการผู้ใช้งานมากกว่า 100-200 Active Users การโยนภาระตรวจสอบรหัสผ่านและเก็บ Log การใช้งานให้ RADIUS Server มีข้อดีชัดเจน 3 ข้อครับ:
- ลดภาระ CPU และ RAM ของ RouterBoard: ให้ Router โฟกัสเรื่อง Routing และ Traffic Control ส่วนเรื่องตรวจสอบ Password ให้ภายนอกจัดการ
- รวมศูนย์ฐานข้อมูล (Centralized Database): หากคุณมี Router หลายตัวในอาคารต่าง ๆ ผู้ใช้สมัครบัญชีเดียวสามารถ Roaming ไปใช้งานได้ทุกจุด โดยอ้างอิงฐานข้อมูล RADIUS ชุดเดียวกัน
- เก็บ Log ตรงตาม พ.ร.บ.คอมพิวเตอร์: RADIUS Server สามารถบันทึก Accounting Data ทั้ง IP, MAC Address, เวลาเข้า-ออก และปริมาณ Data Transfer ลงในตู้เซิร์ฟเวอร์ความจุสูงได้สบายๆ
หลักการทำงานระหว่าง MikroTik Captive Portal และ RADIUS
กระบวนการทำงานง่ายๆ ที่ผมอยากให้เห็นภาพคือ เมื่ออุปกรณ์ของแขกเชื่อมต่อ WiFi Hotspot ตัว MikroTik จะดึงหน้า Captive Portal ขึ้นมา พอผู้ใช้กรอก Username และ Password กด Login ตัว MikroTik จะส่งแพ็กเกจที่เรียกว่า Access-Request ผ่าน Port 1812 ไปยัง RADIUS Server เพื่อถามว่า รหัสนี้ถูกต้องไหม? ถ้าถูกต้อง RADIUS จะตอบกลับด้วย Access-Accept พร้อมส่ง User Profile เช่น ความเร็วเน็ต หรือ Session Timeout กลับมาให้ MikroTik บังคับใช้ทันที
ขั้นตอนการตั้งค่า MikroTik Captive Portal ร่วมกับ RADIUS Server
มาดูขั้นตอนการเซ็ตอัปจริงผ่านโปรแกรม WinBox ที่ผมใช้ทำงานหน้างานเป็นประจำกันครับ
ขั้นที่ 1: ตั้งค่า RADIUS Client บน MikroTik
เปิด WinBox เข้าไปยัง MikroTik แล้วทำตามเมนูดังนี้:
- ไปที่เมนู RADIUS ด้านซ้ายมือ กดเครื่องหมาย + (Add)
- ในช่อง Service ให้ติ๊กเลือก hotspot เพื่อใช้กับการยืนยันตัวตน WiFi Hotspot
- ช่อง Address: ใส่ IP Address ของ RADIUS Server เช่น 192.168.10.50
- ช่อง Secret: ใส่ Pre-Shared Key รหัสผ่านลับที่ตั้งไว้ตรงกันระหว่าง MikroTik และ RADIUS Server
- ช่อง Authentication Port: ใส่ 1812 และ Accounting Port: ใส่ 1813
- ช่อง Timeout: ปรับเป็น 3000ms เพื่อป้องกันกรณี Network Latency
ขั้นที่ 2: เปิดใช้งาน RADIUS ใน Hotspot Server Profile
เมื่อสร้างข้อต่อ RADIUS Client แล้ว เราต้องสั่งให้ตัว Hotspot ดึง RADIUS ไปใช้งานครับ:
- ไปที่เมนู IP > Hotspot > แถบ Server Profiles
- ดับเบิ้ลคลิก Profile ของ Hotspot ที่เราใช้งานอยู่ เช่น hsprof1
- คลิกไปที่แถบ RADIUS ด้านบน
- ติ๊กถูกที่ช่อง Use RADIUS
- ตรงช่อง MAC Authentication Mode ให้เลือกเป็น MAC as Username หรือปรับตามรูปแบบของ RADIUS ที่ออกแบบไว้
- กด Apply และ OK
ขั้นที่ 3: ตั้งค่า Interim Update สำหรับ Accounting Log
เพื่อความถูกต้องในการเก็บข้อมูลจราจรทางคอมพิวเตอร์ ให้ RADIUS บันทึกสถานะออนไลน์อย่างต่อเนื่อง:
- ในหน้า Server Profiles แถบ RADIUS เดียวกัน ให้สังเกตช่อง Interim Update
- ตั้งค่าเป็น 00:05:00 ซึ่งเป็นการส่งสัญญาณบอก RADIUS ทุกๆ 5 นาที เพื่อให้ RADIUS อัปเดตปริมาณ Data และสถานะว่าผู้ใช้นั้นยังออนไลน์อยู่
ประสบการณ์หน้างาน: 2 สิ่งที่ช่างเน็ตเวิร์กมักพลาด
จากประสบการณ์ที่ผมไปแก้ให้อพาร์ตเมนต์และโรงแรมหลายแห่ง สิ่งที่ทำให้ระบบล่มหรือไม่เด้งหน้าล็อกอินมี 2 จุดหลักๆ ครับ:
1. ลืมเปิด Incoming RADIUS (CoA/DM): หากเราต้องการสั่งตัดเน็ตผู้ใช้จากฝั่ง RADIUS Server เช่น หมดเวลา หรือแบนผู้ใช้ ต้องไปที่เมนู RADIUS > ปุ่ม Incoming แล้วติ๊ก Accept พร้อมเช็ก Port 3799 ให้เรียบร้อย ไม่งั้น RADIUS จะสั่ง disconnect ผู้ใช้ไม่ได้
2. Walled Garden ขาดหาย: หน้า Captive Portal บางแห่งมีรูปภาพหรือสคริปต์ภายนอก หากไม่ใส่ IP RADIUS หรือ Domain ในเมนู IP > Hotspot > Walled Garden ผู้ใช้จะไม่สามารถโหลดหน้าล็อกอินได้สมบูรณ์
สรุป
การ ตั้งค่า MikroTik Captive Portal ร่วมกับ Radius Server เป็นมาตรฐานสำคัญในการทำระบบ WiFi Hotspot สำหรับองค์กรที่ต้องการความเสถียร รองรับผู้ใช้งานจำนวนมาก และปฏิบัติตามกฎหมายได้อย่างสบายใจ หากคุณกำลังเจอปัญหา MikroTik ช้า หลุดบ่อย หรือต้องการออกแบบระบบ RADIUS สำหรับธุรกิจ ลองนำวิธียกภาระนี้ไปปรับใช้ดูครับ หรือหากต้องการผู้เชี่ยวชาญวางระบบให้ SIAM-LOGIN ยินดีให้คำปรึกษาเสมอครับ
คำถามที่พบบ่อยเกี่ยวกับบทความนี้ (FAQ)
Q: ถ้า RADIUS Server ล่ม ผู้ใช้ยังใช้งาน WiFi Hotspot ผ่าน MikroTik ได้ไหม?
หาก RADIUS Server ไม่ตอบสนอง ผู้ใช้ใหม่จะไม่สามารถยืนยันตัวตนผ่านหน้า Captive Portal ได้ครับ เว้นแต่จะมีการตั้งค่า Backup RADIUS Server หรือเปิดโหมด Local Fallback บน MikroTik เอาไว้
Q: ทำไมตั้งค่า RADIUS บน MikroTik แล้วกด Login แต่หน้าเว็บแจ้งเตือน Radius Server not responding?
สาเหตุหลักเกิดจาก 3 ส่วนคือ IP Address ของ RADIUS Server ใส่ผิด, รหัสผ่าน Secret ไม่ตรงกัน หรือมี Firewall ฝั่ง Server บล็อก Port 1812 และ 1813 อยู่ครับ
Q: การส่ง Interim Update ทุก 5 นาที ทำให้ MikroTik ทำงานหนักขึ้นไหม?
ส่งผลน้อยมากครับ เพราะแพ็กเกจ UDP Accounting มีขนาดเล็กมาก แต่ข้อดีคือทำให้ฝั่ง RADIUS ได้ข้อมูล Data Usage และ Log ที่แม่นยำ ป้องกันกรณีไฟดับแล้ว Log หายครับ
ต้องการความช่วยเหลือหรือจ้างวางระบบ Network?
ทีมวิศวกร SIAM-LOGIN ยินดีให้คำปรึกษา ออกแบบระบบ และจัดส่งทีมเข้าติดตั้งหน้างาน