Hour 389: PPPoE Client/Server

One of the technologies I have never touched in a prod environment is the PPPoE Client/Server configuration. I think this is because PPPoE is mostly used in Service Provider environments and I have only worked in Enterprise environments. If you don’t configure this often, it can be hard to understand and remember the configuration steps required. Today, I’ll lay out the easiest way to configure this with a static IP (IPCP).

First, let’s talk a little bit how PPPoE works. PPP over Ethernet (PPPoE) will have 2 configurations, the client and the server.

The client will not have any IP’s configured on it. Instead, it will have a dialer interface to receive its IP address from the PPPoE server through IPCP. The configuration will be like this:

int dialer 1

mtu 1492

! It is recommended to set the MTU 1492 because PPPoE adds an 8 byte encapsulation header. We want  to avoid MTU problems by configuring this.

encapsulation ppp

! Don’t forget to set the encapsulation to PPP because by default Cisco devices will try to negotiate through HDLC

ip add negotiated

! This could be set to DHCP instead of negotiated to get a DHCP address instead of a IPCP

dialer pool 1

! Here we are creating the dialer pool that will be associated with the interface that faces the PPPoE Server

dialer persistent

! This is set to have the dialer try to establish a connection automatically

int f0/0

pppoe enable group global

pppoe-client dial-pool-number 1

no shut

! The first command is to set the interface to use PPPoE, the second is to have  PPPoE be a client and use dialer pool 1


Continue reading