ติดตั้งลูกค้าทีต้องตั้งค่าเราเตอร์เอง — ใส่ user/รหัส PPPoE, ตั้งชื่อ WiFi, อัปเฟิร์มแวร์ — พอลูกค้าหลักร้อยเริ่มไม่ไหว ทุกปัญหาเล็ก ๆ ต้องวิ่งไปหน้าบ้าน บทความนี้แนะนำ TR-069 + GenieACS ที่ให้คุณตั้งค่า/ดูแลเราเตอร์ลูกค้า จากระยะไกลอัตโนมัติ
เหมาะกับ: ISP ที่ลูกค้าเริ่มเยอะจนการวิ่งตั้งค่า/แก้เราเตอร์ทีละบ้านเริ่มไม่คุ้ม
TR-069 คืออะไร (เข้าใจใน 1 นาที)
TR-069 (CWMP) คือโปรโตคอลให้ เราเตอร์/ONT ลูกค้า (CPE) คุยกับ เซิร์ฟเวอร์กลาง (ACS) ของคุณ — ACS สั่ง CPE ได้จากระยะไกล:
- จ่าย user/รหัส PPPoE อัตโนมัติตอนเครื่องออนไลน์ครั้งแรก (zero-touch)
- ตั้ง/แก้ ชื่อ WiFi + รหัส จากส่วนกลาง
- อัปเฟิร์มแวร์ ทีละหลาย ๆ เครื่อง
- รีบูต/รีเซ็ต/ดูสถานะ จากระยะไกล → ลดการวิ่งหน้าไซต์
ACS ที่นิยม (โอเพนซอร์ส) คือ GenieACS
ทำงานยังไง
[CPE ลูกค้า] --Inform (บูต/รายคาบ)--> [ACS = GenieACS] --Set parameter--> [CPE ตั้งค่าตามที่สั่ง]
- CPE ถูกตั้ง ACS URL ให้ชี้มาที่ GenieACS ของคุณ (+ เปิด TR-069)
- CPE ส่ง Inform ตอนบูต/ตามรอบ
- ACS จับคู่อุปกรณ์ → ใช้ preset/สคริปต์ provision สั่งตั้งค่า (เช่นจ่าย PPPoE/WiFi)
- CPE ทำตาม แล้วรายงานผลกลับ
ตัวอย่าง parameter ที่ใช้บ่อย
| สิ่งที่ตั้ง | TR-069 parameter (แนวทาง) |
|---|---|
| user PPPoE | ...WANPPPConnection.1.Username |
| รหัส PPPoE | ...WANPPPConnection.1.Password |
| ชื่อ WiFi (SSID) | ...WLANConfiguration.1.SSID |
| รหัส WiFi | ...WLANConfiguration.1.PreSharedKey |
(path เต็มขึ้นต้น InternetGatewayDevice. หรือ Device. แล้วแต่ data model ของรุ่น)
ภาพรวมการติดตั้ง GenieACS
GenieACS รันบนเซิร์ฟเวอร์ (Node.js + MongoDB) มี 4 ส่วนหลัก:
- cwmp (พอร์ต 7547) — รับ-คุยกับ CPE
- nbi (7557) — API ให้ระบบอื่นเรียก
- fs (7567) — แจกไฟล์เฟิร์มแวร์
- ui (3000) — หน้าจอจัดการ
ขั้นตอนคร่าว ๆ:
- ติดตั้ง GenieACS + MongoDB บนเซิร์ฟเวอร์
- ชี้ CPE มาที่ ACS URL (ผ่าน DHCP option 43, ตั้งในเฟิร์มแวร์ ONT, หรือ default ของรุ่น)
- สร้าง preset/provision เช่น "พอเครื่อง inform → set PPPoE user/รหัส ตามลูกค้า"
- จัดการ/มอนิเตอร์อุปกรณ์ในหน้า UI
⚠️ ความปลอดภัย: ใช้ HTTPS + auth ระหว่าง CPE↔ACS เสมอ (มี credential วิ่งอยู่) และระวังเรื่อง Connection Request เวลา CPE อยู่หลัง NAT
TR-069 กับ PPPoE/RADIUS ต่างกันยังไง
- PPPoE/RADIUS = ตรวจสิทธิ์ + จ่าย IP/ความเร็ว (ใครเข้าได้ เร็วเท่าไร)
- TR-069 = จัดการ ตัวกล่อง CPE (ตั้งค่า WiFi/เฟิร์มแวร์/รีบูต)
สองอย่างนี้ เสริมกัน ไม่ทับกัน — RADIUS ดูแล "การเชื่อมต่อ", TR-069 ดูแล "อุปกรณ์ลูกค้า"
แก้ปัญหาที่เจอบ่อย
| อาการ | สาเหตุ/วิธีแก้ |
|---|---|
| CPE ไม่ inform เข้า ACS | ACS URL ผิด • ไฟร์วอลล์บล็อก 7547 • CPE ไม่ได้เปิด TR-069 |
| ตั้ง parameter แล้วไม่เปลี่ยน | path/data model ไม่ตรงรุ่น CPE • preset เงื่อนไขไม่แมตช์ |
| สั่ง reboot/Connection Request ไม่ได้ | CPE อยู่หลัง NAT — พึ่ง periodic inform แทน |
| รุ่น CPE ไม่รองรับ | เช็กว่าเราเตอร์/ONT รองรับ TR-069 ก่อนซื้อล็อตใหญ่ |
สรุป
TR-069 + GenieACS เปลี่ยน "วิ่งไปตั้งค่าเราเตอร์ทีละบ้าน" เป็น "ตั้งจากส่วนกลางอัตโนมัติ" — จ่าย PPPoE/WiFi, อัปเฟิร์มแวร์, รีบูต, ดูสถานะ จากที่เดียว ยิ่งลูกค้าเยอะยิ่งประหยัดเวลา/ค่าเดินทาง คู่กับ PPPoE/RADIUS แล้วได้ระบบที่ทั้ง "เชื่อมต่อ" และ "ดูแลอุปกรณ์" อัตโนมัติครบ
💡 อยากได้ zero-touch provisioning โดยไม่ต้องดูแล ACS เอง? thaiISP เชื่อม TR-069 จ่ายค่า PPPoE/WiFi ให้เราเตอร์ลูกค้าอัตโนมัติ ผูกกับข้อมูลลูกค้า/บิลในระบบเดียว ลดการวิ่งหน้าไซต์ — ดูระบบ →
