Skip to content
MikroTik RouterOS Docs

PPPoE Client Configuration

For the impatient: create a PPPoE client with your ISP credentials.

/interface pppoe-client add interface=ether1 user=your_username password=your_password \
add-default-route=yes use-peer-dns=yes disabled=no name=pppoe-wan

Verify with:

/interface pppoe-client monitor pppoe-wan once

Look for status: connected with assigned IP addresses.

What this does: PPPoE (Point-to-Point Protocol over Ethernet) Client enables authenticated WAN connections commonly used by DSL, fiber, and cable ISPs. The client authenticates with a username/password and receives an IP address, default gateway, and DNS servers.

When to use this:

  • DSL/ADSL connections requiring PPPoE authentication
  • Fiber-to-the-home (FTTH) ISP connections
  • Any ISP requiring username/password authentication for WAN access
  • Replacing ISP-provided router with MikroTik

Prerequisites:

  • An Ethernet interface connected to ISP modem/ONT (bridge mode)
  • Username and password from your ISP
  • No IP address or DHCP client configured on the WAN interface
  • Modem/ONT configured in bridge mode (not router mode)

Ensure the WAN interface has no IP address assigned. PPPoE runs directly on the Ethernet layer.

/ip address print where interface=ether1

If any addresses exist, remove them:

/ip address remove [find interface=ether1]
/ip dhcp-client remove [find interface=ether1]

Create the PPPoE client with your ISP credentials:

/interface pppoe-client add interface=ether1 user=your_username password=your_password \
add-default-route=yes use-peer-dns=yes disabled=no name=pppoe-wan

This configuration will:

  • Create a PPPoE connection on ether1
  • Authenticate with your ISP credentials
  • Automatically add a default route when connected
  • Use DNS servers provided by the ISP

Monitor the PPPoE client to verify successful connection:

/interface pppoe-client monitor pppoe-wan once

Expected output:

status: connected
uptime: 1h23m45s
active-links: 1
encoding:
service:
ac-name: ISP-AC
ac-mac: AA:BB:CC:DD:EE:FF
mtu: 1480
mru: 1480
local-address: 203.0.113.25
remote-address: 203.0.113.1

Key indicators: status: connected with valid local-address and remote-address.

Enable masquerade NAT so LAN clients can access the internet:

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

If you prefer using your own DNS servers instead of ISP-provided ones:

/interface pppoe-client set pppoe-wan use-peer-dns=no
/ip dns set servers=1.1.1.1,8.8.8.8

For setups where PPPoE is the backup connection:

# Primary WAN via DHCP
/ip dhcp-client add interface=ether1 disabled=no default-route-distance=1
# Backup WAN via PPPoE
/interface pppoe-client add interface=ether2 user=backup_user password=backup_pass \
add-default-route=yes default-route-distance=2 use-peer-dns=no disabled=no name=pppoe-backup

Scenario: PPPoE with Specific Service Name

Section titled “Scenario: PPPoE with Specific Service Name”

Some ISPs require a specific service name:

/interface pppoe-client set pppoe-wan service-name="ISP_SERVICE"

To discover available services on the network:

/interface pppoe-client scan ether1

If your ISP requires PPPoE on a tagged VLAN:

# Create VLAN interface first
/interface vlan add interface=ether1 vlan-id=10 name=vlan10-wan
# Create PPPoE client on VLAN interface
/interface pppoe-client add interface=vlan10-wan user=myuser password=mypass \
add-default-route=yes disabled=no name=pppoe-wan

If your ISP supports baby jumbo frames for full 1500 MTU:

# Set underlying interface to 1508 bytes
/interface ethernet set ether1 mtu=1508
# Request 1500 MTU on PPPoE
/interface pppoe-client set pppoe-wan max-mtu=1500 max-mru=1500

Connect only when there’s outbound traffic (useful for metered connections):

/interface pppoe-client set pppoe-wan dial-on-demand=yes

Confirm your PPPoE client configuration is working:

/interface pppoe-client print where running

Expected: Shows R (running) flag and status=connected.

/interface pppoe-client monitor pppoe-wan once

Expected: Shows status: connected with valid IP addresses.

/ip route print where dst-address=0.0.0.0/0 gateway-status~"reachable"

Expected: Active default route via PPPoE gateway.

/tool ping 8.8.8.8 count=3

Expected: 3 packets transmitted, 3 received.

