Setting Up a PPPoE Client Connection to an ISP
PPPoE (Point-to-Point Protocol over Ethernet) is one of the most common ways ISPs deliver internet access, especially for DSL and fiber connections. Your MikroTik router connects to the ISP by authenticating with a username and password over an Ethernet link.
This guide walks you through setting up a PPPoE client on RouterOS v7.
What is PPPoE?
PPPoE wraps your internet traffic inside PPP frames that are sent over Ethernet. Your ISP assigns you an IP address after authentication. The key advantage is that PPPoE handles authentication centrally at the ISP side, so they know exactly who is connected.
Prerequisites
- A MikroTik router with at least one Ethernet port connected to the ISP modem or ONT (fiber box).
- Your ISP-provided PPPoE username and password.
Creating the PPPoE Client Interface
The command below creates a PPPoE client on ether1 (your WAN port):
/interface pppoe-client add name=pppoe-out1 interface=ether1 user=your_username password=your_password disabled=no add-default-route=yes use-peer-dns=yesParameter breakdown:
- name: Name for this PPPoE interface (e.g.,
pppoe-out1). - interface: The physical Ethernet port connected to the ISP (e.g.,
ether1). - user: Your PPPoE username from the ISP.
- password: Your PPPoE password from the ISP.
- disabled=no: Activates the connection immediately.
- add-default-route=yes: Automatically adds a default gateway through the PPPoE link.
- use-peer-dns=yes: Uses the DNS servers provided by the ISP after connection.
Verifying the Connection
After adding the interface, check its status:
/interface pppoe-client print detailLook for status: connected and an IP address assigned under remote-address. You can also run:
/ip address printYou should see a dynamic IP address on the pppoe-out1 interface.
Test connectivity from the router:
/ping 8.8.8.8MTU and MRU Considerations
PPPoE adds an 8-byte header to each Ethernet frame. Standard Ethernet MTU is 1500 bytes, so PPPoE effectively reduces usable MTU to 1492 bytes. If you leave MTU at 1500 on your LAN but the PPPoE link only supports 1492, large packets will be fragmented or dropped, causing slow speeds and issues with certain sites.
Fix with MSS Clamping
The best fix is to clamp the TCP Maximum Segment Size (MSS) so that TCP connections automatically negotiate a smaller packet size:
/ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn action=change-mss new-mss=clamp-to-pmtu passthrough=yes comment="PPPoE MSS fix"This rule modifies SYN packets so TCP connections use an MSS that fits inside the PPPoE MTU.
Manually Setting MTU
You can also set the MTU on the PPPoE interface explicitly:
/interface pppoe-client set pppoe-out1 mtu=1492 mru=1492Default Route via PPPoE
When add-default-route=yes is set, RouterOS automatically creates a default route pointing through the PPPoE interface. You can verify this:
/ip route printLook for a route with dst-address=0.0.0.0/0 and gateway=pppoe-out1.
If you have multiple WAN links, you may want to manage routes manually:
/interface pppoe-client set pppoe-out1 add-default-route=no
/ip route add dst-address=0.0.0.0/0 gateway=pppoe-out1 distance=1Handling Disconnections
PPPoE links can drop. RouterOS will try to reconnect automatically. To configure reconnection behavior:
/interface pppoe-client set pppoe-out1 dial-on-demand=noWith dial-on-demand=no (the default), the router always tries to keep the connection alive.
Protecting the WAN Interface
Since pppoe-out1 is your public-facing interface, make sure your firewall protects it:
/ip firewall filter add chain=input in-interface=pppoe-out1 connection-state=invalid action=drop
/ip firewall filter add chain=input in-interface=pppoe-out1 connection-state=established,related action=accept
/ip firewall filter add chain=input in-interface=pppoe-out1 action=dropSummary
- Create PPPoE client with
/interface pppoe-client add - Use
add-default-route=yesto route traffic through the ISP - Fix MTU issues with MSS clamping or by setting MTU to 1492
- Verify connection with
/interface pppoe-client print detailand/ping - Protect the PPPoE interface with firewall rules
PPPoE is simple to configure on MikroTik once you understand the parameters. Most ISP connections are up and running within minutes of entering your credentials.
