How to Set Up a PPPoE Server on MikroTik: The Complete Guide for African ISPs (Uganda, Kenya, Tanzania)

MikroTik PPPoE server setup for African ISPs — RouterOS PPPoE configuration with bandwidth profiles, IP pools and ISP billing API integration for Uganda, Kenya and Tanzania

If you run an Internet Service Provider in Uganda, Kenya, or Tanzania, PPPoE (Point-to-Point Protocol over Ethernet) is the gold standard for subscriber authentication, dynamic IP assignment, and bandwidth control. Combined with a powerful ISP billing system, a properly configured MikroTik PPPoE server gives you full control over every subscriber on your network.

What Is PPPoE and Why Do African ISPs Use It?

PPPoE creates a virtual point-to-point connection between your router and each subscriber’s CPE. Every time a subscriber connects, it authenticates against your PPPoE server — enabling your ISP billing system to automatically suspend or reactivate services based on payment status.

  • Per-subscriber authentication — unique credentials per subscriber
  • Dynamic IP assignment — no manual IP management at scale
  • Automatic suspension — unpaid subscribers disconnected instantly
  • Bandwidth control — per-plan limits via PPPoE profiles
  • Session logging — track uptime, data usage, and reconnection events

Recommended Hardware

Cabling: Cat6 Flat Ethernet Cable (indoor) and Cat6 Indoor/Outdoor UTP Cable (outdoor). Browse the full MikroTik Routers collection.

Step 1: Enable the RouterOS API

Your ISP billing system communicates via the RouterOS API:

  1. Winbox → IP → Services
  2. Enable api (port 8728) or api-ssl (port 8729)
  3. Restrict to your billing server’s IP

Step 2: Create a Dedicated API User

  1. System → Users → +
  2. Username: billing-api, permissions: ppp, ip, queue, tool
  3. Allowed Address: billing server IP

Step 3: Configure the PPPoE Server

  1. PPP → PPPoE Servers → +
  2. Interface: subscriber-facing (e.g., ether2)
  3. Enable One Session Per Host + PAP/CHAP/MS-CHAP2

Step 4: Create PPPoE Profiles

One profile per plan — names must match your ISP billing system exactly:

  1. PPP → Profiles → +
  2. Rate Limit: e.g., 10M/10M for a 10 Mbps plan
  3. Remote Address: your subscriber IP pool

Step 5: Create IP Address Pools

  1. IP → Pool → +
  2. Name: PPPoE-Pool-Main, Range: 10.10.0.2-10.10.0.254

Step 6: Configure NAT Masquerade

  1. IP → Firewall → NAT → +
  2. Chain: srcnat | Out Interface: WAN | Action: masquerade

Step 7: Integrate with Your ISP Billing System

Connect to your ISP billing platform:

  • Enter router IP, API port, username, and password in the billing dashboard
  • Map billing plan names to PPPoE profile names (case-sensitive)
  • Enable auto-suspend and auto-reactivate for mobile money integration
  • Test the API connection from the billing dashboard

Troubleshooting

  • Can’t authenticate — verify service name matches on server and client
  • IP not assigned — verify pool is linked to the profile
  • Billing API unreachable — check firewall not blocking port 8728/8729
  • Subscribers not suspended — plan names must match RouterOS profiles exactly (case-sensitive)

Conclusion

A MikroTik PPPoE server combined with an automated ISP billing platform eliminates manual suspension and gives you complete per-subscriber control across Uganda, Kenya, and Tanzania.

Get started with our ISP billing system today →