1PPPOE-SERVER(8)             System Manager's Manual            PPPOE-SERVER(8)
2
3
4

NAME

6       pppoe-server - user-space PPPoE server
7

SYNOPSIS

9       pppoe-server [options]
10
11

DESCRIPTION

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

OPTIONS

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

OPERATION

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

AUTHORS

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

SEE ALSO

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)
Impressum