PPPoE Server and Client
Understand Point-to-Point Protocol over Ethernet (PPPoE), why ISPs use it, and how to configure both a server and client on RouterOS.
PPPoE Server and Client
PPPoE (Point-to-Point Protocol over Ethernet) is one of the most fundamental tunneling protocols used by Internet Service Providers (ISPs) worldwide to deliver fiber and DSL internet connections to homes and businesses.
What is PPPoE and Why is it Used?
At its core, PPPoE wraps traditional PPP (which was designed for dial-up serial links) inside an Ethernet frame. ISPs use PPPoE for three massive advantages:
- Authentication: A customer must provide a username and password to get online.
- Accounting: The ISP can track exactly how much data the user consumed and bill them accurately.
- Bandwidth Control: The ISP can dynamically assign a speed profile (e.g., 100Mbps down / 20Mbps up) when the user logs in.
Without PPPoE, an ISP would have to rely on complex DHCP reservations or static IPs, making billing and dynamic speed capping a nightmare.
1. Configuring a PPPoE Client
When you buy a router to connect to your ISP, you are acting as the Client.
/interface pppoe-client
add name=pppoe-out1 interface=ether1 user="myusername@isp.com" password="mypassword" use-peer-dns=yes add-default-route=yes disabled=no
- Go to PPP → Interfaces tab.
- Click [+] and select PPPoE Client.
- On the General tab, select the physical interface connected to the ISP (e.g.,
ether1). - On the Dial Out tab, enter your
UserandPassword. - Check Use Peer DNS and Add Default Route. Click OK.
2. Configuring a PPPoE Server
If you are an ISP or WISP (Wireless ISP), your core router will act as the Server, handing out IP addresses to your customers.
# 1. Create an IP Pool for customers
/ip pool add name=pppoe-pool ranges=10.10.10.2-10.10.10.254
# 2. Create a PPP Profile assigning the pool
/ppp profile add name=pppoe-profile local-address=10.10.10.1 remote-address=pppoe-pool
# 3. Create the PPPoE Server on an interface
/interface pppoe-server server add service-name=internet interface=ether2 default-profile=pppoe-profile disabled=no
# 4. Create a Secret (Username/Password) for a customer
/ppp secret add name="customer1" password="secretpassword" profile=pppoe-profile service=pppoe
- Go to IP → Pool and create a range of IPs for your customers.
- Go to PPP → Profiles. Add a new profile, set the Local Address (your router’s IP) and Remote Address (the Pool).
- Go to PPP → PPPoE Servers. Click [+], select the interface facing your customers, and select the Profile.
- Go to PPP → Secrets. Click [+] to create a user account for a customer.
References & Legal Disclaimer
This material is provided strictly for educational and conceptual purposes. Cisco, Juniper, MikroTik (RouterOS/SwOS), Ubiquiti (UniFi), and D-Link are registered trademarks of their respective owners.
The configurations presented here are based on official vendor documentation, RFC standards (like IETF BGP and OSPF RFCs), and standard networking field practices. Always consult your vendor's official documentation and test in a lab environment before deploying to production.