1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.75 [en] (X11; U; Linux 2.2.16-22 i686) [Netscape]">
<title>Index of /~mostrows</title>
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ef" vlink="#51188e" alink="#ff0000">
<b><font face="Arial,Helvetica"><font size="+4">PPPoE for Linux 2.4</font></font></b>
<p><font size="+0">This is a driver for PPPoE for Linux 2.4.</font> </p>
<p><font size="+0">This driver is for 2.4 kernels only. For a driver
for 2.2 kernels, the <a href="http://www.roaringpenguin.com">Roaring Penguin</a><br>
package is recommended.<br>
</font></p>
<p>The software on this page is currently required if you wish to use kernel-mode<br>
PPPoE with Roaring Penguin (see the Roaring Penguin documentation for details),<br>
though this functionality is currently recommended for experts only.<br>
</p>
<p><font size="+0">Files:</font> </p>
<p><font size="+0"> <a href="ppp-2.4.1-pppoe.patch4">
ppp-2.4.1-pppoe.patch4</a> Patch for ppp-2.4.1</font><br>
<font size="+0"> <a href="ppp-2.4.1-pppoe4.tgz">
ppp-2.4.1-pppoe4.tgz</a> Source of ppp-2.4.1 with patches applied.
</font> <br>
<font size="+0"> <a href="ppp-cvs.pppoe1.tgz">
ppp-cvs.pppoe1.tgz</a> Source of ppp CVS repository with patches applied.
</font> <br>
</p>
<p><b><font size="+0">Installation & Usage:</font></b> </p>
<p><font size="+0">1. Configure, compile and install a 2.4 kernel.</font>
<br>
<font size="+0"><br>
Make sure to enable PPP over Ethernet in the kernel
configuration, as</font> <br>
<font size="+0"> well as as the "Packet Socket"
option. You must also enable support</font> <br>
<font size="+0"> for experimental drivers.</font></p>
<p><font size="+0"> If you are compiling as a module,
add the line "alias net-pf-24 pppoe" to<br>
/etc/modules.conf.</font></p>
<p><font size="+0"> Make sure that the /dev/ppp device
exists: "mknod /dev/ppp c 108 0"<br>
</font> </p>
<p><font size="+0">2. Configure, compile and install the modified pppd
package.</font> <br>
<font size="+0"> Links to the patch, or the complete
patched source are available above.</font> </p>
<p><font size="+0">3. Include the following line in your ppp options
file:</font> </p>
<p><font size="+0"> plugin pppoe</font> </p>
<p><font size="+0"> If you experience problems, try replacing
the "pppoe" with the</font> <br>
<font size="+0"> full path and file name of the "pppoe.so"
file that is installed</font> <br>
<font size="+0"> by the pppd installation.</font> </p>
<p><font size="+0"> Following these two lines should be
your other ppp options. My</font> <br>
<font size="+0"> options file includes only one other
line; a "name" statement for</font> <br>
<font size="+0"> PAP.</font> </p>
<p><font size="+0">4. Invoke pppd (e.g.: "pppd eth0"). Before
doing this, make sure the ethernet</font> <br>
<font size="+0"> device is up ("ifconfig eth0 up"
has been executed).</font> <br>
<font size="+0"></font> <br>
</p>
<p><b><font size="+0">Other Stuff:</font></b> </p>
<p><font size="+0">1. You can restrict pppd to connect to specific access-concentrators</font>
<br>
<font size="+0"> or specific services by addin "pppoe_ac_name"
and "pppoe_srv_name"</font> <br>
<font size="+0"> options (respectively) to your options
file. Each of these options is</font> <br>
<font size="+0"> followed by a string specifying the
conecntrator or service name that</font> <br>
<font size="+0"> is to be matched. Most people should
not need this.</font> <br>
</p>
<p><font size="+0">2. Here's how I've configured things to get a server
working:</font> </p>
<p><font size="+0"> client's /etc/ppp/options:</font> </p>
<p><font size="+0"> plugin /usr/lib/pppd/plugins/pppoe.so</font>
<br>
<font size="+0"> name papname</font>
</p>
<p><font size="+0"> client's /etc/ppp/pap-secrets:</font>
</p>
<p><font size="+0"> papname * papsecret</font>
</p>
<p><font size="+0"> server's /etc/ppp/options:</font> </p>
<p><font size="+0"> plugin /usr/lib/pppd/plugins/pppoe.so</font>
<br>
<font size="+0"> pppoe_server</font>
<br>
<font size="+0"> +pap</font>
<br>
<font size="+0"> 10.10.10.1:</font>
</p>
<p><font size="+0"> server's /etc/ppp/pap-secrets:</font>
</p>
<p><font size="+0"> papname * papsecret
10.10.10.0/24+ !10.10.10.1</font> <br>
</p>
<p><font size="+0"> On both the client and the server, pppd
is invoked as "pppd eth0".</font> <br>
<font size="+0"> With this setup you will have to invoke
a new pppd on the server for</font> <br>
<font size="+0"> each session.</font> </p>
<p><font size="+0"> The patched pppd also builds a new pppoed
which can be used to create</font> <br>
<font size="+0"> a PPPoE server capable of serving multiple
clients. To use this ,</font> <br>
<font size="+0"> remove the "pppoe_server" line from
the server's /etc/ppp/options</font> <br>
<font size="+0"> file. Invoke pppoed as: "pppoed
-S -I eth0 -A ac_name -S srv_name".</font> <br>
<font size="+0"> pppoed will now create a new pppd process
for each incoming connection.</font> <br>
<font size="+0"> Note: this is still rather flaky, use
with caution If pppoed seems to jam,</font> <br>
<font size="+0"> restarting it will not affect existing
connections.</font> <br>
</p>
<p>3. If you're trying to run masquerading over your PPPoE link, check
out <a href="http://www.hgfelger.de/mss/mss.html">this</a> <br>
page for instructions on how to ensure that path
MTU's are properly <br>
reported across your network. Without
this your masquerading will <br>
not work. </p>
<p> <a href="http://www.hgfelger.de/mss/mss.html">
http://www.hgfelger.de/mss/mss.html</a> <br>
</p>
<p><font size="+0">Michal Ostrowski</font> <br>
<font size="+0"><a href="mailto:mostrows@styx.uwaterloo.ca">mostrows@styx.uwaterloo.ca</a></font>
<br>
<br>
</p>
</body>
</html>
|