Captive Portal คือ ประตูทางเข้าเสมือน (Virtual Gateway) ที่ใช้ในการบังคับให้ผู้ใช้งานที่เชื่อมต่อเข้าสู่เครือข่าย Wi-Fi สาธารณะ (Guest/Hotspot Networks) ต้องดำเนินการบางอย่างบนหน้าเว็บที่ถูกควบคุมก่อน จึงจะได้รับอนุญาตให้เข้าถึงอินเทอร์เน็ตได้อย่างสมบูรณ์

โดยพื้นฐานแล้ว นี่ไม่ใช่เพียงแค่หน้าเข้าสู่ระบบทั่วไป แต่เป็นกลไกการควบคุมการเข้าถึงเครือข่ายที่ซับซ้อน
กลไกการทำงานเชิงลึก: “การจับ” และ “การนำทาง”
การทำงานของ Captive Portal ไม่ได้อาศัยเพียงแค่การตั้งค่าในเราเตอร์ แต่เป็นการประสานงานขององค์ประกอบหลายส่วนในระดับเครือข่าย:
- การเชื่อมต่อเบื้องต้น (Initial Connection):
- เมื่ออุปกรณ์ของผู้ใช้เชื่อมต่อเข้ากับ Wi-Fi (เช่น UniFi, Cisco หรือระบบจัดการ Hotspot อื่นๆ) อุปกรณ์นั้นจะถูกจัดอยู่ในสถานะ “รอดำเนินการ” (Pending) หรือ “ไม่ได้รับอนุญาต” (Unauthorized) ภายในระบบควบคุมเครือข่าย (เช่น UniFi Controller หรือ Access Controller)
- ในขั้นตอนนี้ อุปกรณ์จะได้รับ IP Address ตามปกติ แต่การเข้าถึงเครือข่ายภายนอก (อินเทอร์เน็ต) จะถูกจำกัดอย่างเข้มงวด
- การดักจับทราฟฟิก (Traffic Interception):
- Firewall Rules (เช่น iptables): ระบบควบคุมจะทำการสร้างกฎ Firewall พิเศษบนอุปกรณ์เครือข่าย (เช่น Access Point หรือ Gateway) เพื่อดักจับทราฟฟิกขาออกของผู้ใช้ที่อยู่ในสถานะ Pending
- การ Redirect (การนำทาง): เมื่อผู้ใช้พยายามเปิดเบราว์เซอร์และเข้าชมเว็บไซต์ใดๆ (เช่น [http://www.example.com](http://www.example.com)) กฎ Firewall จะทำงาน:
- HTTP (พอร์ต 80): ทราฟฟิก HTTP จะถูกดักจับและส่งไปยังบริการเฉพาะทางในระบบ Captive Portal (เรียกว่า Redirector หรือ Walled Garden) ซึ่งบริการนี้จะตอบกลับด้วยรหัส HTTP 302 (Found) หรือ 307 (Temporary Redirect) พร้อมระบุที่อยู่ของหน้า Captive Portal จริง (Splash Page)
- HTTPS (พอร์ต 443): ในการตั้งค่าสมัยใหม่ที่มีความปลอดภัยสูงกว่า ทราฟฟิก HTTPS ก็จะถูกดักจับด้วย แต่การ redirect ทำได้ยากกว่า HTTP เนื่องจากมีการเข้ารหัส (TLS/SSL) วิธีแก้ปัญหาที่พบบ่อยคือการใช้ DNS Interception หรือการอนุญาตให้เข้าถึงเฉพาะโดเมนของ Portal เท่านั้น (Pre-Authorization List หรือ Walled Garden)
- Walled Garden (สวนที่มีกำแพงล้อม):
- ก่อนที่ผู้ใช้จะได้รับการอนุญาต ระบบจะเปิดช่องทางการสื่อสารเฉพาะบางอย่างให้ (อนุญาต IP หรือ Domain ที่เฉพาะเจาะจง) ซึ่งช่องทางเหล่านี้เรียกว่า Walled Garden
- วัตถุประสงค์: เพื่อให้ผู้ใช้สามารถโหลดหน้าเว็บ Captive Portal และ Asset ที่เกี่ยวข้องทั้งหมด (รูปภาพ, CSS, JavaScript) รวมถึงเซิร์ฟเวอร์ Authentication ภายนอก (RADIUS) ได้อย่างถูกต้อง โดยที่ยังเข้าอินเทอร์เน็ตทั่วไปไม่ได้
- การตรวจสอบสิทธิ์ (Authentication):
- เมื่อผู้ใช้กรอกข้อมูล (รหัสผ่าน, ยอมรับเงื่อนไข, รหัส Voucher, หรือ SMS) ข้อมูลนี้จะถูกส่งไปยัง Authentication Server ซึ่งมักจะเป็นเซิร์ฟเวอร์ RADIUS (Remote Authentication Dial-In User Service)
- RADIUS: เซิร์ฟเวอร์ RADIUS จะทำการตรวจสอบข้อมูลประจำตัวกับฐานข้อมูล (เช่น Active Directory, ฐานข้อมูลผู้ใช้ภายใน, หรือระบบ Voucher) และส่งผลลัพธ์กลับไปยังระบบควบคุมเครือข่าย
- การอนุญาต (Authorization):
- หากการตรวจสอบสิทธิ์สำเร็จ ระบบควบคุมเครือข่ายจะส่งคำสั่งไปยังอุปกรณ์เครือข่าย (เช่น Access Point) ให้เปลี่ยนสถานะของผู้ใช้จาก “Pending” เป็น “Authorized”
- การอนุญาตนี้ทำได้โดย:
- การลบ/แก้ไข Firewall Rules: ลบกฎ iptables หรือ ACLs ที่ใช้ในการ redirect ทราฟฟิกของผู้ใช้รายนั้นออก ทำให้ทราฟฟิกสามารถออกสู่โลกภายนอกได้
- Dynamic VLAN Assignment: ในระบบที่ซับซ้อน อาจมีการย้ายผู้ใช้ไปยัง VLAN ที่แตกต่างกัน (เช่น Guest VLAN เป็น Authorized VLAN) ซึ่งมีนโยบายการเข้าถึงอินเทอร์เน็ตที่เปิดกว้างกว่า
ข้อมูลเชิงลึกที่ไม่ค่อยมีใครพูดถึง
- ปัญหา HTTPS และ HSTS: (High-Profile Unspoken Problem)
- ระบบสมัยใหม่ส่วนใหญ่ใช้ HTTPS และเบราว์เซอร์มีกลไก HSTS (HTTP Strict Transport Security) ซึ่งบังคับให้การเชื่อมต่อต้องเป็น HTTPS เท่านั้น
- เมื่อ Captive Portal พยายาม redirect ทราฟฟิก HTTPS ไปยังหน้า HTTP หรือ HTTPS ที่มีใบรับรองที่ไม่ถูกต้อง เบราว์เซอร์จะแสดงคำเตือนด้านความปลอดภัย (Certificate Error) หรือบล็อกการเชื่อมต่อทั้งหมด นี่เป็นสาเหตุหลักที่ทำให้ Captive Portal ไม่แสดงขึ้นมาทันที และผู้ใช้ต้องเข้าเว็บไซต์ที่ไม่ใช้ HTTPS โดยเฉพาะ (เช่น [http://neverssl.com](http://neverssl.com)) เพื่อให้การ redirect ที่ใช้ HTTP ทำงานได้สำเร็จ
- การตรวจจับอัตโนมัติ (Captive Portal Detection):
- อุปกรณ์สมัยใหม่อย่าง iOS และ Android มีกลไกอัจฉริยะในการตรวจจับ Captive Portal
- เมื่อเชื่อมต่อ Wi-Fi อุปกรณ์จะพยายามเข้าถึง URL เฉพาะ (เช่น [http://captiveportal.apple.com/hotspot-detect.html](http://captiveportal.apple.com/hotspot-detect.html) หรือ URL ของ Google)
- หากการเข้าถึงนี้ล้มเหลว หรือถูก redirect ไปยังหน้าอื่นที่ไม่ใช่หน้าตามที่คาดหวัง อุปกรณ์จะสรุปว่ามี Captive Portal อยู่และจะเปิดหน้าต่างเบราว์เซอร์ขนาดเล็ก (Mini-Browser) เพื่อให้ผู้ใช้ล็อกอินโดยตรง
- CoA (Change of Authorization):
- ในระบบ RADIUS ที่ทันสมัย การอนุญาตสิทธิ์ไม่ได้จบลงที่การเข้าสู่ระบบเท่านั้น
- หลังจากผู้ใช้ล็อกอินสำเร็จ RADIUS Server จะส่งข้อความ CoA กลับไปยังอุปกรณ์เครือข่าย (Network Access Device – NAD) เพื่อสั่งให้อุปกรณ์นั้นเปลี่ยนแปลงสิทธิ์การเข้าถึงของผู้ใช้ทันที (เช่น เปลี่ยน VLAN หรือเพิ่ม Bandwidth Quota) โดยไม่จำเป็นต้องให้ผู้ใช้ยกเลิกการเชื่อมต่อและเชื่อมต่อใหม่
Captive Portal จึงเป็นมากกว่าแค่การล็อกอิน มันคือเทคนิคเครือข่ายที่ใช้การดักจับทราฟฟิก, $\text{firewalling}$, และการทำงานร่วมกับ RADIUS เพื่อควบคุมสถานะการเข้าถึงของผู้ใช้ในระดับ Layer 3/Layer 4 อย่างชาญฉลาด