Provided by: pppoe_3.8-3ubuntu1_amd64 bug


       pppoe-server - user-space PPPoE server


       pppoe-server [options]


       pppoe-server  is a user-space server for PPPoE (Point-to-Point Protocol over Ethernet) for
       Linux and other UNIX systems.  pppoe-server works in concert  with  the  pppoe  client  to
       respond to PPPoE discovery packets and set up PPPoE sessions.


       -F     The  -F option causes pppoe-server not to fork and become a daemon.  The default is
              to fork and become a daemon.

       -I interface
              The -I option specifies  the  Ethernet  interface  to  use.   Under  Linux,  it  is
              typically  eth0  or  eth1.   The  interface  should be "up" before you start pppoe-
              server, but should not be configured  to  have  an  IP  address.   You  can  supply
              multiple -I options if you want the server to respond on more than one interface.

       -T timeout
              This  option  is  passed  directly  to pppoe; see pppoe(8) for details.  If you are
              using kernel-mode PPPoE, this option has no effect.

       -C ac_name
              Specifies which name to report as the access concentrator name.  If  not  supplied,
              the host name is used.

       -S name
              Offer  a service named name.  Multiple -S options may be specified; each one causes
              the named service to be advertised in a Service-Name tag in the  PADO  frame.   The
              first  -S  option  specifies  the  default service, and is used if the PPPoE client
              requests a Service-Name of length zero.

       -m MSS This option is passed directly to pppoe; see pppoe(8)  for  details.   If  you  are
              using kernel-mode PPPoE, this option has no effect.

       -s     This option is passed directly to pppoe; see pppoe(8) for details.  In addition, it
              causes pppd to be invoked with the sync option.

       -L ip  Sets the local IP address.  This is passed  to  spawned  pppd  processes.   If  not
              specified, the default is

       -R ip  Sets the starting remote IP address.  As sessions are established, IP addresses are
              assigned starting from ip.   pppoe-server automatically keeps track of the pool  of
              addresses  and  passes  a  valid  remote  IP  address to pppd.  If not specified, a
              starting address of is used.

       -D     Delegate the allocation of IP addresses to pppd.  If specified, neither  local  nor
              remote address is passed to pppd.

       -N num Allows at most num concurrent PPPoE sessions.  If not specified, the default is 64.

       -O fname
              This  option  causes pppoe-server to tell pppd to use the option file fname instead
              of the default /etc/ppp/pppoe-server-options.

       -p fname
              Reads the specified file fname which is a text file consisting of  one  IP  address
              per  line.  These IP addresses will be assigned to clients.  The number of sessions
              allowed will equal the number of addresses  found  in  the  file.   The  -p  option
              overrides both -R and -N.

              In  addition  to  containing  IP  addresses, the pool file can contain lines of the


              which includes all IP addresses from a.b.c.d to a.b.c.e.  For example, the line:


              is equivalent to:


       -r     Tells the PPPoE server to randomly permute session numbers.  Instead of handing out
              sessions in order, the session numbers are assigned in an unpredictable order.

       -u     Tells  the  server to invoke pppd with the unit option.  Note that this option only
              works for pppd version 2.4.0 or newer.

       -o offset
              Instead of numbering PPPoE sessions starting at 1, they will be  numbered  starting
              at offset+1.  This allows you to run multiple servers on a given machine; just make
              sure that their session numbers do not overlap.

       -f disc:sess
              The -f option sets the Ethernet frame types for PPPoE discovery and session frames.
              The  types  are  specified  as  hexadecimal numbers separated by a colon.  Standard
              PPPoE uses frame types 8863:8864.  You should not use this option  unless  you  are
              absolutely sure the peer you are dealing with uses non-standard frame types.

       -k     The  -k  option tells the server to use kernel-mode PPPoE on Linux.  This option is
              available only on Linux kernels 2.4.0 and later, and only if the server  was  built
              with kernel-mode support.

       -h     The -h option prints a brief usage message and exits.


       pppoe-server listens for incoming PPPoE discovery packets.  When a session is established,
       it spawns a pppd process.  The following options are passed to pppd:

       nodetach noaccomp nobsdcom nodeflate nopcomp novj novjccomp

       In addition, the local and remote IP address are set based on the -L and -R options.   The
       pty option is supplied along with a pppoe command to initiate the PPPoE session.  Finally,
       additional pppd options can be placed in  the  file  /etc/ppp/pppoe-server-options  (which
       must exist, even if it is just empty!)

       Note  that  pppoe-server  is  meant  mainly  for testing PPPoE clients.  It is not a high-
       performance server meant for production use.


       pppoe-server was written by David F. Skoll <>.

       The pppoe home page is


       pppd(8), pppoe(8), pppoe-sniff(8), pppoe-relay(8), /usr/share/doc/pppoe/README.Debian.gz