Sunday, February 23, 2014

PPPoFR / PPPoE

Lessons learned:

One of the reasons to run PPP over an interface is to be able to take advantage of features like Authentication, Multilink etc. to interfaces that do not normally support these options.

PPP over Frame Relay

Oder of operations:
Anytime in PPP that you’re referencing a virtual template interface or a dialer interface.
You’ll need to make sure to create the interface before you bind it to any process. If applied in the wrong sequence – even though the config is correct – it could not work correctly.

Note: MAKE sure to always configure the logical interfaces before you bind them to the physical link

Define PPP Interface:
-interface virtual-template (num)

Apply logical options:
-Authentication, Multilink, IP Addressing, etc.

Assign DLCI:
-frame-relay interface-dlci (dlci) ppp virtual template (num)

-------------------------------------------------------------------------------------

PPPoFR Lab:

Configure basic frame-relay between two routers.

R1:

interface Serial0/0
 ip address 12.0.0.1 255.255.255.0
 encapsulation frame-relay
 clock rate 2000000
end

R2:

interface Serial0/0
 ip address 12.0.0.2 255.255.255.0
 encapsulation frame-relay
 clock rate 2000000
end


Verify the FR Mapping  - we need to verify layer 1 and 2 reach ability. That way once we configure PPP on top, if there’s any issues, then we’ll know its PPP related and not basic connectivity

R1#sh frame-relay map
Serial0/0 (up): ip 12.0.0.2 dlci 120(0x78,0x1C80), dynamic,
              broadcast,, status defined, active

Serial0/0 (up): ip 12.0.0.1 dlci 210(0xD2,0x3420), dynamic,
              broadcast,, status defined, active

Now let’s remove the IP addresses form the serial interfaces. The link level is going to run  PPP and not IP. The IP header will be carried inside the PPP encapsulation.

Next configure the virtual template.
Note: a virtual template is always a PPP encapsulated link.

We can verify this by:

R1#sh interfaces virtual-template 1
Virtual-Template1 is down, line protocol is down
  Hardware is Virtual Template interface
  MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation PPP, LCP Closed, loopback not set

Next we need to configure the virtual interface

R1(config)#interface virtual-template 1
R1(config-if)#ip add
R1(config-if)#ip address 12.0.0.1 255.255.255.0


Then under the serial interface to add the virt – template:

R1:
interface Serial0/0
 no ip address
 encapsulation frame-relay
 clock rate 2000000
 frame-relay interface-dlci 102 ppp Virtual-Template1
end


R2:
interface Serial0/0
 no ip address
 encapsulation frame-relay
 clock rate 2000000
 frame-relay interface-dlci 210 ppp Virtual-Template1
end


If the config is working – if we show ip int brief. We should see that the virtual template is down, but the virtual access – which is the virtual instance of the ppp session is up.

R1#sh ip int brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            unassigned      YES unset  administratively down down   
Serial0/0                  unassigned      YES manual up                    up     
FastEthernet0/1            unassigned      YES unset  administratively down down   
Serial0/1                  unassigned      YES unset  administratively down down   
Virtual-Access1            unassigned      YES unset  down                  down   
Virtual-Template1          12.0.0.1        YES manual down                  down   
Virtual-Access2            12.0.0.1        YES TFTP   up                    up     
R1#
--------------------------------------------- 

We can even now see an instance in the routing table

R1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     12.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C       12.0.0.0/24 is directly connected, Virtual-Access2
C       12.0.0.2/32 is directly connected, Virtual-Access2

---------------------------------------------------

Note: This logic also is used for Multilink PPP interfaces. Accept the IP address would go on the Multilink INT and not het virtual-template.


PPPoE:

PPP over Ethernet Server:
The first part is to configure the server. The device that will be aggregating multiple sessions.

Basically from a DSL point of view the modems that are going to the access layer are the clients. Then the upstream links – normally ATTM PVCs – to the DSLAM are aggregated to the PPPoE server.

Define PPP interface:
-interface virtual-template (num)

Apply logical options:
-authentication, multilink IP address…..

Define BBA group:
-bba-group pope (name | global)
-virtual-template (num)

Bind to Link:
PPPoE enable group (name | global)

Note: Once again before you configure PPP, make sure you have basic connectivity to the neighbors.

Lab:
R1 (PPPoE SVR)-------------R2 (PPPoE Client)

Server –
Define virt-template and logical options on Virt-tem
Define BBA group – to bind to Interface level.

EX:
Config Virt Int:

R1(config)#interface virtual-template 1
R1(config-if)#ip address 12.0.0.1 255.255.255.0

Remove IP from Physical address:

Define BBA group:
R1(config)#bba-group pppoe group1
R1(config-bba-group)#
*Mar  1 00:07:27.351: %LINK-3-UPDOWN: Interface Virtual-Access2, changed state to up
*Mar  1 00:07:28.351: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access2, changed state to up
R1(config-bba-group)#

Apply the virt-template:
R1(config-bba-group)#virtual-template 1

Then under the physical interface – enable PPPoe and apply the group:
R1(config-bba-group)#int fa0/0
R1(config-if)#pppoe enable group 1


Then we need to configure the Client. The client used a dial-in logic where we need to use the Dialer interface. Which then applies that we need to either configure interesting traffic (ACL) to control what is going to actually initiate the actual pppoe call. Or user dialer persistent feature – which basically says keep the interface always up….

Define PPP interface:
-interface dialer (num)
-encapsulation ppp
-dialer pool (pool)
-dialer group | dialer persistent

Apply Logic options:

Bind to Link:

Note: Dialer interface by default do not run PPP –it HDLC

R2(config)#interface dialer 1
R2(config-if)#encapsulation ppp
R2(config-if)#ip address 12.0.0.2 255.255.255.0
R2(config-if)#dialer pool 2
R2(config-if)#dialer persistent

Then at the interface level –

R2(config-if)#no ip address
R2(config-if)#pppoe-client dial-pool-number 2 (this matches the dialer pool on the dialer int)

Putting it all together:
Server:

interface Virtual-Template1
 ip address 12.0.0.1 255.255.255.0
end

bba-group pppoe group1
 virtual-template 1

interface FastEthernet0/0
 no ip address
 speed 100
 full-duplex
 pppoe enable group group1
!

R1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     12.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C       12.0.0.0/24 is directly connected, Virtual-Access2.1
C       12.0.0.2/32 is directly connected, Virtual-Access2.1


Client:

interface FastEthernet0/0
 no ip address
 speed 100
 full-duplex
 pppoe enable
 pppoe-client dial-pool-number 2

 interface Dialer1
 ip address 12.0.0.2 255.255.255.0
 encapsulation ppp
 dialer pool 2
 dialer idle-timeout 0
 dialer persistent


No comments:

Post a Comment