Chapter 17. PPPoA configuration

Revision History
Revision 0.32001-05-20JN
Initial document
Revision 0.42004-03-05ES
Update for Bering-uClibc
Revision 0.52004-05-04ES
Update for leaf.cfg

Table of Contents

Step 1: declare the pppoatm package
Step 2: declare the ppp and pppoatm modules
Step 3: configure pppoatm
Step 4: configure your interfaces file
Step 5: configure Shorewall
Step 7: reboot...


We assume here that you want to connect your LEAF router to the Internet via PPPoA. The PPPoE connection is covered in another section of this user's guide. So is the PPTP/PPPoA connection. What is described here corresponds to section 3.2.4 of the DSL How-To document. The traffic to your internal network goes through eth0 while access to the Internet via PPPoA goes through ppp0.

The PPP-Howto and the DSL-Howto are two useful references for this section.

Comments on this section should be addressed to its maintainer: Eric Spakman .

Step 1: declare the pppoatm package

In order to be able to get connected through PPPoA you will the pppoatm.lrp and libatm.lrp packages together with ppp.lrp.

Boot your Bering-uClibc floppy image. Once the LEAF menu appears get access to the linux shell by (q)uitting the menu. Edit the lrpkg.cfg (pre Bering-uClibc-2.2.0) or leaf.cfg (Bering-uClibc-2.2.0 onwards) file and REPLACE the dhcpcd entry by pppoatm and libatm in the list of packages to be loaded at boot. Check the Bering-uClibc Installation Guide to learn how to do that.

The pppoatm.lrp and libatm.lrp packages are available here.

Step 2: declare the ppp and pppoatm modules

In order to have a PPPoA connection working, you need to have both ppp and pppoatm support enabled through the appropriate kernel modules. You also need to declare the driver(s) module(s) of your network card(s). In the following example, we assume that the external connection to the Internet is provided by a Madge Ambassador ATM/PCI card while the internal network goes through a standard ne 2000 PCI card.

All the modules which are necessary for ppp support are provided on the standard Bering floppy. You just need to "declare" them since they are not loaded by default. As far as the pppoatm module is concerned you will have to download it from the Bering-uClibc modules CVS area and store it in /lib/modules.

ATM drivers are available here.

To declare your modules, go to the LEAF Packages configuration menu and choose modules. Enter 1) to edit the /etc/modules file and enter the following information:

# 8390 based ethernet cards

# Modules needed for PPP connection

# PPPOA support

# ATM-PCI "st" drivers

# Masquerading 'helper' modules

Backup the modules.lrp package.

Step 3: configure pppoatm

Connection with your ISP will be handled by PPP. The PPP Howto document will give you very detailed information about this protocol and how to set-up its numerous parameters.

Through the LEAF packages configuration menu get access to pppatm configuration. The following menu will show-up:

                        pppoatm configuration files

        1) DSL pppd options

  q) quit

Enter 1) and adjust the corresponding /etc/ppp/peers/dsl-provider file:

# Adjust here VP/VC - depends on country & ISP
# UK/BT: 0.38 - US/BE/FR: 8.35
plugin /usr/lib/pppd/ 0.38
# If chap or pap identification uncomment the #name "ISPUserID" line
# and replace ISPUserID with your ISP user name
# There should be a matching entry in /etc/ppp/pap-secrets or chap-secrets
#name "ISPUserID"
lcp-echo-interval 20
lcp-echo-failure 3
maxfail 0

The most important parameters in this file are the VP.VC combination which depends on your country and/or your ISP and the name parameter.

Through the LEAF packages configuration menu get access to ppp configuration. The following menu will show-up

                        ppp configuration files

        1) ISP pppd options
        2) ISP login script
        3) System wide pppd options
        4) chap secret
        5) pap secret
  q) quit

Edit either the CHAP (Entry 4) or PAP (Entry 5) option to set up how your system authenticates. If you edit chap, replace #ISPUserID and ISPUserPassword with the relevant information.

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
#ISPUserID      *       ISPUserPassword

ISPUserID must exactly match the entry that you made for the name parameter in pppoatm Entry 1) "DSL pppd options" file. The "*" can be replaced with the IP address or name of the server you are dialling into if you know it. Usually, an asterisk is sufficient.

If you want to authenticate using PAP, add the same entry to the PAP item instead.

Backup the pppoatm.lrp and ppp.lrp packages.

Step 4: configure your interfaces file

Trough the LEAF configuration menu type 1 to access to the network configuration menu and 1 again to edit your /etc/network/interfaces file. Enter the following information:

auto lo ppp0 eth0

iface lo inet loopback

iface ppp0 inet ppp
	provider dsl-provider

iface eth0 inet static

In this /etc/network/interfaces file the lo, ppp0 and eth0 interfaces are brought up automatically when the ifup -a statement is executed at boot time by the /etc/init.d/networking script.

The "iface ppp0 inet ppp" section defines the external address of the router and activates the pon script

The "iface eth0 inet static" defines the internal address of the router.

Backup the etc.lrp package.

Step 5: configure Shorewall

Through the LEAF packages configuration menu, choose shorwall and check the three following files:

A) The interfaces file (entry 3) defines your interfaces. Here connection to the net goes through ppp0. So we must set:

net     ppp0            -
loc     eth0            detect          routestopped


Do not forget the "-" under the BROADCAST heading for the net/ppp0 entry.

B) The masq file (entry 8). It should look like:

#INTERFACE              SUBNET
ppp0                    eth0

Backup the shorwall.lrp package.

Step 7: reboot...

Your PPPoA connection should be established automatically. Type plog to check the login sequence with your ISP. If there is no output check the various logs in /var/log/ to get a clue on potential problems.