/tool dns-query google.com

Expected: Returns IP address(es) for google.com.

SymptomCauseSolution
Status stuck on “dialing”No PPPoE server respondingVerify modem is in bridge mode; check cable connection
Status stuck on “dialing”VLAN header issue on switch chipSet /interface ethernet switch port set switch1-cpu vlan-header=always-strip
Status “verifying password” then disconnectWrong credentialsDouble-check username/password with ISP
Status “verifying password” then disconnectWrong authentication methodTry different auth: /interface pppoe-client set pppoe-wan allow=pap,chap,mschap1,mschap2
Connected but no internetNAT not configuredAdd masquerade rule for pppoe-wan interface
Connected but some sites failMTU/MSS issuesEnable MSS clamping (see MTU Issues section)
Disconnects and won’t reconnect (v7.20+)Keepalive disabledSet keepalive-timeout=10 on PPPoE client
Connection drops periodicallyISP timeout or line qualityCheck ISP; verify keepalive-timeout setting

PPPoE adds 8 bytes overhead, reducing effective MTU to 1492 (or less). When Path MTU Discovery fails, TCP connections may hang.

Symptoms:

  • Some websites fail to load completely
  • Large downloads stall
  • Apps like Telegram or video calls fail

Solution - Enable MSS Clamping:

/ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn \
action=change-mss new-mss=clamp-to-pmtu passthrough=yes

Or via PPP profile (if using one):

/ppp profile set default change-tcp-mss=yes

Common Mistakes

  • Don’t configure IP address on the physical interface - PPPoE creates its own interface with IP
  • Don’t run DHCP client on the same interface - PPPoE and DHCP client conflict
  • Don’t forget the NAT rule - LAN clients need masquerade on the PPPoE interface, not the physical interface
  • Don’t set keepalive-timeout=0 on v7.20+ - This breaks MTU probing; use a positive value
StatusDescription
dialingSending PADI discovery packets, waiting for server
verifying passwordAuthentication in progress (LCP/PAP/CHAP)
connectedSession established, IP assigned
disconnectedSession not active
terminatingSession being closed
  • MikroTik PPPoE Documentation
  • Version changes:
    • v7.20: Keepalive behavior change affecting LCP echo/MTU probing
    • v7.0: Enhanced VLAN range support
PropertyTypeDefaultDescription
interfacestring-Physical interface for PPPoE (required)
userstring""Authentication username
passwordstring""Authentication password
service-namestring""Target service name (blank accepts any)
ac-namestring""Access Concentrator name (blank accepts any)
add-default-routeyes/nonoInstall default route when connected
default-route-distance0-2551Administrative distance for default route
use-peer-dnsyes/nonoAccept DNS servers from ISP
max-mtuinteger1460Maximum Transmission Unit
max-mruinteger1460Maximum Receive Unit
keepalive-timeoutinteger60LCP echo timeout in seconds
dial-on-demandyes/nonoConnect only when traffic detected
allowenummschap2,mschap1,chap,papPermitted authentication methods
disabledyes/noyesWhether client is disabled
CommandDescription
/interface pppoe-client addCreate a new PPPoE client
/interface pppoe-client printList all PPPoE clients with status
/interface pppoe-client monitorReal-time monitoring of connection
/interface pppoe-client setModify existing client configuration
/interface pppoe-client removeDelete a PPPoE client
/interface pppoe-client scanDiscover PPPoE servers on an interface
/interface pppoe-client enableEnable a disabled client
/interface pppoe-client disableDisable an active client

PPPoE Client enables authenticated WAN connections for DSL, fiber, and cable ISPs:

  1. Prepare interface - Remove any IP addresses or DHCP client from WAN port
  2. Create client with ISP credentials, add-default-route=yes, use-peer-dns=yes
  3. Add NAT masquerade rule for the PPPoE interface (not the physical interface)
  4. Verify with /interface pppoe-client monitor for status: connected

Key points:

  • Modem/ONT must be in bridge mode (not router mode)
  • Don’t configure IP on the physical interface - PPPoE creates its own interface
  • PPPoE adds 8 bytes overhead (MTU typically 1492); enable MSS clamping for reliability
  • Use scan to discover available PPPoE services on a network
  • For v7.20+, keep keepalive-timeout set to a positive value (breaks MTU probing if disabled)
  • For ISP-required VLANs, create VLAN interface first then run PPPoE on it