PPPoE Support ------------- Michal Ostrowski 8 August 2001 for ppp-2.4.2 1. Introduction --------------- This document describes the support for PPP over Ethernet (PPPoE) included with this packages. It is assumed that the reader is familiar with Linux PPP (as it pertains to tty/modem-based connections). In particular, users of PPP in the Linux 2.2 series kernels should ensure they are familiar with the changes to the PPP implementation in the 2.4 series kernels before attempting to use PPPoE features. If you are not familiar with PPP, I recommend looking at other packages which include end-user configuration tools, such as Roaring Penguin (http://www.roaringpenguin.com/pppoe) PPPoE is a protocol typically used by *DSL providers to manage IP addresses and authenticate users. Essentially, PPPoE provides for a PPP connection to be established not over a physical serial-line or modem, but over a logical connection between two unique MAC-addresses on an ethernet network. Once the PPPoE layer discovers the end-points to be used in the link and negotiates it, frames may be sent to and received from the PPPoE layer just as if the link was a serial line (or that is how it's supposed to be). With this in mind, the goal of the implementation of PPPoE support in Linux is to allow users to simply specify that the device they intend to use for the PPP connection is an ethernet device (i.e. "eth0") and the rest of the system should function as usual. 2. Using PPPoE -------------- This section is a quick guide for getting PPPoE working, to allow one to connect to their ISP who is providing PPPoE based services. 1. Enable "Prompt for development and/or incomplete code/drivers" and "PPP over Ethernet" in your kernel configuration. If you choose to use the PPP over Ethernet driver as a module adding "alias net-pf-24 pppoe" to /etc/modules.conf will enable auto-loading of the modules. 2. Compile and install your kernel. 3. Install the ppp package. 4. Add the following line to /etc/ppp/options: plugin rp-pppoe.so The effect of this line is simply to make "eth0", "eth1", ....,"ethx" all valid device names for pppd (just like ttyS0, ttyS1). 5. Add the necessary authentication options to your pppd configuration (i.e. PAP/CHAP information). If you wish to maintain seperate configurations for different devices you may place configuration options in device-specific configuration files: /etc/ppp/options.devname (devname=ttyS0, ttyS1, eth0, eth1 or any other valid device name). 6. Invoke pppd with the appropriate device name: e.g. "pppd eth0" Do not include any compression or flow control options in your PPPoE configuration. They will be ignored. Again, here it is assumed that the reader is familiar with the general process of configuring PPP. The steps outlined here refer only to the steps and configuration options which are PPPoE specific, and it is assumed that the reader will also configure other aspects of the system (e.g. PAP authentication parameters). 3. Advanced Functionality -------------------------- For more advanced functionality (such as providing PPPoE services) and user configuration tools, look to the Roaring Penguin PPPoE software package (http://www.roaringpenguin.com/pppoe). 4. Credits ----------- The PPPoE plugin included in this package is a component of the Roaring Penguin PPPoE package, included in this package courtesy of Roaring Penguin Software. (http://www.roaringpenguin.com).