rp-pppoe.html.html Home > Products > rp-pppoe
PPPoE
PPPoE (Point-to-Point Protocol over Ethernet) is a protocol used by
many ADSL Internet Service Providers. Roaring Penguin has a free
client for Linux, NetBSD and Solaris systems to connect to PPPoE
service providers.
Jump to:
Commercial PPPoE Server
Fine Point
Technologies sells a commercial PPPoE server based on rp-pppoe;
their product is
ServPoET.
Background and What's Included with rp-pppoe
rp-pppoe now includes an optional GUI setup program.
(Linux only.) The GUI requires Tcl/Tk version 8.0 or higher. For
screenshots, see the online manual. Note that
the GUI is entirely optional and is meant for desktop users;
it is inappropriate to run GUIs on firewall or gateway machines.
Sniffer
The PPPoE software includes a "sniffer" program which
examines PPPoE connections from another computer and deduces any special
options required by the Linux/BSD/Solaris pppoe program.
Server
The PPPoE software includes a server. This has been
tested extensively only on Linux. If you wish to terminate many
connections, you are urged to use the new kernel-mode PPPoE support.
Relay Agent
The PPPoE suite includes a PPPoE relay agent. Read the
pppoe-relay manual page. The relay agent lets you run
multiple PPPoE sessions from multiple machines behind a relay.
The client, server and relay agent are user-mode programs and do
not require any kernel modifications. They are fully compliant with
RFC 2516, the
official PPPoE specification.
Kernel-mode PPPoE
On Linux 2.4, the client and server support kernel-mode
PPPoE. You'll need to download the latest PPP daemon sources from
CVS. Instructions for doing so are found in the docs/KERNEL-MODE-PPPOE
file in the tar file.
Kernel-mode PPPoE support is no longer considered experimental, but
you'll need to install from the source gzipped tar file and read
docs/KERNEL-MODE-PPPOE to use it. The RPM's do not support
kernel-mode PPPoE.
PPPoE Protocol Information
If you want more information on PPPoE, you can look at some
slides (PDF format) from a
presentation I gave, or a paper (PDF
format) I delivered at the Atlanta Linux Showcase. This gives an
overview of the PPPoE protocol as well as the Roaring Penguin PPPoE
client. If you want to study the client's source code, the slides and
paper are a good place to start. Feel free to use and copy the
slides, but please don't use them in a presentation without Roaring
Penguin's permission. The paper is copyrighted by Usenix; you can't
redistribute it.
Before you download this software, check whether or not you really need it.
If your ISP uses PPPoE, but has given you a router, you may not
need a PPPoE client on your Linux box. DHCP may work fine.
However, if you have a DSL "modem" and your provider uses PPPoE, you
need a PPPoE client.
Requirements
To use the PPPoE client, you need:
- A Linux system with a 2.0-, 2.2- or 2.4-series kernel.
- Kernel support for "packet sockets". All standard distribution kernels
include this.
- The
pppd daemon, version 2.3.7 or later. If you are using
demand-dialing, you need version 2.3.10 or later. For kernel 2.4, you
need pppd 2.4.
- A working Ethernet card.
- ADSL service and an ADSL modem.
Download
The software is available in a number of formats. Please note that the
RPM's are Red Hat-specific; other distributions such as Mandrake have
changed the locations of some executables. For non-Red Hat distributions,
we recommend rebuilding the RPM as detailed below.
We'll repeat it because many people ignore the previous paragraph:
The binary RPM's will not work on Mandrake, and probably
won't work on non-Red Hat systems. Use the source for those systems
All files except the Alpha and PowerPC RPMs are signed with David Skoll's
2003 GPG key. Thanks to Declan
Cooper for building the PowerPC RPM, and to Cynick Young for the Alpha RPM.
Installation
You have to be root to install the software. If you are installing
from source, you need a complete C development environment (compiler, make,
linker, headers, libraries.)
Upgrading from Previous Releases
The configuration file has changed slightly from earlier releases.
If you are upgrading from a 1.x or 2.x release, please delete your old
configuration file prior to installing the software:
mv /etc/ppp/pppoe.conf /etc/ppp/pppoe.conf.old
Rebuilding a binary RPM
To build a binary RPM for your RPM-based system (e.g. Mandrake), download
the source RPM file and type:
rpm --rebuild rp-pppoe-3.5-1.src.rpm
This will generate a binary RPM which you can install as described next.
Installing using RPM
If you downloaded the RPM file,
type:
# If you don't want the GUI:
rpm -Uvh rp-pppoe-3.5-1.i386.rpm
/usr/sbin/adsl-setup
# If you do want the GUI
rpm -Uvh rp-pppoe-3.5-1.i386.rpm rp-pppoe-gui-3.5-1.i386.rpm
/usr/bin/tkpppoe
Installing from Source (Linux and Solaris)
If you downloaded the compressed tar file, type:
tar xvfz rp-pppoe-3.5.tar.gz
cd rp-pppoe-3.5
# If you don't want the GUI
./go
# If you do want the GUI
./go-gui
Solaris users may have problems compiling pppd. Tim Golden has
kindly contributed pre-compiled versions of pppd and the associated
kernel modules for Sparc Solaris; download them here. If those do not
work, Guillermo Zarabozo has contributed a package file for Sparc Solaris 8 which
installs in /usr/local. Try them both; use whichever works.
Installing from Source (NetBSD)
The recommended installation procedure for NetBSD users is
as follows:
tar xvfz rp-pppoe-3.5.tar.gz
cd rp-pppoe-3.5/src
./configure --mandir=/usr/share/man
make
make -i install
adsl-setup
(There is a small bug in the NetBSD "install" target; use the "-i" option
of make to ignore it. It won't affect operation of rp-pppoe.)
Problems and Support
If you are having problems with rp-pppoe, please read the
HOW-TO-CONNECT document.
If you are using a version of rp-pppoe which came with a Linux
distribution (Red Hat, Mandrake, etc.), please try the version on this
Web site first. I have had many reports of broken rp-pppoe packages
in various Linux distributions. Specifically, Red Hat distributes a
particularly butchered version of rp-pppoe which is very difficult to
use without graphical tools. This is really bad; you must have
a way to set up networking without using GUI configuration tools. I
don't mean to disparage Red Hat (I use it myself), but they really
should not have modified rp-pppoe in the way they did.
Support
rp-pppoe is free software; it comes without warranty or support.
We regret that we cannot offer e-mail or telephone support for
rp-pppoe.
If you received rp-pppoe as part of a Linux distribution you paid for,
you may have the right to support from the distribution vendor. Try your
vendor first.
Forum
Thanks to the folks at VoyForums,
we now have a forum
for rp-pppoe. Post your questions there; with luck, answers will
accumulate.
|