Configuring PPPoE

Posted on April 4, 2010

For my CCIE prep when doing the IE workbooks I had to configure PPPoE with “MD5 authentication”

Server side (the old way, we’ll see that in details after):

username OTHERROUTER password CISCO

vpdn enable
vpdn-group PPPOE
 accept-dialin
  protocol pppoe
  virtual-template 1

interface virtual-template 1
 ip address 1.1.1.1 255.255.255.0
 ppp authentication chap
 ppp chap hostname MYROUTER

interface GigaEthernet 0/0
 no ip address
 pppoe enable


Client Side (using Dialer after 12.2(15)T):

username MYROUTER password CISCO

interface GigaEthernet 0/0
 no ip address
 pppoe enable
 pppoe-client dial-pool-number 1

interface Dialer1
 ip address 1.1.1.2 255.255.255.0
 encapsulation ppp
 dialer pool 1
 dialer persistent
 ppp authentication chap
 ppp hostname OTHERROUTER

Client Side (using VPDN before 12.2(15)T):

username MYROUTER password CISCO

interface GigaEthernet 0/0
 no ip address
 pppoe enable
 pppoe-client dial-pool-number 1

interface Dialer1
 ip address 1.1.1.2 255.255.255.0
 encapsulation ppp
 dialer pool 1
 ppp authentication chap
 ppp hostname OTHERROUTER

vpdn enable
vpdn-group PPPOE
 request dial-in
  protocol pppoe

Thats basic stuff, but here comes the interesting part … When I was configuring the lab I made an error on the server side and started building a Dialer interface. When I noticed that I removed the Dialer and continued configured the vpdn.
Here comes the surprise, when I tried typing protocol ?

SPRack1R6(config-vpdn)#accept-dialin
SPRack1R6(config-vpdn-acc-in)#protocol ?
  any    Use any protocol
  l2f    Use L2F
  l2tp   Use L2TP
  pptp   Use PPTP

Missing something no? After some troubleshooting I couldn’f find what was going wrong so I did what all good engineer does in last ressort … Reboot !

After the reboot, first thing I did was protocol ? and …

SPRack1R6(config-vpdn)#accept-dialin
SPRack1R6(config-vpdn-acc-in)#protocol ?
  any    Use any protocol
  l2f    Use L2F
  l2tp   Use L2TP
  pppoe  Use PPPoE
  pptp   Use PPTP

In fact when I remove the Dialer I didn’t take notice of the little warning

SPRack1R6(config)#no int dial 1
% Not all config may be removed and may reappear after reactivating the logical-interface/sub-interfaces
%LINK-5-CHANGED: Interface Dialer1, changed state to administratively down

This seems to have blocked the PPPoE option …

For PPPoE you may have noticed that a route is added to the routing table

SPRack1R5(config-router)#do sh ip route | i Dialer1
C       24.1.56.0/24 is directly connected, Dialer1
C       24.1.56.6/32 is directly connected, Dialer1

This route is added by PPP in the event where the peers are not in the same subnet. Now this can cause an issue if you have other peers in the same subnet. Hopefully for us this can be disabled by no peer neighbor-route

SPRack1R5(config-router)#int dialer1
SPRack1R5(config-if)#no peer neighbor-route
SPRack1R5(config-if)#shut
%DIALER-6-UNBIND: Interface Vi2 unbound from profile Di1
Di1 DDR: dialer shutdown complete
SPRack1R5(config-if)#no shut
%LINK-3-UPDOWN: Interface Virtual-Access2, changed state to down
%LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access2, changed state to down
SPRack1R5(config-if)#no shut
SPRack1R5(config-if)#
%LINK-5-CHANGED: Interface Dialer1, changed state to administratively down
SPRack1R5(config-if)#
%LINK-3-UPDOWN: Interface Dialer1, changed state to up
SPRack1R5(config-if)#
%DIALER-6-BIND: Interface Vi2 bound to profile Di1
SPRack1R5(config-if)#
%LINK-3-UPDOWN: Interface Virtual-Access2, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access2, changed state to up
SPRack1R5(config-if)#do sh ip route | i Dialer1
C       24.1.56.0/24 is directly connected, Dialer1
SPRack1R5(config-if)#

Another interesting fact, I’m running version 12.4(23) and when configuring the vpdn I got a few warning messages

SPRack1R6(config)#vpdn-group PPPOE
SPRack1R6(config-vpdn)#accept-dialin
SPRack1R6(config-vpdn-acc-in)#protocol pppoe
% PPPoE config from vpdn-group is converted to pppoe-profile based config.
% Continue PPPoE configuration under 'bba-group pppoe global'
SPRack1R6(config-vpdn-acc-in)#
%LINK-3-UPDOWN: Interface Virtual-Access2, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access2, changed state to up
SPRack1R6(config-vpdn-acc-in)#int gi 0/0
SPRack1R6(config-if)#en
SPRack1R6(config-if)#pppoe en
SPRack1R6(config-if)#no shut
%LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up
SPRack1R6(config-if)#vpdn-group PPPOE
SPRack1R6(config-vpdn)#accept-dialin
SPRack1R6(config-vpdn-acc-in)#virtual-template 1
% PPPoE config from vpdn-group is converted to pppoe-profile based config.
% Continue PPPoE configuration under 'bba-group pppoe global'

And my config changed

version 12.4
!
hostname SPRack1R6
vpdn enable
!
bba-group pppoe global
 virtual-template 1
!
interface GigabitEthernet0/0
 no ip address
 duplex auto
 speed auto
 pppoe enable group global
!
interface Virtual-Template1
 ip address 24.1.56.6 255.255.255.0
 ppp authentication chap
 ppp chap hostname AS100
!

And that is expected ! As I said I’m running 12.4(23), but I used the configuration for IOS before 12.2(15)T so the IOS corrected my config to the new format.

I should have done this config at the beggining for this IOS

bba-group pppoe global
 virtual-template 1
!
interface GigabitEthernet0/0
 no ip address
 duplex auto
 speed auto
 pppoe enable group global
!
interface Virtual-Template1
 ip address 24.1.56.6 255.255.255.0
 ppp authentication chap
 ppp chap hostname AS100
!

1 Reply to "Configuring PPPoE"

  • wie
    November 9, 2010 (11:39)
    Reply

    Hi, thank you for making this website, I finally found someone who got the same problem I’m dealing now. However, after the configuration of bbba-group, I still can’t make the pppoe tunnel running, any idea ?


Got something to say?

Some html is OK