rp-pppoe.html rp-pppoe.html
THE EMAIL FILTERING EXPERTS HOME    ABOUT    NEWS    PRODUCTS    LINKS    CONTACT    SEARCH   
ROARING PENGUIN SOFTWARE INC.  
  PRODUCTS  
 MIMEDefang    CanIt    rp-pppoe    Remind    Tcl Toys   

If you have a DSL "modem" and your provider uses PPPoE, you need a PPPoE client.  

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.

Do you Need rp-pppoe?

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

Core Software -- client, relay and server
Binary RPM for Red Hat 6.2 and higher (Intel) rp-pppoe-3.5-1.i386.rpm
Source RPM for RPM-based distributions (includes GUI) rp-pppoe-3.5-1.src.rpm
Source gzipped tar file (includes GUI) rp-pppoe-3.5.tar.gz and GPG Signature
Binary RPM for Alpha Linux (Version 3.3) rp-pppoe-3.3-1.alpha.rpm
Binary RPM for Linux PowerPC (Version 3.3) rp-pppoe-3.3-1.ppc.rpm
GUI -- download the GUI packages in addition to the core software
GUI Binary RPM for Red Hat 6.2 and higher (Intel) rp-pppoe-gui-3.5-1.i386.rpm
GUI Binary RPM for Alpha Linux (Version 3.3) rp-pppoe-gui-3.3-1.alpha.rpm
GUI Binary RPM for Linux PowerPC (Version 3.3) rp-pppoe-gui-3.3-1.ppc.rpm

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.

 Copyright © 2004 Roaring Penguin Software Inc.         Legal Notices