PPPoE, Point-to-Point Protocol over Ethernet, is a network protocol for encapsulating Point-to-Point Protocol (PPP) frames inside Ethernet frames. It is used mainly with ADSL services where individual users connect to the ADSL transceiver (modem) over Ethernet and in plain Metro Ethernet networks. (more on Wikipedia).
Installing Debian from the start a PPPoE enabled system
Debian Installer, starting with February 2007 supports installing a system via PPPoE and will configure the system accordingly. At the regular Debian Installer boot line just append modules=ppp-udeb (e.g.: type installgui modules=ppp-udeb to start a graphical installation via PPPoE).
More information in the Installation Guide, chapter Installing Debian GNU/Linux using PPP over Ethernet (PPPoE).
How to enable PPPoE for an already installed system
In order to make PPPoE run on a Debian station you should follow the following steps:
- install a Linux kernel which has:
- ppp and pppoe support enabled (module or built-in). Kernels compiled by Debian have them.
- Ethernet driver for the interface on which you expect to connect using PPPoE
Run pppoeconf to generate and/or modify /etc/ppp/peers/dsl-provider, /etc/ppp/*ap-secrets files and /etc/network/interfaces.
It is best, in most cases, to keep the suggested answersauto eth0 iface eth0 inet manual auto dsl-provider iface dsl-provider inet ppp pre-up /sbin/ifconfig eth0 up provider dsl-provider
PPPoE with kernelspace pppoe driver
pppoeconf try to load pppoe kernel module (modprobe -q pppoe). If there is a file /proc/net/pppoe, configuration will be in "kernel_mode". It's the case for a large majority of users because standard Debian installation have a kernel with pppoe compiled in module.
plugin rp-pppoe.so eth0
Documentation on how to use the kernel module without rp-pppoe can be found at /usr/share/doc/ppp/examples/peers-pppoe.
I have found it necessary to add the --clamp-mss-to-pmtu option in my firewall to avoid problems accessing certain websites.
-- ?MichaelSoulier 2010-10-15 13:50:24
PPPoE with userspace pppoe driver
Alternatively, user-space agent pppoe can be used.
pty "pppoe -I eth0 -T 80 -m 1452"
Notes
If the name server information is not taken from the pppoe data, you will have to insert yourself that data in /etc/resolv.conf