1PPPOE-SERVER(8) System Manager's Manual PPPOE-SERVER(8)
2
3
4
6 pppoe-server - user-space PPPoE server
7
9 pppoe-server [options]
10
11
13 pppoe-server is a user-space server for PPPoE (Point-to-Point Protocol
14 over Ethernet) for Linux and other UNIX systems. pppoe-server works in
15 concert with the pppoe client to respond to PPPoE discovery packets and
16 set up PPPoE sessions.
17
18
20 -F The -F option causes pppoe-server not to fork and become a dae‐
21 mon. The default is to fork and become a daemon.
22
23
24 -I interface
25 The -I option specifies the Ethernet interface to use. Under
26 Linux, it is typically eth0 or eth1. The interface should be
27 "up" before you start pppoe-server, but need not have an IP
28 address. You can supply multiple -I options if you want the
29 server to respond on more than one interface.
30
31
32 -X pidfile
33 This option causes pppoe-server to write its process ID to pid‐
34 file. Additionally, it keeps the file locked so that only a
35 single process may be started for a given pidfile.
36
37
38 -q /path/to/pppd
39 Specifies the full path to the pppd program. The default is
40 determined at compile time. One use of this option is to supply
41 a wrapper program that modifies the arguments passed to pppd.
42 This lets you do things not directly supported by the server
43 (for example, specify IPv6 addresses.)
44
45
46 -Q /path/to/pppoe
47 Specifies the full path to the pppoe program. The default is
48 determined at compile time. This option is only relevant if you
49 are not using kernel-mode PPPoE.
50
51
52 -T timeout
53 This option is passed directly to pppoe; see pppoe(8) for
54 details. If you are using kernel-mode PPPoE, this option has no
55 effect.
56
57
58 -C ac_name
59 Specifies which name to report as the access concentrator name.
60 If not supplied, the host name is used.
61
62
63 -S name
64 Offer a service named name. Multiple -S options may be speci‐
65 fied; each one causes the named service to be advertised in a
66 Service-Name tag in the PADO frame. The first -S option speci‐
67 fies the default service, and is used if the PPPoE client
68 requests a Service-Name of length zero.
69
70
71 -m MSS This option is passed directly to pppoe; see pppoe(8) for
72 details. If you are using kernel-mode PPPoE, this option has no
73 effect.
74
75
76 -x n Limit the number of sessions per peer MAC address to n. If a
77 given MAC address attempts to create more than n sessions, then
78 its PADI and PADR packets are ignored. If you set n to 0 (the
79 default), then no limit is imposed on the number of sessions per
80 peer MAC address.
81
82
83 -P Check pool file for correctness and exit.
84
85
86 -s This option is passed directly to pppoe; see pppoe(8) for
87 details. In addition, it causes pppd to be invoked with the
88 sync option.
89
90
91 -l Increment local IP address for each session.
92
93
94 -L ip Sets the local IP address. This is passed to spawned pppd pro‐
95 cesses. If not specified, the default is 10.0.0.1.
96
97
98 -R ip Sets the starting remote IP address. As sessions are estab‐
99 lished, IP addresses are assigned starting from ip. pppoe-
100 server automatically keeps track of the pool of addresses and
101 passes a valid remote IP address to pppd. If not specified, a
102 starting address of 10.67.15.1 is used.
103
104
105 -D Delegate the allocation of IP addresses to pppd. If specified,
106 no local and remote addresses passed to pppd.
107
108
109 -N num Allows at most num concurrent PPPoE sessions. If not specified,
110 the default is 64.
111
112
113 -M string
114 Sends string in a MOTM tag in a PADM packet right after sending
115 the PADS to a client.
116
117
118 -H url Sends url in a HURL tag in a PADM packet right after sending the
119 PADS to a client. Note that url must start with either http://
120 or https://.
121
122
123 -O fname
124 This option causes pppoe-server to tell pppd to use the option
125 file fname instead of the default /etc/ppp/pppoe-server-options.
126
127
128 -p fname
129 Reads the specified file fname which is a text file consisting
130 of one IP address per line. These IP addresses will be assigned
131 to clients. The number of sessions allowed will equal the num‐
132 ber of addresses found in the file. The -p option overrides
133 both -R and -N.
134
135 In addition to containing IP addresses, the pool file can con‐
136 tain lines of the form:
137
138 a.b.c.d-e
139
140 which includes all IP addresses from a.b.c.d to a.b.c.e. For
141 example, the line:
142
143 1.2.3.4-7
144
145 is equivalent to:
146
147 1.2.3.4
148 1.2.3.5
149 1.2.3.6
150 1.2.3.7
151
152
153 -r Tells the PPPoE server to randomly permute session numbers.
154 Instead of handing out sessions in order, the session numbers
155 are assigned in an unpredictable order.
156
157
158 -d Debug session creation.
159
160
161 -u Tells the server to invoke pppd with the unit option. Note that
162 this option only works for pppd version 2.4.0 or newer.
163
164
165 -o offset
166 Instead of numbering PPPoE sessions starting at 1, they will be
167 numbered starting at offset+1. This allows you to run multiple
168 servers on a given machine; just make sure that their session
169 numbers do not overlap.
170
171
172 -f disc:sess
173 The -f option sets the Ethernet frame types for PPPoE discovery
174 and session frames. The types are specified as hexadecimal num‐
175 bers separated by a colon. Standard PPPoE uses frame types
176 8863:8864. You should not use this option unless you are abso‐
177 lutely sure the peer you are dealing with uses non-standard
178 frame types.
179
180
181 -k The -k option tells the server to use kernel-mode PPPoE on
182 Linux. This option is available only on Linux kernels 2.4.0 and
183 later, and only if the server was built with kernel-mode sup‐
184 port.
185
186
187 -i The -i option tells the server to completely ignore PADI frames
188 if there are no free session slots.
189
190
191 -h The -h option prints a brief usage message and exits.
192
193
195 pppoe-server listens for incoming PPPoE discovery packets. When a ses‐
196 sion is established, it spawns a pppd process. The following options
197 are passed to pppd:
198
199 nodetach noaccomp nobsdcom nodeflate nopcomp novj novjccomp
200 default-asyncmap
201
202 In addition, the local and remote IP address are set based on the -L
203 and -R options. The pty option is supplied along with a pppoe command
204 to initiate the PPPoE session. Finally, additional pppd options can be
205 placed in the file /etc/ppp/pppoe-server-options (which must exist,
206 even if it is just empty!)
207
208 Note that pppoe-server is meant mainly for testing PPPoE clients. It
209 is not a high-performance server meant for production use.
210
211
213 pppoe-server was written by Dianne Skoll <dianne@skoll.ca>.
214
215 The pppoe home page is https://dianne.skoll.ca/projects/rp-pppoe/.
216
217
219 pppoe-start(8), pppoe-stop(8), pppoe-connect(8), pppd(8),
220 pppoe.conf(5), pppoe(8), pppoe-setup(8), pppoe-status(8), pppoe-
221 sniff(8), pppoe-relay(8)
222
223
224
225
2264th Berkeley Distribution 21 June 2008 PPPOE-SERVER(8)