หัวใจของการขายแพ็กเกจเน็ตคือ "จ่ายความเร็วให้ตรงกับที่ลูกค้าจ่ายเงิน" บทความนี้รวมวิธีจำกัดความเร็วต่อลูกค้าบน Mikrotik ทุกแบบ ตั้งแต่ง่ายสุดไปจนสเกลได้จริง พร้อมบอกว่าควรใช้แบบไหนเมื่อลูกค้าเริ่มเยอะ
เหมาะกับ: คนที่ตั้ง PPPoE Server แล้ว และอยากผูกความเร็วกับแพ็กเกจ • ต่อยอดได้ดีถ้าทำ RADIUS ไว้
รูปแบบความเร็ว: อ่านให้ถูกก่อน
Mikrotik เขียนความเร็วเป็น อัปโหลด/ดาวน์โหลด (มุมลูกค้า) เช่น 50M/100M = อัป 50 / ดาวน์ 100 Mbps — จำตรงนี้ให้แม่น ไม่งั้นจะตั้งสลับ
วิธีที่ 1 — rate-limit ใน PPP profile (แนะนำสำหรับ PPPoE)
ผูกความเร็วกับ "แพ็กเกจ" แทนที่จะตั้งรายคน — สร้าง profile ต่อแพ็กเกจ แล้วผูก user เข้ากับ profile นั้น
/ppp profile
add name=pkg-100 rate-limit=50M/100M local-address=10.10.0.1 remote-address=pppoe-pool
add name=pkg-300 rate-limit=100M/300M local-address=10.10.0.1 remote-address=pppoe-pool
/ppp secret
set cust001 profile=pkg-100
เปลี่ยนแพ็กเกจลูกค้า = เปลี่ยน profile ที่ผูก จบ ไม่ต้องไปแก้ queue รายตัว
วิธีที่ 2 — Simple Queue (ทีละ IP/เป้าหมาย)
เหมาะกับเคสเฉพาะ (เช่นลิมิตเซิร์ฟเวอร์/ลูกค้าพิเศษ) แต่ ไม่เหมาะทำทีละคนเป็นร้อย เพราะจัดการยาก
/queue simple
add name=cust001 target=10.10.0.25/32 max-limit=50M/100M
target= IP ลูกค้า •max-limit=อัป/ดาวน์- ข้อเสีย: ต้องผูก IP รายคนเอง พอลูกค้าเยอะจะบาน → ใช้ profile/RADIUS ดีกว่า
วิธีที่ 3 — จ่ายความเร็วจาก RADIUS (สเกลดีสุด)
ถ้าทำ RADIUS แล้ว ส่ง attribute เดียวก็จบ ไม่ต้องแตะ Mikrotik เลย:
Mikrotik-Rate-Limit = "50M/100M"
เปลี่ยนแพ็กเกจ = แก้ค่าในบิลลิ่ง/RADIUS มีผลทุก Mikrotik ในระบบ — เหมาะกับลูกค้าหลักร้อย/พัน
วิธีที่ 4 — PCQ แบ่งแบนด์วิดท์แบบแฟร์ (กันคนเดียวกินหมด)
อยากให้ลูกค้าในกลุ่มเดียวกัน "แบ่งเท่า ๆ กัน" อัตโนมัติ ใช้ PCQ (Per Connection Queue) คู่กับ Queue Tree:
/queue type
add name=pcq-down kind=pcq pcq-rate=100M pcq-classifier=dst-address
add name=pcq-up kind=pcq pcq-rate=50M pcq-classifier=src-address
PCQ จะแบ่ง bandwidth ตามจำนวนคนที่ใช้จริงในขณะนั้น — เหมาะกับการคุมภาพรวมต่ออัปลิงก์
Burst: ให้เร็วแรงช่วงสั้น ๆ (ลูกค้ารู้สึกลื่น)
ใส่ burst ในรูปแบบ rate-limit แบบเต็ม — เร็วกว่าปกติช่วงไม่กี่วินาทีแรก (เปิดเว็บไว) แล้วค่อยลงมาที่ลิมิตจริง:
# max 50M/100M, burst 60M/120M ได้ราว 8 วิ
/ppp profile set pkg-100 rate-limit="50M/100M 60M/120M 50M/100M 8/8"
แก้ปัญหาที่เจอบ่อย
| อาการ | สาเหตุ/วิธีแก้ |
|---|---|
| ความเร็วสลับ (อัปเป็นดาวน์) | รูปแบบคือ อัป/ดาวน์ — สลับค่าแล้วทดสอบใหม่ |
| ตั้ง rate-limit แล้วไม่มีผล | มี Simple Queue/Queue Tree อื่นทับอยู่ • user ไม่ได้ผูก profile ที่ตั้ง |
| RADIUS ส่งแล้วไม่จำกัด | dictionary Mikrotik ไม่ถูกโหลด • พิมพ์ชื่อ attribute ผิด |
| ลูกค้าคนเดียวกินหมดทั้งกลุ่ม | ใช้ PCQ แบ่งแฟร์ |
| ความเร็วไม่นิ่ง | burst ตั้งแรงเกิน/threshold ผิด — ปรับค่าหรือถอด burst |
| ทำ Simple Queue รายคนแล้วเริ่มไม่ไหว | ย้ายไปผูกความเร็วที่ profile หรือ RADIUS |
สรุป
จำง่าย ๆ: ลูกค้าน้อย → rate-limit ใน PPP profile ต่อแพ็กเกจ, ลูกค้าเยอะ → จ่ายจาก RADIUS, อยากแบ่งแฟร์ภาพรวม → PCQ ส่วน Simple Queue เก็บไว้ใช้เคสเฉพาะ ตั้งให้ถูกตั้งแต่รูปแบบ อัป/ดาวน์ แล้วผูกกับแพ็กเกจ จะคุมความเร็วได้ตรงเงินที่เก็บ
💡 อยากให้ความเร็วผูกกับแพ็กเกจ/บิลอัตโนมัติ? thaiISP จัดการแพ็กเกจ จ่ายความเร็วผ่าน RADIUS ให้ตรงกับที่ลูกค้าจ่าย เปลี่ยนแพ็กเกจ-ต่ออายุ-ระงับ ทำในระบบเดียว ไม่ต้องแตะ queue เอง — ดูระบบ →
