pppoe for linux

This is a rough outline on how to get pppoe to automatically start on your Linux system at bootup. This mostly applies to Redhat distros. Personally, I am running a highly modified RedHat 7.0, so I have no idea if this will work with older versions or other distros.

WARNING: I have no idea if the following will work for you, as I haven't rigorously tested it or anything. All I can tell you is that it works for me. I disclaim all responsiblity for any damage following these directions may incur on your system or your mental health.

I gleaned a lot of important info from

the easy way

I recommend this for Linux newbies and anyone who doesn't want to recompile their kernel or their pppd, or to screw around with their initialization files.

Check out Roaring Penguin PPPoE. You can use a 2.2 kernel without having to recompile it. rpppoe is also available as an RPM. The instructions are short and simple and you can be up and running in five minutes after downloading the packages without having to reboot. When I first tried it, though, I was maxing out at 384kbps (48K/sec) as compared to 608kbps (76K/sec) using the kernel module (see below). Of course, if you're willing to upgrade to the 2.4 kernel, this might not be an issue. Roaring Penguin has recently added support for the kernel module, so you might want to check it out before resorting to my quick and dirty kludges down below.

the hard way

You will have to upgrade to the 2.4 kernel. Find the appropriate mirror to download it from at It's kind of a pain if you have to do it through a dial-up connection as the tarball of 2.4.3 is 24MB. If you have RedHat 7.0, you might want to just patch the 2.4.0-test5 kernel that's in the preview directory, although that's still likely to be a huge download (about 11MB if you patch all the way to 2.4.3)

Check out the Kernel HOWTO if you need help with patching and/or compiling the kernel.

Now recompile the kernel. Make sure you enable PPPoE.

You will probably also need to upgrade to ppp 2.4.0. Check out for more info.

Put the following in /etc/ppp/options. Make sure you specify your username at your ISP.

plugin /usr/lib/pppd/plugins/
name "your username at your ISP"
mru 1490
mtu 1490

I'm not sure this is the best solution, but it works for me.

Add the following to /etc/pap-secrets. Specify your username and your password at your ISP.

"your username at your ISP" * your password

Now you have a choice:

option 1

The following will probably work on any distro that uses System V initialization. Of course, I haven't tried this on anything except RedHat 7, so who knows.

Add the following to /etc/rc.d/rc.local (this is for RedHat€”this file may very well be somewhere else if you're using another distro):

/usr/sbin/pppd eth0

Of course, replace eth0 with whichever Ethernet interface you're using to talk to your DSL modem and replace /usr/sbin/ with the path to where pppd resides on your system.

option 2

The following most likely only applies to RedHat.

Get these scripts:


I forgot where I stole these scripts from, so if you recognize them, please leave me a note. I think they were originally used for PPPoE with a patched 2.2 kernel and/or with a patched pppd. I modified them slightly to work with the 2.4 kernel module.

Stick them in /etc/sysconfig/network-scripts. You need to make ifup-pppoe and ifdown-pppoe executable.

Restart the network service with by running /etc/rc.d/init.d/network restart. You should be good to go, and it will start every time you boot up, too.

My experience with my DSL provider

I currently subscribe to Earthlink/Mindspring mostly because I didn't want to go through the trouble of switching ISPs. Being out here in Illinois, my service is actually being provided by Covad. I don't know if that contributed to the problem of being charged simultaneously for dial-up and DSL for a couple of months, but hopefully that's resolved. Other than that, the service isn't too bad. I only get between 384kbps-608kbps (48K/sec-76Ksec), well below the vaunted maximum speed of 1.5Mbps (117K/sec), but I really don't want to switch ISPs and go through another three months of waiting only to find out that I really can't go any faster than that.

code main | fato profugus