PPPoE can be configured in a many different ways. One of the simplest is demonstrated here. R1 is the client and R2 is the server.
Summary Steps:
Order of Operation is important!
For the client:
1. under the FastE interface, enable pppoe 'pppoe-enable'
2. create a dialer interface, assign an IP, encaps PPP, and associate the this interface to a dialer pool
3. under the FastE interface, associate this interface to the dialer pool
For the server:
1. enable vpdn 'vpdn enable', create a vpdn-group 'vpdn-group CISCO', under the group 'accept-dailin' to make it a server, designate a virtual-template 'virtual-template 1' and configure the protocol to pppoe 'protocol pppoe'
2. configure the virtual-template with an IP (note the default encaps for the Virtual template is ppp)
3. under the FastE interface, enable pppoe.
Config:
R1
interface FastEthernet1/0
no ip address
duplex auto
speed auto
pppoe enable group global
pppoe-client dial-pool-number 1
!
interface Dialer1
ip address 150.1.12.1 255.255.255.0
encapsulation ppp
dialer pool 1
dialer idle-timeout 0
dialer persistent
R2
vpdn enable
!
vpdn-group CISCO
! Default L2TP VPDN group
accept-dialin
protocol pppoe
virtual-template 1
!
interface FastEthernet1/0
no ip address
duplex auto
speed auto
pppoe enable group global
!
interface Virtual-Template1
ip address 150.1.12.2 255.255.255.0
!
For DocCD reference, under 12.2 configuration guides, Wide-Area Networking, Configuring Broadband Access... [DocCD Ref]