blob: 7fe0139a671cda216db5a4fb58c2486efb1f2543 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001 PPPoE Support
2 -------------
3
4 Michal Ostrowski
5 8 August 2001
6
7 for ppp-2.4.2
8 Updated for ppp-2.4.5 by Paul Mackerras, Sep 08
9
101. Introduction
11---------------
12
13This document describes the support for PPP over Ethernet (PPPoE)
14included with this package. It is assumed that the reader is
15familiar with Linux PPP (as it pertains to tty/modem-based
16connections). In particular, users of PPP in the Linux 2.2 series
17kernels should ensure they are familiar with the changes to the PPP
18implementation in the 2.4 series kernels before attempting to use
19PPPoE features.
20
21If you are not familiar with PPP, I recommend looking at other
22packages which include end-user configuration tools, such as Roaring
23Penguin (http://www.roaringpenguin.com/pppoe).
24
25PPPoE is a protocol typically used by *DSL providers to manage IP
26addresses and authenticate users. Essentially, PPPoE provides for a
27PPP connection to be established not over a physical serial-line or
28modem, but over a logical connection between two unique MAC-addresses
29on an ethernet network. Once the PPPoE layer discovers the end-points
30to be used in the link and negotiates it, frames may be sent to and
31received from the PPPoE layer just as if the link was a serial line
32(or that is how it's supposed to be).
33
34With this in mind, the goal of the implementation of PPPoE support in
35Linux is to allow users to simply specify that the device they intend
xf.li84027492024-04-09 00:17:51 -070036to use for the PPP connection is an ethernet device (e.g. "eth0") and
lh9ed821d2023-04-07 01:36:19 -070037the rest of the system should function as usual.
38
392. Using PPPoE
40--------------
41
42This section is a quick guide for getting PPPoE working, to allow one
43to connect to their ISP who is providing PPPoE based services.
44
451. Enable "Prompt for development and/or incomplete code/drivers" and
46 "PPP over Ethernet" in your kernel configuration. Most distributions
47 will include the kernel PPPoE module by default.
48
492. Compile and install your kernel.
50
513. Install the ppp package.
52
534. Add the following line to /etc/ppp/options:
54
xf.li84027492024-04-09 00:17:51 -070055 plugin pppoe.so
lh9ed821d2023-04-07 01:36:19 -070056
57 The effect of this line is simply to make "eth0", "eth1",
58 ....,"ethx" all valid device names for pppd (just like ttyS0,
59 ttyS1).
60
615. Add the necessary authentication options to your pppd
62 configuration (i.e. PAP/CHAP information). If you wish to
xf.li84027492024-04-09 00:17:51 -070063 maintain separate configurations for different devices you may
lh9ed821d2023-04-07 01:36:19 -070064 place configuration options in device-specific configuration
65 files: /etc/ppp/options.devname (devname=ttyS0, ttyS1, eth0, eth1
66 or any other valid device name).
67
686. Invoke pppd with the appropriate device name: e.g. "pppd eth0"
69
70
71Do not include any compression or flow control options in your PPPoE
72configuration. They will be ignored.
73
74Again, here it is assumed that the reader is familiar with the general
75process of configuring PPP. The steps outlined here refer only to the
76steps and configuration options which are PPPoE specific, and it is
77assumed that the reader will also configure other aspects of the system
78(e.g. PAP authentication parameters).
79
803. Advanced Functionality
81--------------------------
82
83For more advanced functionality (such as providing PPPoE services) and
84user configuration tools, look to the Roaring Penguin PPPoE software
85package (http://www.roaringpenguin.com/pppoe).
86
874. Credits
88-----------
89
90The PPPoE plugin included in this package is a component of the
91Roaring Penguin PPPoE package, included in this package courtesy of
92Roaring Penguin Software. (http://www.roaringpenguin.com).
93