ตั้งค่า PPPoE Server บน Mikrotik ทีละขั้น (ฉบับ ISP / เน็ตหมู่บ้าน)

·

ถ้าคุณกำลังทำ ISP เล็ก ๆ หรือเน็ตหมู่บ้าน PPPoE คือหัวใจของการ "จ่าย user/password ให้ลูกค้าต่อเน็ต" และเป็นฐานของการเก็บเงินรายเดือน บทความนี้สอนตั้งค่า PPPoE Server บน Mikrotik ตั้งแต่ศูนย์ ทีละขั้น พร้อมคำสั่งที่ก๊อปไปใช้ได้เลย และวิธีแก้ปัญหาที่เจอบ่อย

เหมาะกับ: Mikrotik RouterOS v6/v7 ทุกรุ่น • ผู้เริ่มต้นทำ ISP

PPPoE ทำงานยังไง (เข้าใจใน 30 วินาที)

  • ลูกค้าเปิดเราเตอร์ → กรอก username/password → เราเตอร์ลูกค้า dial เข้า Mikrotik ผ่าน PPPoE
  • Mikrotik เป็น PPPoE Server ตรวจ user → จ่าย IP + ความเร็ว ตามแพ็กเกจ → ลูกค้าออกเน็ต
  • พอถึงรอบบิล: ถ้าไม่จ่าย ก็ "ปิด user" → เน็ตดับ (นี่คือจุดที่ระบบบิลลิ่งเข้ามาช่วยอัตโนมัติ — ดูท้ายบทความ)
[ลูกค้า + เราเตอร์] --PPPoE--> [Mikrotik = PPPoE Server] --> [Internet]

สิ่งที่ต้องมีก่อน

  • Mikrotik ต่อ อินเทอร์เน็ต (WAN) ได้แล้ว (เช่นออก ether1)
  • พอร์ต/บริดจ์ฝั่งลูกค้า (เช่น ether2 หรือ bridge ของพอร์ต access) — ในตัวอย่างใช้ ether2

⚠️ interface ของ PPPoE Server ต้องเป็นฝั่งลูกค้า ไม่ใช่ฝั่ง WAN (พลาดกันบ่อย)

ขั้นที่ 1 — สร้าง IP Pool (แจก IP ให้ลูกค้า)

/ip pool add name=pppoe-pool ranges=10.10.0.2-10.10.255.254

ขั้นที่ 2 — สร้าง PPP Profile

Profile = "แม่แบบ" ของลูกค้า (gateway, IP pool, DNS) ภายหลังจะผูกกับความเร็วแพ็กเกจก็ได้

/ppp profile
add name=pppoe-profile local-address=10.10.0.1 remote-address=pppoe-pool \
    dns-server=1.1.1.1,8.8.8.8 only-one=yes
  • local-address = IP ฝั่ง Mikrotik (gateway ของลูกค้า)
  • remote-address = pool ที่สร้างไว้
  • only-one=yes = 1 user ต่อได้ทีละ session (กันแชร์รหัส)

ขั้นที่ 3 — เปิด PPPoE Server บนพอร์ตฝั่งลูกค้า

/interface pppoe-server server
add service-name=thaiisp interface=ether2 default-profile=pppoe-profile \
    one-session-per-host=yes disabled=no
  • service-name = ชื่อบริการ (เราเตอร์ลูกค้าบางรุ่นต้องกรอกให้ตรง ปกติเว้นว่างได้)
  • interface=ether2 = พอร์ตฝั่งลูกค้า

ขั้นที่ 4 — เพิ่มผู้ใช้ (user ลูกค้า)

/ppp secret
add name=cust001 password=Secret#001 service=pppoe profile=pppoe-profile

ลูกค้าเอา cust001 / Secret#001 ไปกรอกในเราเตอร์ → ต่อเน็ตได้ทันที

ขั้นที่ 5 — เปิดทางออกเน็ต (NAT masquerade)

ถ้ายังไม่ได้ตั้ง ต้อง masquerade ออก WAN ไม่งั้น "ต่อ PPPoE ติด แต่เน็ตไม่ออก"

/ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade

จำกัดความเร็วตามแพ็กเกจ (Rate Limit)

ใส่ที่ profile (ทั้งกลุ่ม) หรือราย user ก็ได้ — รูปแบบคือ อัปโหลด/ดาวน์โหลด (มุมลูกค้า)

# แพ็กเกจ ดาวน์โหลด 100M / อัปโหลด 50M
/ppp profile set pppoe-profile rate-limit=50M/100M

💡 มีหลายแพ็กเกจ → สร้างหลาย profile (เช่น pkg-100, pkg-300, pkg-500) แล้วผูก user แต่ละคนกับ profile ของแพ็กเกจนั้น วิธีจำกัดความเร็วแบบละเอียด (queue/burst) อ่านต่อ: จำกัดความเร็วเน็ตต่อลูกค้าบน Mikrotik (บทความถัดไป)

ตรวจว่าลูกค้าออนไลน์อยู่ไหม

/ppp active print
/interface pppoe-server active print

แก้ปัญหาที่เจอบ่อย

อาการ สาเหตุ/วิธีแก้
ลูกค้าต่อ PPPoE ไม่ติด interface ตั้งผิด (ไปชี้ฝั่ง WAN) • ลืม disabled=noservice-name ไม่ตรงกับเราเตอร์ลูกค้า
ต่อติด แต่เน็ตไม่ออก ลืม masquerade (ขั้นที่ 5) • dns-server ไม่ได้ตั้งใน profile
ความเร็วไม่ตรงแพ็กเกจ สลับค่า rate-limit (รูปแบบคือ อัปโหลด/ดาวน์โหลด) — ลองสลับแล้วทดสอบ
user แชร์รหัสกันหลายคน ตั้ง only-one=yes ใน profile

ต่อไป: เปลี่ยนจาก "เพิ่ม user ด้วยมือ" เป็น "อัตโนมัติ"

วิธีข้างบนใช้ /ppp secret = เพิ่ม/ลบ user ด้วยมือทีละคน ซึ่งพอลูกค้าหลักร้อยจะเริ่มไม่ไหว — แก้ด้วยการให้ Mikrotik ตรวจ user จาก RADIUS แทน แล้วผูกกับระบบบิลลิ่ง:

  • ลูกค้าจ่ายเงิน → ระบบเปิด user อัตโนมัติ
  • ลูกค้าค้างจ่าย → ระงับสัญญาณอัตโนมัติ จ่ายแล้วคืนเอง
  • ออกใบแจ้งหนี้ + รับเงินผ่าน LINE / พร้อมเพย์ + ตรวจสลิปอัตโนมัติ

อ่านต่อ: เชื่อม Mikrotik กับ RADIUS เก็บเงินลูกค้าอัตโนมัติ

💡 เบื่อเพิ่ม/ลบ user แล้วไล่ทวงเงินเองทุกเดือน? thaiISP จัดการลูกค้า เก็บเงินผ่านไลน์/พร้อมเพย์ คุม OLT และระงับ-คืนสัญญาณอัตโนมัติ จบในระบบเดียว — ดูระบบ →

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