จำกัดความเร็วเน็ตต่อลูกค้าบน Mikrotik (queue / rate-limit) ครบทุกวิธี

·

หัวใจของการขายแพ็กเกจเน็ตคือ "จ่ายความเร็วให้ตรงกับที่ลูกค้าจ่ายเงิน" บทความนี้รวมวิธีจำกัดความเร็วต่อลูกค้าบน 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 เอง — ดูระบบ →

← กลับหน้าคลังความรู้