PPPoE testbed

From CT3

Jump to: navigation, search

By Ivan Pepelnjak

A router running Cisco IOS can act as a PPPoE client or server, allowing you to set up simple PPPoE testbed consisting of just two routers (extra devices are needed if you want to simulate the actual transmission delay of a DSL connection).

The following topology was used to create a PPPoE testbed described in this article:

PPPoE testbed

Client configuration

Use the following configuration commands to configure PPPoE client:

Command Description
hostname PPPoE-Client
!
Set the router’s name (optional)
bba-group pppoe global
!
Create a global PPPoE group
interface FastEthernet0/0
 description Inside interface
 ip address 10.0.0.5 255.255.255.0
 no ip redirects
!
Inside interface configuration
interface FastEthernet0/1
 description PPPoE interface
 no ip address
 pppoe enable group global
 pppoe-client dial-pool-number 1
!
Enable PPPoE in group global on the outside interface. Add the interface into a dialer pool (1) that can be used in Dialer interfaces.
interface Dialer0
 description PPPoE dialer interface
 !
Create the dialer interface
 ip address negotiated
 !
IP address will be negotiated with the PPPoE server
 ip mtu 1492
 !
MTU size has to be reduced on the PPPoE interfaces due to PPPoE framing overhead
 encapsulation ppp
 !
Specify the encapsulation type (PPP is required for PPPoE)
 dialer pool 1
 !
Associate the dialer interface with a dial pool (configured on the Fast Ethernet interface)
 dialer-group 1
 !
Associate the dialer interface with a dial-on-demand group
 ppp authentication chap callout optional
 ppp chap hostname test
 ppp chap password 0 test
!
PPP will use CHAP authentication with username=test and password=test. Authentication will be used only on outgoing calls, the remote end does not need to authenticate.
ip route 0.0.0.0 0.0.0.0 Dialer0
!
Static default route points to the PPPoE interface
dialer-list 1 protocol ip permit
The dialer list object is required to complete the dial-on-demand configuration.

Server configuration

The server configuration is similar to the client configuration; the major differences are:

  • A virtual template used for incoming PPPoE requests is configured within the bba-group.
  • A VirtualTemplate interface is used instead of the Dialer interface.
  • A local IP address pool is defined for the clients that request an IP address from the server.
Command Description
Hostname PPPoE-Client
!
Set the router’s name (optional)
Username test password 0 test
!
Define the username and password used by the PPPoE client.
bba-group pppoe global
 virtual-template 1
!
Create the global PPPoE group that uses virtual-template 1 for incoming PPPoE requests.
interface Loopback0
 ip address 172.16.0.12 255.255.255.255
!
The Loopback0 interface is used as the source IP address for virtual access interfaces.
interface FastEthernet0/0
 ip address 10.0.0.6 255.255.255.0
 pppoe enable group global
!
PPPoE group global is enabled on the FastEthernet interface. Since this group specifies a virtual template for incoming PPPoE sessions, the router becomes a PPPoE server.
interface Virtual-Template1
 ip unnumbered Loopback0
 ip mtu 1492
 !
Virtual template for incoming PPPoE sessions. The interface is unnumbered and has MTU set to 1492 (see above).
 peer default ip address pool PPPoE
 !
The IP addresses for remote PPPoE clients will be taken from the PPPoE address pool
 ppp authentication chap callin
 !
Incoming calls use CHAP authentication
 ppp chap refuse callin
 !
The PPPoE server refuses to authenticate on incoming calls, preventing potential authentication failures on clients that have not configured a username for the the PPPoE server’s hostname.
ip local pool PPPoE 172.16.0.20 172.16.0.29

Address pool for PPPoE clients

Complete router configurations

Client configuration

version 12.4
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname PPPoE-Client
!
no aaa new-model
ip cef
!
archive
 log config
  hidekeys
!
bba-group pppoe global
!
interface Loopback0
 ip address 172.16.0.11 255.255.255.255
!
interface FastEthernet0/0
 description Inside interface
 ip address 10.0.0.5 255.255.255.0
 no ip redirects
!
interface FastEthernet0/1
 description PPPoE interface
 no ip address
 pppoe enable group global
 pppoe-client dial-pool-number 1
!
interface Dialer0
 description PPPoE dialer interface
 ip address negotiated
 ip mtu 1492
 encapsulation ppp
 dialer pool 1
 dialer-group 1
 ppp authentication chap callout optional
 ppp chap hostname test
 ppp chap password 0 test
!
ip route 0.0.0.0 0.0.0.0 Dialer0
!
no ip http server
no ip http secure-server
!
dialer-list 1 protocol ip permit
!
control-plane
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 ip netmask-format decimal
line aux 0
line vty 0 4
!
end 

Server configuration

version 12.4
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname PPPoE-Server
!
no aaa new-model
ip cef
!
username test password 0 test
!
archive
 log config
  hidekeys
!
ip tcp synwait-time 5
!
bba-group pppoe global
 virtual-template 1
!
interface Loopback0
 ip address 172.16.0.12 255.255.255.255
!
interface FastEthernet0/0
 ip address 10.0.0.6 255.255.255.0
 pppoe enable group global
!
interface Virtual-Template1
 ip unnumbered Loopback0
 ip mtu 1492
 peer default ip address pool PPPoE
 ppp authentication chap callin
 ppp chap refuse callin
!
router ospf 1
 log-adjacency-changes
!
ip local pool PPPoE 172.16.0.20 172.16.0.29
!
no ip http server
no ip http secure-server
!
!
control-plane
!
line con 0
 exec-timeout 0 0
 privilege level 15
 logging synchronous
 ip netmask-format decimal
line aux 0
line vty 0 4
!
end 
Personal tools

CT3

Main menu