version 10, including all changes.
.
Rev |
Author |
# |
Line |
8 |
MattBrown |
1 |
!!! Specific PPP Configurations |
|
|
2 |
* If you are using a [3ComDualLink] or any similar [ADSL] modem that uses non-standard frame types, check out [3ComDualLinkPPPoE]. |
|
|
3 |
* If you used Wired Country (or any of their resellers) check out LinuxWiredCountryNotes |
6 |
AristotlePagaltzis |
4 |
|
|
|
5 |
!!! User Mode [PPPoE] |
|
|
6 |
|
|
|
7 |
If you install roaring penguin [PPPoE] on [Linux] from the tarball, you get a few scripts named adsl-start, adsl-connect etc. |
|
|
8 |
|
|
|
9 |
[Debian]'s __pppconfig__, among others, uses a much tidier way using __pppd__'s "call" parameter and __/etc/ppp/peers__ entries. |
|
|
10 |
|
|
|
11 |
Here is an example entry for a [PPPoE] connection. In the following, you would replace ''ISP'' with the PPPoE service name on your modem/AccessConcentrator, ''eth0'' with the ethernet device connected to your AccessConcentrator, ''foo@myisp.com'' with your username, ''myisp'' with a label for your ISP and ''mypassword'' with your password. |
|
|
12 |
|
|
|
13 |
__/etc/ppp/peers/myisp__: |
9 |
ChrisBrowning |
14 |
<verbatim> |
6 |
AristotlePagaltzis |
15 |
pty '/usr/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.pppoe -m 1412 -U -T 80 -I eth0 -S ISP' |
|
|
16 |
holdoff 5 |
|
|
17 |
#debug |
|
|
18 |
persist |
|
|
19 |
ipcp-accept-remote |
|
|
20 |
ipcp-accept-local |
|
|
21 |
noauth |
|
|
22 |
defaultroute |
|
|
23 |
hide-password |
|
|
24 |
user foo@myisp.com |
|
|
25 |
lcp-echo-interval 5 |
|
|
26 |
lcp-echo-failure 5 |
|
|
27 |
remotename myisp |
|
|
28 |
maxfail 0 |
9 |
ChrisBrowning |
29 |
</verbatim> |
6 |
AristotlePagaltzis |
30 |
__/etc/ppp/pap-secrets__: |
9 |
ChrisBrowning |
31 |
<verbatim> |
6 |
AristotlePagaltzis |
32 |
"foo@myisp.com" myisp "mypassword" |
9 |
ChrisBrowning |
33 |
</verbatim> |
6 |
AristotlePagaltzis |
34 |
|
|
|
35 |
Now, typing __pppd call myisp__ should connect the the AccessConcentrator then establish the [PPP] connection with the RemoteAccessNode (in the case of [ADSL]). |
|
|
36 |
|
|
|
37 |
!!! Kernel Mode [PPPoE] |
|
|
38 |
|
|
|
39 |
The Linux kernel now has a built in [PPPoE] framer. Using the kernel mode [PPPoE] driver seems to yield measurably (but not noticably) lower [CPU] load than the userland client. |
|
|
40 |
|
|
|
41 |
The framer provides a pty __/dev/ppp__ for __pppd__ to talk to, but it still needs a [PPPoE] plugin. The ppp package includes one which is supplied by the good folk at [Roaring-Penguin | http://www.roaringpenguin.com]. Oddly enough, the best docs for kernel mode seem to be in the usermode package, see __doc/KERNEL-MODE-PPPOE__. |
|
|
42 |
|
|
|
43 |
You need a sufficiently recent version of ppp -- 2.4.2 is the minimum --, and your [Kernel] must have support for the following (this is for 2.6): |
|
|
44 |
|
10 |
ChrisBrowning |
45 |
<verbatim> |
6 |
AristotlePagaltzis |
46 |
CONFIG_PPP=m |
|
|
47 |
CONFIG_PPP_ASYNC=m |
|
|
48 |
CONFIG_PPP_DEFLATE=m |
|
|
49 |
CONFIG_PPP_BSDCOMP=m |
|
|
50 |
CONFIG_PPPOE=m |
10 |
ChrisBrowning |
51 |
</verbatim> |
6 |
AristotlePagaltzis |
52 |
|
|
|
53 |
You will also need the appropriate character device, in case it doesn't exist: |
|
|
54 |
|
10 |
ChrisBrowning |
55 |
<verbatim> |
6 |
AristotlePagaltzis |
56 |
mknod --mode=664 /dev/ppp c 108 0 |
10 |
ChrisBrowning |
57 |
</verbatim> |
6 |
AristotlePagaltzis |
58 |
|
|
|
59 |
Add the following entries to __/etc/modules.conf__ according to __KERNEL-MODE-PPPOE__ (under your LinuxDistribution the file may already contain some or all of these): |
|
|
60 |
|
10 |
ChrisBrowning |
61 |
<verbatim> |
6 |
AristotlePagaltzis |
62 |
alias net-pf-24 pppoe |
|
|
63 |
alias char-major-108 ppp_generic |
|
|
64 |
alias tty-ldisc-3 ppp_async |
|
|
65 |
alias tty-ldisc-13 n_hdlc |
|
|
66 |
alias tty-ldisc-14 ppp_synctty |
10 |
ChrisBrowning |
67 |
</verbatim> |
6 |
AristotlePagaltzis |
68 |
|
|
|
69 |
In the following, you would replace ''ISP'' with the PPPoE service name on your modem/AccessConcentrator, ''eth0'' with the ethernet device connected to your AccessConcentrator, ''foo@myisp.com'' with your username, ''myisp'' with a label for your ISP and ''mypassword'' with your password. |
|
|
70 |
|
|
|
71 |
__/etc/ppp/peers/myisp__: |
10 |
ChrisBrowning |
72 |
<verbatim> |
6 |
AristotlePagaltzis |
73 |
plugin rp-pppoe.so |
|
|
74 |
rp_pppoe_service ISP eth0 |
|
|
75 |
holdoff 5 |
|
|
76 |
#debug |
|
|
77 |
persist |
|
|
78 |
ipcp-accept-remote |
|
|
79 |
ipcp-accept-local |
|
|
80 |
noauth |
|
|
81 |
defaultroute |
|
|
82 |
hide-password |
|
|
83 |
user foo@myisp.com |
|
|
84 |
lcp-echo-interval 5 |
|
|
85 |
lcp-echo-failure 5 |
|
|
86 |
remotename myisp |
|
|
87 |
maxfail 0 |
10 |
ChrisBrowning |
88 |
</verbatim> |
6 |
AristotlePagaltzis |
89 |
|
|
|
90 |
__/etc/ppp/pap-secrets__: |
10 |
ChrisBrowning |
91 |
<verbatim> |
6 |
AristotlePagaltzis |
92 |
"foo@myisp.com" myisp "mypassword" |
10 |
ChrisBrowning |
93 |
</verbatim> |
6 |
AristotlePagaltzis |
94 |
|
|
|
95 |
Now, typing __pppd call myisp__ should connect the the AccessConcentrator then establish the [PPP] connection with the RemoteAccessNode (in the case of [ADSL]). |