MikroTik PPPoE Script Generator for ISPs

By Madan Kc, ISP/GPON engineer at DG Link Network · Updated 13 November 2026

Quick answer: Fill in your LAN interface, gateway address, customer pool and plans, and this tool writes the RouterOS commands for a PPPoE server: an IP pool, one PPP profile with a speed limit per plan, the PPPoE server and, optionally, customer secrets. Paste the output into a MikroTik terminal. Try it on a lab router first.

PPPoE server script generator

Click Generate script.

What each command does

The generated pieces
CommandPurpose
/ip poolThe range of addresses handed to connected customers.
/ppp profileOne profile per plan: gateway address, pool, DNS and the speed limit.
/interface pppoe-server serverThe PPPoE service on the customer-facing interface.
/ppp secretThe customer login and the plan it uses.

Speed limit direction

In a PPP profile, rate-limit is written as rx/tx from the router’s point of view. That means upload/download for the customer: 10M/20M gives 10 Mbps up and 20 Mbps down. This tool takes upload first, then download, so you do not have to remember it.

Before you use it

FAQ

Is the generated script safe to paste into a live router?

Test it first on a lab router. It adds a pool, profiles, a PPPoE server and secrets. It does not remove anything, but a wrong interface or address range can still disturb a live network.

Does this work on RouterOS v6 and v7?

The commands used are the same in both. Check that your version supports the arguments by running the script on a test device.

Where do I paste the script?

Open New Terminal in WinBox, or an SSH session to the router, then paste the commands. See the 192.168.88.1 login guide if you need to log in first.

Are my passwords sent anywhere?

No. The script is built in your browser and nothing is uploaded. Still, treat any file that contains customer passwords as sensitive.

Related

Sources and testing: Syntax follows MikroTik RouterOS documentation for IP pools, PPP profiles, the PPPoE server and PPP secrets. I checked the generator output logic with test inputs but did not run the commands on a physical router, so review the script before using it.