1PPPD(8)                     System Manager's Manual                    PPPD(8)
2
3
4

NAME

6       pppd - Point-to-Point Protocol Daemon
7

SYNOPSIS

9       pppd [ options ]
10

DESCRIPTION

12       PPP  is  the protocol used for establishing internet links over dial-up
13       modems, DSL connections, and many other types of point-to-point  links.
14       The  pppd daemon works together with the kernel PPP driver to establish
15       and maintain a PPP link with another system (called the  peer)  and  to
16       negotiate  Internet  Protocol  (IP) addresses for each end of the link.
17       Pppd can also authenticate the peer and/or supply authentication infor‐
18       mation  to  the  peer.   PPP  can  be used with other network protocols
19       besides IP, but such use is becoming increasingly rare.
20

FREQUENTLY USED OPTIONS

22       ttyname
23              Use the serial port called ttyname to communicate with the peer.
24              If  ttyname  does not begin with a slash (/), the string "/dev/"
25              is prepended to ttyname to form the name of the device to  open.
26              If  no device name is given, or if the name of the terminal con‐
27              nected to the standard input is given, pppd will use that termi‐
28              nal, and will not fork to put itself in the background.  A value
29              for this option from a privileged source cannot be overridden by
30              a non-privileged user.
31
32       speed  An  option that is a decimal number is taken as the desired baud
33              rate for the serial device.  On systems such as 4.4BSD and  Net‐
34              BSD,  any  speed  can  be specified.  Other systems (e.g. Linux,
35              SunOS) only support the commonly-used baud rates.
36
37       asyncmap map
38              This option sets the Async-Control-Character-Map (ACCM) for this
39              end  of the link.  The ACCM is a set of 32 bits, one for each of
40              the ASCII control characters with values from 0 to 31, where a 1
41              bit  indicates  that  the corresponding control character should
42              not be used in PPP packets sent to  this  system.   The  map  is
43              encoded as a hexadecimal number (without a leading 0x) where the
44              least significant bit (00000001) represents character 0 and  the
45              most  significant  bit (80000000) represents character 31.  Pppd
46              will ask the peer to send these characters as  a  2-byte  escape
47              sequence.   If  multiple  asyncmap options are given, the values
48              are ORed together.  If no asyncmap option is given, the  default
49              is  zero,  so  pppd  will ask the peer not to escape any control
50              characters.  To escape transmitted characters,  use  the  escape
51              option.
52
53       auth   Require  the peer to authenticate itself before allowing network
54              packets to be sent or received.  This option is the  default  if
55              the  system has a default route.  If neither this option nor the
56              noauth option is specified, pppd will only allow the peer to use
57              IP addresses to which the system does not already have a route.
58
59       call name
60              Read additional options from the file /etc/ppp/peers/name.  This
61              file may contain privileged options, such  as  noauth,  even  if
62              pppd  is  not  being run by root.  The name string may not begin
63              with / or include .. as a pathname component.  The format of the
64              options file is described below.
65
66       connect script
67              Usually there is something which needs to be done to prepare the
68              link before the PPP protocol can be started; for instance,  with
69              a  dial-up  modem, commands need to be sent to the modem to dial
70              the appropriate phone number.  This option specifies an  command
71              for pppd to execute (by passing it to a shell) before attempting
72              to start PPP negotiation.  The chat (8) program is often  useful
73              here,  as it provides a way to send arbitrary strings to a modem
74              and respond to received characters.  A  value  for  this  option
75              from  a  privileged  source cannot be overridden by a non-privi‐
76              leged user.
77
78       crtscts
79              Specifies that pppd should set the serial port to  use  hardware
80              flow  control using the RTS and CTS signals in the RS-232 inter‐
81              face.  If neither the crtscts, the nocrtscts,  the  cdtrcts  nor
82              the nocdtrcts option is given, the hardware flow control setting
83              for the serial port is left unchanged.  Some serial ports  (such
84              as  Macintosh  serial ports) lack a true RTS output. Such serial
85              ports use this mode to implement  unidirectional  flow  control.
86              The  serial port will suspend transmission when requested by the
87              modem (via CTS) but will be unable to request the modem to  stop
88              sending  to  the  computer. This mode retains the ability to use
89              DTR as a modem control line.
90
91       defaultroute
92              Add a default route to the system routing tables, using the peer
93              as the gateway, when IPCP negotiation is successfully completed.
94              This entry is removed when the PPP connection is  broken.   This
95              option is privileged if the nodefaultroute option has been spec‐
96              ified.
97
98       disconnect script
99              Execute the command specified by script,  by  passing  it  to  a
100              shell,  after pppd has terminated the link.  This command could,
101              for example, issue commands to the modem to cause it to hang  up
102              if  hardware modem control signals were not available.  The dis‐
103              connect script is not run if the modem has already hung  up.   A
104              value  for  this option from a privileged source cannot be over‐
105              ridden by a non-privileged user.
106
107       escape xx,yy,...
108              Specifies that certain characters should be escaped on transmis‐
109              sion (regardless of whether the peer requests them to be escaped
110              with its async control character map).   The  characters  to  be
111              escaped are specified as a list of hex numbers separated by com‐
112              mas.  Note that almost any character can be  specified  for  the
113              escape option, unlike the asyncmap option which only allows con‐
114              trol characters to be specified.  The characters which  may  not
115              be escaped are those with hex values 0x20 - 0x3f or 0x5e.
116
117       file name
118              Read  options  from  file  name (the format is described below).
119              The file must be readable by the user who has invoked pppd.
120
121       init script
122              Execute the command specified by script,  by  passing  it  to  a
123              shell,  to  initialize the serial line.  This script would typi‐
124              cally use the chat(8) program to configure the modem  to  enable
125              auto  answer.   A value for this option from a privileged source
126              cannot be overridden by a non-privileged user.
127
128       lock   Specifies that pppd should create a UUCP-style lock file for the
129              serial  device  to  ensure  exclusive  access to the device.  By
130              default, pppd will not create a lock file.
131
132       mru n  Set the MRU [Maximum Receive Unit] value to n. Pppd will ask the
133              peer  to  send  packets of no more than n bytes.  The value of n
134              must be between 128 and 16384; the default is 1500.  A value  of
135              296  works well on very slow links (40 bytes for TCP/IP header +
136              256 bytes of data).  Note that for the IPv6  protocol,  the  MRU
137              must be at least 1280.
138
139       mtu n  Set the MTU [Maximum Transmit Unit] value to n.  Unless the peer
140              requests a smaller value via MRU negotiation, pppd will  request
141              that  the  kernel  networking  code send data packets of no more
142              than n bytes through the PPP network interface.  Note  that  for
143              the IPv6 protocol, the MTU must be at least 1280.
144
145       passive
146              Enables the "passive" option in the LCP.  With this option, pppd
147              will attempt to initiate a connection; if no reply  is  received
148              from  the  peer,  pppd will then just wait passively for a valid
149              LCP packet from the peer, instead of exiting, as it would  with‐
150              out this option.
151

OPTIONS

153       <local_IP_address>:<remote_IP_address>
154              Set  the local and/or remote interface IP addresses.  Either one
155              may be omitted.  The IP addresses can be specified with  a  host
156              name  or  in  decimal  dot  notation  (e.g. 150.234.56.78).  The
157              default local address is the (first) IP address  of  the  system
158              (unless  the  noipdefault  option is given).  The remote address
159              will be obtained from the peer if not specified in  any  option.
160              Thus,  in simple cases, this option is not required.  If a local
161              and/or remote IP address is specified  with  this  option,  pppd
162              will  not  accept  a  different  value from the peer in the IPCP
163              negotiation,     unless     the     ipcp-accept-local     and/or
164              ipcp-accept-remote options are given, respectively.
165
166       ipv6 <local_interface_identifier>,<remote_interface_identifier>
167              Set  the local and/or remote 64-bit interface identifier. Either
168              one may be omitted. The identifier must be specified in standard
169              ASCII  notation  of  IPv6  addresses  (e.g. ::dead:beef). If the
170              ipv6cp-use-ipaddr option is given, the local identifier  is  the
171              local  IPv4  address  (see  above).  On systems which supports a
172              unique persistent id, such as EUI-48 derived from  the  Ethernet
173              MAC address, ipv6cp-use-persistent option can be used to replace
174              the ipv6 <local>,<remote> option. Otherwise  the  identifier  is
175              randomized.
176
177       active-filter filter-expression
178              Specifies  a  packet  filter  to  be  applied to data packets to
179              determine which packets are to be regarded as link activity, and
180              therefore  reset the idle timer, or cause the link to be brought
181              up in demand-dialling mode.  This option is useful  in  conjunc‐
182              tion  with  the  idle  option if there are packets being sent or
183              received regularly over the link (for example, routing  informa‐
184              tion  packets)  which would otherwise prevent the link from ever
185              appearing to  be  idle.   The  filter-expression  syntax  is  as
186              described for tcpdump(1), except that qualifiers which are inap‐
187              propriate for a PPP link, such as ether and arp, are not permit‐
188              ted.  Generally the filter expression should be enclosed in sin‐
189              gle-quotes to prevent whitespace in the  expression  from  being
190              interpreted  by  the shell. This option is currently only avail‐
191              able under Linux, and requires that the kernel was configured to
192              include PPP filtering support (CONFIG_PPP_FILTER).  Note that it
193              is possible to apply different constraints to incoming and  out‐
194              going packets using the inbound and outbound qualifiers.
195
196       allow-ip address(es)
197              Allow  peers  to  use  the  given  IP  address or subnet without
198              authenticating themselves.  The parameter is parsed as for  each
199              element of the list of allowed IP addresses in the secrets files
200              (see the AUTHENTICATION section below).
201
202       allow-number number
203              Allow peers to connect  from  the  given  telephone  number.   A
204              trailing `*' character will match all numbers beginning with the
205              leading part.
206
207       bsdcomp nr,nt
208              Request that the peer compress packets that it sends, using  the
209              BSD-Compress  scheme,  with  a maximum code size of nr bits, and
210              agree to compress packets sent to the peer with a  maximum  code
211              size  of  nt  bits.   If nt is not specified, it defaults to the
212              value given for nr.  Values in the range 9 to 15 may be used for
213              nr  and  nt;  larger  values give better compression but consume
214              more kernel memory for compression dictionaries.  Alternatively,
215              a  value  of  0  for nr or nt disables compression in the corre‐
216              sponding direction.  Use nobsdcomp or bsdcomp 0 to disable  BSD-
217              Compress compression entirely.
218
219       cdtrcts
220              Use  a non-standard hardware flow control (i.e. DTR/CTS) to con‐
221              trol the flow of data  on  the  serial  port.   If  neither  the
222              crtscts,  the nocrtscts, the cdtrcts nor the nocdtrcts option is
223              given, the hardware flow control setting for the serial port  is
224              left  unchanged.   Some  serial  ports (such as Macintosh serial
225              ports) lack a true RTS output. Such serial ports use  this  mode
226              to  implement true bi-directional flow control. The sacrifice is
227              that this flow control mode does not permit using DTR as a modem
228              control line.
229
230       chap-interval n
231              If  this option is given, pppd will rechallenge the peer every n
232              seconds.
233
234       chap-max-challenge n
235              Set the maximum number of  CHAP  challenge  transmissions  to  n
236              (default 10).
237
238       chap-restart n
239              Set  the CHAP restart interval (retransmission timeout for chal‐
240              lenges) to n seconds (default 3).
241
242       child-timeout n
243              When exiting, wait for up to n seconds for any  child  processes
244              (such  as  the  command  specified with the pty command) to exit
245              before exiting.  At the end of the timeout,  pppd  will  send  a
246              SIGTERM  signal  to  any  remaining child processes and exit.  A
247              value of 0 means no timeout, that is, pppd will wait  until  all
248              child processes have exited.
249
250       connect-delay n
251              Wait  for up to n milliseconds after the connect script finishes
252              for a valid PPP packet from the peer.  At the end of this  time,
253              or  when a valid PPP packet is received from the peer, pppd will
254              commence negotiation by  sending  its  first  LCP  packet.   The
255              default value is 1000 (1 second).  This wait period only applies
256              if the connect or pty option is used.
257
258       debug  Enables connection debugging  facilities.   If  this  option  is
259              given, pppd will log the contents of all control packets sent or
260              received in a readable form.  The  packets  are  logged  through
261              syslog  with  facility daemon and level debug.  This information
262              can be directed to a file by setting up /etc/syslog.conf  appro‐
263              priately (see syslog.conf(5)).
264
265       default-asyncmap
266              Disable  asyncmap negotiation, forcing all control characters to
267              be escaped for both the transmit and the receive direction.
268
269       default-mru
270              Disable MRU  [Maximum  Receive  Unit]  negotiation.   With  this
271              option,  pppd  will  use the default MRU value of 1500 bytes for
272              both the transmit and receive direction.
273
274       deflate nr,nt
275              Request that the peer compress packets that it sends, using  the
276              Deflate  scheme,  with a maximum window size of 2**nr bytes, and
277              agree to compress packets sent to the peer with a maximum window
278              size of 2**nt bytes.  If nt is not specified, it defaults to the
279              value given for nr.  Values in the range 9 to 15 may be used for
280              nr  and  nt;  larger  values give better compression but consume
281              more kernel memory for compression dictionaries.  Alternatively,
282              a  value  of  0  for nr or nt disables compression in the corre‐
283              sponding direction.  Use  nodeflate  or  deflate  0  to  disable
284              Deflate compression entirely.  (Note: pppd requests Deflate com‐
285              pression in preference  to  BSD-Compress  if  the  peer  can  do
286              either.)
287
288       demand Initiate  the  link  only  on  demand, i.e. when data traffic is
289              present.  With this option, the remote IP address must be speci‐
290              fied  by  the  user  on  the command line or in an options file.
291              Pppd will initially configure the interface and enable it for IP
292              traffic  without connecting to the peer.  When traffic is avail‐
293              able, pppd will connect to the  peer  and  perform  negotiation,
294              authentication, etc.  When this is completed, pppd will commence
295              passing data packets (i.e., IP packets) across the link.
296
297              The demand option implies the persist option.  If this behaviour
298              is  not  desired,  use  the  nopersist  option  after the demand
299              option.  The idle and holdoff options are also  useful  in  con‐
300              junction with the demand option.
301
302       domain d
303              Append  the domain name d to the local host name for authentica‐
304              tion purposes.  For example, if gethostname() returns  the  name
305              porsche,    but    the    fully   qualified   domain   name   is
306              porsche.Quotron.COM, you could specify domain Quotron.COM.  Pppd
307              would  then  use  the  name  porsche.Quotron.COM  for looking up
308              secrets in the secrets file, and as the default name to send  to
309              the peer when authenticating itself to the peer.  This option is
310              privileged.
311
312       dryrun With the dryrun option, pppd will print out all the option  val‐
313              ues which have been set and then exit, after parsing the command
314              line and options files  and  checking  the  option  values,  but
315              before  initiating  the  link.   The option values are logged at
316              level info, and also  printed  to  standard  output  unless  the
317              device on standard output is the device that pppd would be using
318              to communicate with the peer.
319
320       dump   With the dump option, pppd will print out all the option  values
321              which  have  been  set.   This  option is like the dryrun option
322              except that pppd proceeds as normal rather than exiting.
323
324       enable-session
325              Enables session accounting via PAM or wtwp/wtmpx,  as  appropri‐
326              ate.   When PAM is enabled, the PAM "account" and "session" mod‐
327              ule stacks determine behavior,  and  are  enabled  for  all  PPP
328              authentication  protocols.   When  PAM  is  disabled, wtmp/wtmpx
329              entries are recorded regardless of whether the peer name identi‐
330              fies  a  valid user on the local system, making peers visible in
331              the last(1) log.  This feature is automatically enabled when the
332              pppd  login  option  is used.  Session accounting is disabled by
333              default.
334
335       endpoint <epdisc>
336              Sets the endpoint discriminator sent by the local machine to the
337              peer  during  multilink negotiation to <epdisc>.  The default is
338              to use the MAC address of the first ethernet  interface  on  the
339              system,  if any, otherwise the IPv4 address corresponding to the
340              hostname, if any,  provided  it  is  not  in  the  multicast  or
341              locally-assigned  IP  address  ranges, or the localhost address.
342              The endpoint discriminator can be the string null or of the form
343              type:value, where type is a decimal number or one of the strings
344              local, IP, MAC, magic, or phone.  The value is an IP address  in
345              dotted-decimal notation for the IP type, or a string of bytes in
346              hexadecimal, separated by periods or colons for the other types.
347              For  the MAC type, the value may also be the name of an ethernet
348              or similar network interface.  This  option  is  currently  only
349              available under Linux.
350
351       eap-interval n
352              If this option is given and pppd authenticates the peer with EAP
353              (i.e., is the server),  pppd  will  restart  EAP  authentication
354              every  n  seconds.   For EAP SRP-SHA1, see also the srp-interval
355              option, which enables lightweight rechallenge.
356
357       eap-max-rreq n
358              Set the maximum number  of  EAP  Requests  to  which  pppd  will
359              respond  (as  a  client) without hearing EAP Success or Failure.
360              (Default is 20.)
361
362       eap-max-sreq n
363              Set the maximum number of EAP Requests that pppd will issue  (as
364              a server) while attempting authentication.  (Default is 10.)
365
366       eap-restart n
367              Set  the  retransmit  timeout  for EAP Requests when acting as a
368              server (authenticator).  (Default is 3 seconds.)
369
370       eap-timeout n
371              Set the maximum time to wait for the peer to send an EAP Request
372              when  acting  as  a client (authenticatee).  (Default is 20 sec‐
373              onds.)
374
375       hide-password
376              When logging the contents of PAP  packets,  this  option  causes
377              pppd  to  exclude the password string from the log.  This is the
378              default.
379
380       holdoff n
381              Specifies how many seconds to wait before re-initiating the link
382              after  it  terminates.   This  option only has any effect if the
383              persist or demand option is used.  The  holdoff  period  is  not
384              applied if the link was terminated because it was idle.
385
386       idle n Specifies  that pppd should disconnect if the link is idle for n
387              seconds.  The link is idle when no data packets (i.e.  IP  pack‐
388              ets)  are  being sent or received.  Note: it is not advisable to
389              use this option with  the  persist  option  without  the  demand
390              option.   If  the  active-filter  option  is given, data packets
391              which are rejected by the specified activity filter  also  count
392              as the link being idle.
393
394       ipcp-accept-local
395              With  this option, pppd will accept the peer's idea of our local
396              IP address, even if the local IP address  was  specified  in  an
397              option.
398
399       ipcp-accept-remote
400              With  this  option,  pppd  will  accept  the  peer's idea of its
401              (remote) IP address, even if the remote IP address was specified
402              in an option.
403
404       ipcp-max-configure n
405              Set  the  maximum number of IPCP configure-request transmissions
406              to n (default 10).
407
408       ipcp-max-failure n
409              Set the maximum number of IPCP  configure-NAKs  returned  before
410              starting to send configure-Rejects instead to n (default 10).
411
412       ipcp-max-terminate n
413              Set  the  maximum number of IPCP terminate-request transmissions
414              to n (default 3).
415
416       ipcp-restart n
417              Set the IPCP restart interval (retransmission timeout) to n sec‐
418              onds (default 3).
419
420       ipparam string
421              Provides  an extra parameter to the ip-up, ip-pre-up and ip-down
422              scripts.  If this option is given, the string supplied is  given
423              as the 6th parameter to those scripts.
424
425       ipv6cp-max-configure n
426              Set the maximum number of IPv6CP configure-request transmissions
427              to n (default 10).
428
429       ipv6cp-max-failure n
430              Set the maximum number of IPv6CP configure-NAKs returned  before
431              starting to send configure-Rejects instead to n (default 10).
432
433       ipv6cp-max-terminate n
434              Set the maximum number of IPv6CP terminate-request transmissions
435              to n (default 3).
436
437       ipv6cp-restart n
438              Set the IPv6CP restart interval (retransmission  timeout)  to  n
439              seconds (default 3).
440
441       ipx    Enable  the  IPXCP  and IPX protocols.  This option is presently
442              only supported under Linux, and only if  your  kernel  has  been
443              configured to include IPX support.
444
445       ipx-network n
446              Set  the IPX network number in the IPXCP configure request frame
447              to n, a hexadecimal number (without a leading 0x).  There is  no
448              valid  default.   If  this  option is not specified, the network
449              number is obtained from the peer.  If the peer does not have the
450              network number, the IPX protocol will not be started.
451
452       ipx-node n:m
453              Set  the  IPX  node  numbers. The two node numbers are separated
454              from each other with a colon character. The first  number  n  is
455              the  local  node  number. The second number m is the peer's node
456              number. Each node number is a hexadecimal  number,  at  most  10
457              digits long. The node numbers on the ipx-network must be unique.
458              There is no valid default. If this option is not specified  then
459              the node numbers are obtained from the peer.
460
461       ipx-router-name <string>
462              Set  the name of the router. This is a string and is sent to the
463              peer as information data.
464
465       ipx-routing n
466              Set the routing protocol to be received  by  this  option.  More
467              than  one  instance  of ipx-routing may be specified. The 'none'
468              option (0) may be specified as the only instance of ipx-routing.
469              The values may be 0 for NONE, 2 for RIP/SAP, and 4 for NLSP.
470
471       ipxcp-accept-local
472              Accept  the  peer's  NAK  for  the  node number specified in the
473              ipx-node option. If a node number was specified,  and  non-zero,
474              the  default is to insist that the value be used. If you include
475              this option then you will permit the peer to override the  entry
476              of the node number.
477
478       ipxcp-accept-network
479              Accept  the  peer's  NAK for the network number specified in the
480              ipx-network option. If a network number was specified, and  non-
481              zero,  the  default  is to insist that the value be used. If you
482              include this option then you will permit the  peer  to  override
483              the entry of the node number.
484
485       ipxcp-accept-remote
486              Use the peer's network number specified in the configure request
487              frame. If a node number was specified  for  the  peer  and  this
488              option  was  not  specified,  the peer will be forced to use the
489              value which you have specified.
490
491       ipxcp-max-configure n
492              Set the maximum number of IPXCP configure request  frames  which
493              the system will send to n. The default is 10.
494
495       ipxcp-max-failure n
496              Set  the maximum number of IPXCP NAK frames which the local sys‐
497              tem will send before it rejects the options. The  default  value
498              is 3.
499
500       ipxcp-max-terminate n
501              Set  the maximum number of IPXCP terminate request frames before
502              the local system considers that the peer  is  not  listening  to
503              them. The default value is 3.
504
505       kdebug n
506              Enable debugging code in the kernel-level PPP driver.  The argu‐
507              ment values depend on the specific kernel driver, but in general
508              a  value  of 1 will enable general kernel debug messages.  (Note
509              that these messages are usually only useful  for  debugging  the
510              kernel  driver  itself.)  For the Linux 2.2.x kernel driver, the
511              value is a sum of bits: 1 to enable general debug messages, 2 to
512              request  that the contents of received packets be printed, and 4
513              to request that the contents of transmitted packets be  printed.
514              On  most  systems,  messages printed by the kernel are logged by
515              syslog(1) to a file as directed in the /etc/syslog.conf configu‐
516              ration file.
517
518       ktune  Enables  pppd  to  alter  kernel settings as appropriate.  Under
519              Linux,   pppd   will   enable   IP    forwarding    (i.e.    set
520              /proc/sys/net/ipv4/ip_forward  to  1)  if the proxyarp option is
521              used, and will enable the dynamic IP address  option  (i.e.  set
522              /proc/sys/net/ipv4/ip_dynaddr  to 1) in demand mode if the local
523              address changes.
524
525       lcp-echo-failure n
526              If this option is given, pppd will presume the peer to  be  dead
527              if  n  LCP  echo-requests are sent without receiving a valid LCP
528              echo-reply.  If this happens, pppd will  terminate  the  connec‐
529              tion.   Use  of  this  option  requires a non-zero value for the
530              lcp-echo-interval parameter.  This option can be used to  enable
531              pppd  to terminate after the physical connection has been broken
532              (e.g., the modem has hung up) in situations  where  no  hardware
533              modem control lines are available.
534
535       lcp-echo-interval n
536              If  this  option  is  given,  pppd will send an LCP echo-request
537              frame to the peer every n seconds.   Normally  the  peer  should
538              respond  to  the  echo-request  by  sending an echo-reply.  This
539              option can be used with the lcp-echo-failure  option  to  detect
540              that the peer is no longer connected.
541
542       lcp-max-configure n
543              Set the maximum number of LCP configure-request transmissions to
544              n (default 10).
545
546       lcp-max-failure n
547              Set the maximum number of  LCP  configure-NAKs  returned  before
548              starting to send configure-Rejects instead to n (default 10).
549
550       lcp-max-terminate n
551              Set the maximum number of LCP terminate-request transmissions to
552              n (default 3).
553
554       lcp-restart n
555              Set the LCP restart interval (retransmission timeout) to n  sec‐
556              onds (default 3).
557
558       linkname name
559              Sets  the  logical name of the link to name.  Pppd will create a
560              file named ppp-name.pid in /var/run (or /etc/ppp  on  some  sys‐
561              tems)  containing  its process ID.  This can be useful in deter‐
562              mining which instance of pppd is responsible for the link  to  a
563              given peer system.  This is a privileged option.
564
565       local  Don't  use the modem control lines.  With this option, pppd will
566              ignore the state of the CD  (Carrier  Detect)  signal  from  the
567              modem  and  will  not change the state of the DTR (Data Terminal
568              Ready) signal.  This is the opposite of the modem option.
569
570       logfd n
571              Send log messages to file descriptor n.  Pppd will send log mes‐
572              sages to at most one file or file descriptor (as well as sending
573              the log messages to syslog), so  this  option  and  the  logfile
574              option  are mutually exclusive.  The default is for pppd to send
575              log messages to stdout (file descriptor 1),  unless  the  serial
576              port is already open on stdout.
577
578       logfile filename
579              Append log messages to the file filename (as well as sending the
580              log messages to syslog).  The file is opened with the privileges
581              of the user who invoked pppd, in append mode.
582
583       login  Use  the  system  password  database for authenticating the peer
584              using PAP, and record the user in the system  wtmp  file.   Note
585              that  the  peer  must  have an entry in the /etc/ppp/pap-secrets
586              file as well as the  system  password  database  to  be  allowed
587              access.  See also the enable-session option.
588
589       maxconnect n
590              Terminate  the connection when it has been available for network
591              traffic for n seconds (i.e. n seconds after  the  first  network
592              control protocol comes up).
593
594       maxfail n
595              Terminate  after  n  consecutive  failed connection attempts.  A
596              value of 0 means no limit.  The default value is 10.
597
598       modem  Use the modem control lines.  This option is the default.   With
599              this  option,  pppd will wait for the CD (Carrier Detect) signal
600              from the modem to be asserted when  opening  the  serial  device
601              (unless a connect script is specified), and it will drop the DTR
602              (Data Terminal Ready) signal briefly when the connection is ter‐
603              minated  and  before  executing  the connect script.  On Ultrix,
604              this option implies hardware flow control, as  for  the  crtscts
605              option.  This is the opposite of the local option.
606
607       mp     Enables the use of PPP multilink; this is an alias for the `mul‐
608              tilink' option.  This option is currently only  available  under
609              Linux.
610
611       mppe-stateful
612              Allow  MPPE  to  use  stateful  mode.   Stateless  mode is still
613              attempted first.  The default is to disallow stateful mode.
614
615       mpshortseq
616              Enables the use of short (12-bit) sequence numbers in  multilink
617              headers,  as opposed to 24-bit sequence numbers.  This option is
618              only available under Linux, and only has any effect if multilink
619              is enabled (see the multilink option).
620
621       mrru n Sets  the  Maximum Reconstructed Receive Unit to n.  The MRRU is
622              the maximum size for a received packet on  a  multilink  bundle,
623              and  is  analogous  to  the  MRU for the individual links.  This
624              option is currently only available under Linux, and only has any
625              effect if multilink is enabled (see the multilink option).
626
627       ms-dns <addr>
628              If  pppd  is  acting  as a server for Microsoft Windows clients,
629              this option allows pppd to supply one or two  DNS  (Domain  Name
630              Server)  addresses  to  the clients.  The first instance of this
631              option specifies the primary DNS address;  the  second  instance
632              (if  given)  specifies  the secondary DNS address.  (This option
633              was present in some  older  versions  of  pppd  under  the  name
634              dns-addr.)
635
636       ms-wins <addr>
637              If  pppd  is acting as a server for Microsoft Windows or "Samba"
638              clients, this option allows pppd to supply one or two WINS (Win‐
639              dows  Internet  Name  Services) server addresses to the clients.
640              The first instance of this option  specifies  the  primary  WINS
641              address;  the second instance (if given) specifies the secondary
642              WINS address.
643
644       multilink
645              Enables the use of the PPP multilink protocol.  If the peer also
646              supports  multilink,  then this link can become part of a bundle
647              between the local system and the peer.  If there is an  existing
648              bundle  to  the  peer,  pppd will join this link to that bundle,
649              otherwise pppd will create a new bundle.  See the MULTILINK sec‐
650              tion  below.   This  option  is  currently  only available under
651              Linux.
652
653       name name
654              Set the name of the local system for authentication purposes  to
655              name.  This is a privileged option.  With this option, pppd will
656              use lines in the secrets files which have  name  as  the  second
657              field  when  looking  for  a secret to use in authenticating the
658              peer.  In addition, unless overridden with the user option, name
659              will be used as the name to send to the peer when authenticating
660              the local system to the peer.  (Note that pppd does  not  append
661              the domain name to name.)
662
663       noaccomp
664              Disable Address/Control compression in both directions (send and
665              receive).
666
667       noauth Do not require the peer to authenticate itself.  This option  is
668              privileged.
669
670       nobsdcomp
671              Disables  BSD-Compress  compression;  pppd  will  not request or
672              agree to compress packets using the BSD-Compress scheme.
673
674       noccp  Disable CCP (Compression Control  Protocol)  negotiation.   This
675              option  should  only  be  required if the peer is buggy and gets
676              confused by requests from pppd for CCP negotiation.
677
678       nocrtscts
679              Disable hardware flow control (i.e. RTS/CTS) on the serial port.
680              If neither the crtscts nor the nocrtscts nor the cdtrcts nor the
681              nocdtrcts option is given, the hardware flow control setting for
682              the serial port is left unchanged.
683
684       nocdtrcts
685              This  option is a synonym for nocrtscts. Either of these options
686              will disable both forms of hardware flow control.
687
688       nodefaultroute
689              Disable the defaultroute option.  The system  administrator  who
690              wishes  to  prevent users from creating default routes with pppd
691              can do so by placing this option in the /etc/ppp/options file.
692
693       nodeflate
694              Disables Deflate compression; pppd will not request or agree  to
695              compress packets using the Deflate scheme.
696
697       nodetach
698              Don't  detach  from  the  controlling  terminal.   Without  this
699              option, if a serial device other than the terminal on the  stan‐
700              dard  input  is specified, pppd will fork to become a background
701              process.
702
703       noendpoint
704              Disables pppd from sending an endpoint discriminator to the peer
705              or  accepting  one  from  the  peer  (see  the MULTILINK section
706              below).  This option should only be  required  if  the  peer  is
707              buggy.
708
709       noip   Disable  IPCP  negotiation  and  IP  communication.  This option
710              should only be required if the peer is buggy and  gets  confused
711              by requests from pppd for IPCP negotiation.
712
713       noipv6 Disable  IPv6CP  negotiation and IPv6 communication. This option
714              should only be required if the peer is buggy and  gets  confused
715              by requests from pppd for IPv6CP negotiation.
716
717       noipdefault
718              Disables the default behaviour when no local IP address is spec‐
719              ified, which is to determine (if possible) the local IP  address
720              from the hostname.  With this option, the peer will have to sup‐
721              ply the local IP address  during  IPCP  negotiation  (unless  it
722              specified explicitly on the command line or in an options file).
723
724       noipx  Disable the IPXCP and IPX protocols.  This option should only be
725              required if the peer is buggy and gets confused by requests from
726              pppd for IPXCP negotiation.
727
728       noktune
729              Opposite of the ktune option; disables pppd from changing system
730              settings.
731
732       nolock Opposite of the lock option; specifies that pppd should not cre‐
733              ate  a  UUCP-style lock file for the serial device.  This option
734              is privileged.
735
736       nolog  Do not send log messages to a file  or  file  descriptor.   This
737              option cancels the logfd and logfile options.
738
739       nomagic
740              Disable magic number negotiation.  With this option, pppd cannot
741              detect a looped-back line.  This option should only be needed if
742              the peer is buggy.
743
744       nomp   Disables  the  use  of  PPP multilink.  This option is currently
745              only available under Linux.
746
747       nomppe Disables MPPE (Microsoft Point to Point  Encryption).   This  is
748              the default.
749
750       nomppe-40
751              Disable 40-bit encryption with MPPE.
752
753       nomppe-128
754              Disable 128-bit encryption with MPPE.
755
756       nomppe-stateful
757              Disable MPPE stateful mode.  This is the default.
758
759       nompshortseq
760              Disables  the  use of short (12-bit) sequence numbers in the PPP
761              multilink protocol, forcing the use of 24-bit sequence  numbers.
762              This  option  is  currently only available under Linux, and only
763              has any effect if multilink is enabled.
764
765       nomultilink
766              Disables the use of PPP multilink.   This  option  is  currently
767              only available under Linux.
768
769       nopcomp
770              Disable  protocol  field  compression  negotiation  in  both the
771              receive and the transmit direction.
772
773       nopersist
774              Exit once a connection has been made and  terminated.   This  is
775              the  default unless the persist or demand option has been speci‐
776              fied.
777
778       nopredictor1
779              Do not accept or agree to Predictor-1 compression.
780
781       noproxyarp
782              Disable the  proxyarp  option.   The  system  administrator  who
783              wishes  to  prevent  users  from creating proxy ARP entries with
784              pppd can do so by placing this option  in  the  /etc/ppp/options
785              file.
786
787       noremoteip
788              Allow pppd to operate without having an IP address for the peer.
789              This option is only available under Linux.  Normally, pppd  will
790              request  the  peer's IP address, and if the peer does not supply
791              it, pppd will not bring up the link for IP traffic.   With  this
792              option,  if  the  peer does not supply its IP address, pppd will
793              not ask the peer for  it,  and  will  not  set  the  destination
794              address of the ppp interface.  In this situation, the ppp inter‐
795              face can be used for routing by creating device routes, but  the
796              peer itself cannot be addressed directly for IP traffic.
797
798       notty  Normally,  pppd  requires  a terminal device.  With this option,
799              pppd will allocate itself a pseudo-tty master/slave pair and use
800              the  slave  as  its  terminal  device.  Pppd will create a child
801              process to act as a `character  shunt'  to  transfer  characters
802              between the pseudo-tty master and its standard input and output.
803              Thus pppd will transmit characters on its  standard  output  and
804              receive  characters  on  its standard input even if they are not
805              terminal devices.  This option increases  the  latency  and  CPU
806              overhead  of  transferring data over the ppp interface as all of
807              the characters sent and received must flow through the character
808              shunt process.  An explicit device name may not be given if this
809              option is used.
810
811       novj   Disable Van Jacobson style TCP/IP header compression in both the
812              transmit and the receive direction.
813
814       novjccomp
815              Disable  the  connection-ID  compression  option in Van Jacobson
816              style TCP/IP header compression.  With this  option,  pppd  will
817              not  omit  the  connection-ID  byte from Van Jacobson compressed
818              TCP/IP headers, nor ask the peer to do so.
819
820       papcrypt
821              Indicates that all  secrets  in  the  /etc/ppp/pap-secrets  file
822              which  are  used  for  checking  the  identity  of  the peer are
823              encrypted, and thus pppd should not  accept  a  password  which,
824              before   encryption,   is  identical  to  the  secret  from  the
825              /etc/ppp/pap-secrets file.
826
827       pap-max-authreq n
828              Set the maximum number of PAP authenticate-request transmissions
829              to n (default 10).
830
831       pap-restart n
832              Set  the PAP restart interval (retransmission timeout) to n sec‐
833              onds (default 3).
834
835       pap-timeout n
836              Set the maximum time that pppd will wait for the peer to authen‐
837              ticate itself with PAP to n seconds (0 means no limit).
838
839       pass-filter filter-expression
840              Specifies  a packet filter to applied to data packets being sent
841              or received to determine which  packets  should  be  allowed  to
842              pass.   Packets  which  are  rejected by the filter are silently
843              discarded.  This option can be used to prevent specific  network
844              daemons  (such as routed) using up link bandwidth, or to provide
845              a very basic firewall capability.  The filter-expression  syntax
846              is as described for tcpdump(1), except that qualifiers which are
847              inappropriate for a PPP link, such as ether  and  arp,  are  not
848              permitted.   Generally  the filter expression should be enclosed
849              in single-quotes to prevent whitespace in  the  expression  from
850              being  interpreted  by  the  shell.  Note that it is possible to
851              apply different constraints to  incoming  and  outgoing  packets
852              using  the  inbound and outbound qualifiers. This option is cur‐
853              rently only available under Linux, and requires that the  kernel
854              was configured to include PPP filtering support (CONFIG_PPP_FIL‐
855              TER).
856
857       password password-string
858              Specifies the password to use for authenticating  to  the  peer.
859              Use  of this option is discouraged, as the password is likely to
860              be visible to other users on the system (for example,  by  using
861              ps(1)).
862
863       persist
864              Do  not  exit  after  a connection is terminated; instead try to
865              reopen the connection. The maxfail option still has an effect on
866              persistent connections.
867
868       plugin filename
869              Load  the shared library object file filename as a plugin.  This
870              is a privileged option.  If filename does not  contain  a  slash
871              (/),  pppd  will look in the /usr/lib/pppd/version directory for
872              the plugin, where version is the version  number  of  pppd  (for
873              example, 2.4.2).
874
875       predictor1
876              Request  that  the peer compress frames that it sends using Pre‐
877              dictor-1 compression, and agree to compress  transmitted  frames
878              with Predictor-1 if requested.  This option has no effect unless
879              the kernel driver supports Predictor-1 compression.
880
881       privgroup group-name
882              Allows members of group group-name to  use  privileged  options.
883              This  is  a privileged option.  Use of this option requires care
884              as there is no guarantee that members of group-name  cannot  use
885              pppd  to  become  root  themselves.   Consider  it equivalent to
886              putting the members of group-name in the kmem or disk group.
887
888       proxyarp
889              Add an entry to this system's ARP [Address Resolution  Protocol]
890              table  with  the IP address of the peer and the Ethernet address
891              of this system.  This will have the effect of  making  the  peer
892              appear to other systems to be on the local ethernet.
893
894       pty script
895              Specifies  that  the command script is to be used to communicate
896              rather than a specific  terminal  device.   Pppd  will  allocate
897              itself  a  pseudo-tty master/slave pair and use the slave as its
898              terminal device.  The script will be run in a child process with
899              the  pseudo-tty  master  as  its  standard input and output.  An
900              explicit device name may not be given if this  option  is  used.
901              (Note:  if the record option is used in conjunction with the pty
902              option, the child process will have pipes on its standard  input
903              and output.)
904
905       receive-all
906              With  this  option, pppd will accept all control characters from
907              the peer, including those marked in the receive asyncmap.  With‐
908              out this option, pppd will discard those characters as specified
909              in RFC1662.  This option should only be needed if  the  peer  is
910              buggy.
911
912       record filename
913              Specifies  that  pppd  should  record  all  characters  sent and
914              received to a file named  filename.   This  file  is  opened  in
915              append  mode,  using  the  user's user-ID and permissions.  This
916              option is implemented using a pseudo-tty and a process to trans‐
917              fer  characters  between  the  pseudo-tty  and  the  real serial
918              device, so it will increase the  latency  and  CPU  overhead  of
919              transferring  data  over  the ppp interface.  The characters are
920              stored in a tagged format with timestamps,  which  can  be  dis‐
921              played in readable form using the pppdump(8) program.
922
923       remotename name
924              Set  the  assumed  name  of the remote system for authentication
925              purposes to name.
926
927       remotenumber number
928              Set the assumed  telephone  number  of  the  remote  system  for
929              authentication purposes to number.
930
931       refuse-chap
932              With  this option, pppd will not agree to authenticate itself to
933              the peer using CHAP.
934
935       refuse-mschap
936              With this option, pppd will not agree to authenticate itself  to
937              the peer using MS-CHAP.
938
939       refuse-mschap-v2
940              With  this option, pppd will not agree to authenticate itself to
941              the peer using MS-CHAPv2.
942
943       refuse-eap
944              With this option, pppd will not agree to authenticate itself  to
945              the peer using EAP.
946
947       refuse-pap
948              With  this option, pppd will not agree to authenticate itself to
949              the peer using PAP.
950
951       require-chap
952              Require the peer to authenticate itself  using  CHAP  [Challenge
953              Handshake Authentication Protocol] authentication.
954
955       require-mppe
956              Require  the  use of MPPE (Microsoft Point to Point Encryption).
957              This option disables all other compression types.   This  option
958              enables  both  40-bit and 128-bit encryption.  In order for MPPE
959              to successfully come up, you must have authenticated with either
960              MS-CHAP  or  MS-CHAPv2.  This option is presently only supported
961              under Linux, and only if your  kernel  has  been  configured  to
962              include MPPE support.
963
964       require-mppe-40
965              Require the use of MPPE, with 40-bit encryption.
966
967       require-mppe-128
968              Require the use of MPPE, with 128-bit encryption.
969
970       require-mschap
971              Require the peer to authenticate itself using MS-CHAP [Microsoft
972              Challenge Handshake Authentication Protocol] authentication.
973
974       require-mschap-v2
975              Require the peer to authenticate itself using MS-CHAPv2  [Micro‐
976              soft  Challenge  Handshake  Authentication  Protocol, Version 2]
977              authentication.
978
979       require-eap
980              Require the peer to authenticate itself  using  EAP  [Extensible
981              Authentication Protocol] authentication.
982
983       require-pap
984              Require  the  peer  to  authenticate  itself using PAP [Password
985              Authentication Protocol] authentication.
986
987       show-password
988              When logging the contents of PAP  packets,  this  option  causes
989              pppd to show the password string in the log message.
990
991       silent With this option, pppd will not transmit LCP packets to initiate
992              a connection until a valid LCP packet is received from the  peer
993              (as for the `passive' option with ancient versions of pppd).
994
995       srp-interval n
996              If this parameter is given and pppd uses EAP SRP-SHA1 to authen‐
997              ticate the peer (i.e., is the server), then pppd  will  use  the
998              optional lightweight SRP rechallenge mechanism at intervals of n
999              seconds.  This option is faster than eap-interval  reauthentica‐
1000              tion  because it uses a hash-based mechanism and does not derive
1001              a new session key.
1002
1003       srp-pn-secret string
1004              Set the long-term pseudonym-generating secret  for  the  server.
1005              This  value  is  optional  and  if set, needs to be known at the
1006              server (authenticator) side only, and should  be  different  for
1007              each  server  (or  poll of identical servers).  It is used along
1008              with the current date to generate a key to encrypt  and  decrypt
1009              the client's identity contained in the pseudonym.
1010
1011       srp-use-pseudonym
1012              When  operating  as  an  EAP SRP-SHA1 client, attempt to use the
1013              pseudonym stored in ~/.ppp_pseudonym first as the identity,  and
1014              save  in  this  file  any  pseudonym  offered by the peer during
1015              authentication.
1016
1017       sync   Use synchronous HDLC serial encoding  instead  of  asynchronous.
1018              The device used by pppd with this option must have sync support.
1019              Currently supports Microgate SyncLink adapters under  Linux  and
1020              FreeBSD 2.2.8 and later.
1021
1022       unit num
1023              Sets the ppp unit number (for a ppp0 or ppp1 etc interface name)
1024              for outbound connections.
1025
1026       updetach
1027              With this option, pppd will detach from its controlling terminal
1028              once  it has successfully established the ppp connection (to the
1029              point where the first network control protocol, usually  the  IP
1030              control protocol, has come up).
1031
1032       usehostname
1033              Enforce  the  use of the hostname (with domain name appended, if
1034              given) as the name of the local system for  authentication  pur‐
1035              poses  (overrides the name option).  This option is not normally
1036              needed since the name option is privileged.
1037
1038       usepeerdns
1039              Ask the peer for up to 2 DNS server  addresses.   The  addresses
1040              supplied  by  the peer (if any) are passed to the /etc/ppp/ip-up
1041              script in the environment variables DNS1 and DNS2, and the envi‐
1042              ronment variable USEPEERDNS will be set to 1.  In addition, pppd
1043              will create an /var/run/ppp/resolv.conf file containing  one  or
1044              two nameserver lines with the address(es) supplied by the peer.
1045
1046       user name
1047              Sets  the  name  used for authenticating the local system to the
1048              peer to name.
1049
1050       vj-max-slots n
1051              Sets the number of connection slots to be used by the Van Jacob‐
1052              son TCP/IP header compression and decompression code to n, which
1053              must be between 2 and 16 (inclusive).
1054
1055       welcome script
1056              Run the executable or shell command specified by  script  before
1057              initiating  PPP  negotiation,  after the connect script (if any)
1058              has completed.  A value for this option from a privileged source
1059              cannot be overridden by a non-privileged user.
1060
1061       xonxoff
1062              Use software flow control (i.e. XON/XOFF) to control the flow of
1063              data on the serial port.
1064

OPTIONS FILES

1066       Options can be taken from files as well  as  the  command  line.   Pppd
1067       reads   options   from   the   files   /etc/ppp/options,  ~/.ppprc  and
1068       /etc/ppp/options.ttyname (in that order) before processing the  options
1069       on the command line.  (In fact, the command-line options are scanned to
1070       find the terminal name before the options.ttyname file  is  read.)   In
1071       forming  the  name  of  the  options.ttyname file, the initial /dev/ is
1072       removed from the terminal name, and  any  remaining  /  characters  are
1073       replaced with dots.
1074
1075       An  options  file is parsed into a series of words, delimited by white‐
1076       space.  Whitespace can be included in a word by enclosing the  word  in
1077       double-quotes  (").  A backslash (\) quotes the following character.  A
1078       hash (#) starts a comment, which continues until the end of  the  line.
1079       There  is  no  restriction  on using the file or call options within an
1080       options file.
1081

SECURITY

1083       pppd provides system administrators with sufficient access control that
1084       PPP  access  to  a  server  machine can be provided to legitimate users
1085       without fear of compromising the security of the server or the  network
1086       it's  on.   This  control  is provided through restrictions on which IP
1087       addresses the peer may use, based on  its  authenticated  identity  (if
1088       any),  and  through restrictions on which options a non-privileged user
1089       may use.  Several of pppd's options are privileged, in particular those
1090       which  permit  potentially  insecure  configurations; these options are
1091       only accepted in files which are under the control of the system admin‐
1092       istrator, or if pppd is being run by root.
1093
1094       The  default  behaviour  of pppd is to allow an unauthenticated peer to
1095       use a given IP address only if the system does not already have a route
1096       to  that IP address.  For example, a system with a permanent connection
1097       to the wider internet will normally have a default route, and thus  all
1098       peers will have to authenticate themselves in order to set up a connec‐
1099       tion.  On such a system, the auth option is the default.  On the  other
1100       hand,  a system where the PPP link is the only connection to the inter‐
1101       net will not normally have a default route, so the peer will be able to
1102       use almost any IP address without authenticating itself.
1103
1104       As  indicated  above,  some  security-sensitive options are privileged,
1105       which means that they may not be used  by  an  ordinary  non-privileged
1106       user  running  a  setuid-root  pppd, either on the command line, in the
1107       user's ~/.ppprc file, or in an options file read using the file option.
1108       Privileged  options  may  be  used  in  /etc/ppp/options  file or in an
1109       options file read using the call option.  If pppd is being run  by  the
1110       root user, privileged options can be used without restriction.
1111
1112       When  opening  the device, pppd uses either the invoking user's user ID
1113       or the root UID (that is, 0), depending on whether the device name  was
1114       specified  by the user or the system administrator.  If the device name
1115       comes from a privileged source, that is, /etc/ppp/options or an options
1116       file  read  using  the call option, pppd uses full root privileges when
1117       opening the device.   Thus,  by  creating  an  appropriate  file  under
1118       /etc/ppp/peers, the system administrator can allow users to establish a
1119       ppp connection via a device which they would not normally have  permis‐
1120       sion  to access.  Otherwise pppd uses the invoking user's real UID when
1121       opening the device.
1122

AUTHENTICATION

1124       Authentication is the process whereby one peer convinces the  other  of
1125       its  identity.   This  involves  the first peer sending its name to the
1126       other, together with some kind of secret information which  could  only
1127       come  from  the  genuine  authorized  user  of  that  name.  In such an
1128       exchange, we will call the first peer the "client" and  the  other  the
1129       "server".   The  client has a name by which it identifies itself to the
1130       server, and the server also has a name by which it identifies itself to
1131       the  client.  Generally the genuine client shares some secret (or pass‐
1132       word) with the server, and authenticates  itself  by  proving  that  it
1133       knows  that secret.  Very often, the names used for authentication cor‐
1134       respond to the internet hostnames of the peers, but this is not  essen‐
1135       tial.
1136
1137       At  present, pppd supports three authentication protocols: the Password
1138       Authentication Protocol (PAP), Challenge Handshake Authentication  Pro‐
1139       tocol  (CHAP),  and  Extensible  Authentication  Protocol  (EAP).   PAP
1140       involves the client sending its name and a cleartext  password  to  the
1141       server  to  authenticate itself.  In contrast, the server initiates the
1142       CHAP authentication exchange by sending a challenge to the client  (the
1143       challenge  packet includes the server's name).  The client must respond
1144       with a response which includes its name plus a hash value derived  from
1145       the  shared  secret  and the challenge, in order to prove that it knows
1146       the secret.  EAP supports CHAP-style authentication, and also  includes
1147       the  SRP-SHA1 mechanism, which is resistant to dictionary-based attacks
1148       and does not require a cleartext password on the server side.
1149
1150       The PPP protocol, being symmetrical, allows both peers to  require  the
1151       other  to authenticate itself.  In that case, two separate and indepen‐
1152       dent authentication exchanges will occur.  The two exchanges could  use
1153       different  authentication  protocols, and in principle, different names
1154       could be used in the two exchanges.
1155
1156       The default behaviour of pppd is to agree to authenticate if requested,
1157       and  to  not  require authentication from the peer.  However, pppd will
1158       not agree to authenticate itself with a particular protocol if  it  has
1159       no secrets which could be used to do so.
1160
1161       Pppd  stores  secrets  for  use  in  authentication  in  secrets  files
1162       (/etc/ppp/pap-secrets for PAP, /etc/ppp/chap-secrets for CHAP, MS-CHAP,
1163       MS-CHAPv2,  and  EAP  MD5-Challenge,  and  /etc/ppp/srp-secrets for EAP
1164       SRP-SHA1).  All secrets files have the same format.  The secrets  files
1165       can  contain  secrets for pppd to use in authenticating itself to other
1166       systems, as well as secrets for pppd to use when  authenticating  other
1167       systems to itself.
1168
1169       Each  line  in  a  secrets file contains one secret.  A given secret is
1170       specific to a particular combination of client and server - it can only
1171       be  used  by  that  client to authenticate itself to that server.  Thus
1172       each line in a secrets file has at least 3  fields:  the  name  of  the
1173       client,  the  name  of the server, and the secret.  These fields may be
1174       followed by a list of the IP addresses that the  specified  client  may
1175       use when connecting to the specified server.
1176
1177       A  secrets  file  is  parsed  into  words as for a options file, so the
1178       client name, server name and secrets fields must each be one word, with
1179       any  embedded  spaces  or  other  special characters quoted or escaped.
1180       Note that case is significant in the client and server names and in the
1181       secret.
1182
1183       If  the  secret  starts  with an `@', what follows is assumed to be the
1184       name of a file from which to read the secret.  A "*" as the  client  or
1185       server  name matches any name.  When selecting a secret, pppd takes the
1186       best match, i.e.  the match with the fewest wildcards.
1187
1188       Any following words on the same line are taken to be a list of  accept‐
1189       able  IP  addresses  for that client.  If there are only 3 words on the
1190       line, or if the first word is "-", then all  IP  addresses  are  disal‐
1191       lowed.  To allow any address, use "*".  A word starting with "!"  indi‐
1192       cates that the specified address is not acceptable.  An address may  be
1193       followed  by  "/"  and a number n, to indicate a whole subnet, i.e. all
1194       addresses which have the same value in the most significant n bits.  In
1195       this form, the address may be followed by a plus sign ("+") to indicate
1196       that one address from the subnet is authorized, based on the  ppp  net‐
1197       work  interface unit number in use.  In this case, the host part of the
1198       address will be set to the unit number plus one.
1199
1200       Thus a secrets file contains both secrets  for  use  in  authenticating
1201       other  hosts, plus secrets which we use for authenticating ourselves to
1202       others.  When pppd is authenticating  the  peer  (checking  the  peer's
1203       identity),  it chooses a secret with the peer's name in the first field
1204       and the name of the local system in the second field.  The name of  the
1205       local system defaults to the hostname, with the domain name appended if
1206       the domain option is used.  This default can  be  overridden  with  the
1207       name  option,  except  when  the  usehostname option is used.  (For EAP
1208       SRP-SHA1, see the srp-entry(8) utility for generating proper  validator
1209       entries to be used in the "secret" field.)
1210
1211       When  pppd  is choosing a secret to use in authenticating itself to the
1212       peer, it first determines what name it is  going  to  use  to  identify
1213       itself  to  the  peer.  This name can be specified by the user with the
1214       user option.  If this option is not used, the name defaults to the name
1215       of the local system, determined as described in the previous paragraph.
1216       Then pppd looks for a secret with this name in the first field and  the
1217       peer's  name  in the second field.  Pppd will know the name of the peer
1218       if CHAP or EAP authentication is being used, because the peer will have
1219       sent  it  in the challenge packet.  However, if PAP is being used, pppd
1220       will have to determine the peer's name from the  options  specified  by
1221       the  user.   The  user  can  specify  the peer's name directly with the
1222       remotename option.  Otherwise, if the remote IP address  was  specified
1223       by  a name (rather than in numeric form), that name will be used as the
1224       peer's name.  Failing that, pppd will use the null string as the peer's
1225       name.
1226
1227       When  authenticating  the peer with PAP, the supplied password is first
1228       compared with the secret  from  the  secrets  file.   If  the  password
1229       doesn't  match  the secret, the password is encrypted using crypt() and
1230       checked against the secret again.  Thus secrets for authenticating  the
1231       peer  can  be  stored  in  encrypted  form if desired.  If the papcrypt
1232       option is given, the first (unencrypted)  comparison  is  omitted,  for
1233       better security.
1234
1235       Furthermore,  if the login option was specified, the username and pass‐
1236       word are also checked against the system password database.  Thus,  the
1237       system  administrator  can  set  up  the  pap-secrets file to allow PPP
1238       access only to certain users, and to restrict the set of  IP  addresses
1239       that  each  user  can use.  Typically, when using the login option, the
1240       secret in /etc/ppp/pap-secrets would be "", which will match any  pass‐
1241       word  supplied  by  the  peer.   This  avoids the need to have the same
1242       secret in two places.
1243
1244       Authentication must be satisfactorily completed  before  IPCP  (or  any
1245       other  Network  Control  Protocol)  can  be  started.   If  the peer is
1246       required to authenticate itself, and fails to do so, pppd  will  termi‐
1247       nated the link (by closing LCP).  If IPCP negotiates an unacceptable IP
1248       address for the remote host, IPCP will be closed.  IP packets can  only
1249       be sent or received when IPCP is open.
1250
1251       In some cases it is desirable to allow some hosts which can't authenti‐
1252       cate themselves to connect and use  one  of  a  restricted  set  of  IP
1253       addresses,  even when the local host generally requires authentication.
1254       If the peer refuses to authenticate itself when requested,  pppd  takes
1255       that  as  equivalent  to authenticating with PAP using the empty string
1256       for the  username  and  password.   Thus,  by  adding  a  line  to  the
1257       pap-secrets  file  which  specifies the empty string for the client and
1258       password, it is possible to allow  restricted  access  to  hosts  which
1259       refuse to authenticate themselves.
1260

ROUTING

1262       When  IPCP  negotiation is completed successfully, pppd will inform the
1263       kernel of the local and remote IP  addresses  for  the  ppp  interface.
1264       This  is  sufficient  to  create  a host route to the remote end of the
1265       link, which will enable the peers to exchange IP  packets.   Communica‐
1266       tion  with  other  machines  generally requires further modification to
1267       routing tables and/or ARP (Address  Resolution  Protocol)  tables.   In
1268       most  cases the defaultroute and/or proxyarp options are sufficient for
1269       this,  but  in  some  cases  further  intervention  is  required.   The
1270       /etc/ppp/ip-up script can be used for this.
1271
1272       Sometimes  it  is  desirable  to add a default route through the remote
1273       host, as in the case of a machine whose only connection to the Internet
1274       is  through  the ppp interface.  The defaultroute option causes pppd to
1275       create such a default route when IPCP comes up, and delete it when  the
1276       link is terminated.
1277
1278       In some cases it is desirable to use proxy ARP, for example on a server
1279       machine connected to a LAN, in order to allow other hosts  to  communi‐
1280       cate with the remote host.  The proxyarp option causes pppd to look for
1281       a network interface on the same subnet as the remote host (an interface
1282       supporting  broadcast  and ARP, which is up and not a point-to-point or
1283       loopback interface).  If found, pppd creates a permanent, published ARP
1284       entry  with  the IP address of the remote host and the hardware address
1285       of the network interface found.
1286
1287       When the demand option is used, the interface IP addresses have already
1288       been set at the point when IPCP comes up.  If pppd has not been able to
1289       negotiate the same addresses that it used to  configure  the  interface
1290       (for  example  when  the  peer  is  an ISP that uses dynamic IP address
1291       assignment), pppd has to change the interface IP addresses to the nego‐
1292       tiated  addresses.   This may disrupt existing connections, and the use
1293       of demand dialling with peers that do dynamic IP address assignment  is
1294       not recommended.
1295
1297       Multilink  PPP provides the capability to combine two or more PPP links
1298       between a pair of machines into a single `bundle', which appears  as  a
1299       single  virtual  PPP link which has the combined bandwidth of the indi‐
1300       vidual links.  Currently, multilink PPP is only supported under Linux.
1301
1302       Pppd detects that the link it is controlling is connected to  the  same
1303       peer  as  another  link using the peer's endpoint discriminator and the
1304       authenticated identity of the peer (if it authenticates  itself).   The
1305       endpoint discriminator is a block of data which is hopefully unique for
1306       each peer.  Several types of  data  can  be  used,  including  locally-
1307       assigned  strings  of  bytes,  IP  addresses,  MAC  addresses, randomly
1308       strings of bytes, or E-164 phone numbers.  The  endpoint  discriminator
1309       sent to the peer by pppd can be set using the endpoint option.
1310
1311       In  some circumstances the peer may send no endpoint discriminator or a
1312       non-unique value.  The bundle option adds  an  extra  string  which  is
1313       added  to  the peer's endpoint discriminator and authenticated identity
1314       when matching up links to be joined together in a bundle.   The  bundle
1315       option  can also be used to allow the establishment of multiple bundles
1316       between the local system and the peer.  Pppd uses  a  TDB  database  in
1317       /var/run/pppd2.tdb to match up links.
1318
1319       Assuming that multilink is enabled and the peer is willing to negotiate
1320       multilink, then when pppd is invoked to bring up the first link to  the
1321       peer,  it  will  detect that no other link is connected to the peer and
1322       create a new bundle, that is, another ppp network interface unit.  When
1323       another  pppd  is invoked to bring up another link to the peer, it will
1324       detect the existing bundle and join its link to it.
1325
1326       If the first link terminates (for example, because of  a  hangup  or  a
1327       received  LCP  terminate-request)  the  bundle  is not destroyed unless
1328       there are no other links remaining in the bundle.  Rather than exiting,
1329       the  first  pppd keeps running after its link terminates, until all the
1330       links in the bundle have terminated.  If  the  first  pppd  receives  a
1331       SIGTERM  or SIGINT signal, it will destroy the bundle and send a SIGHUP
1332       to the pppd processes for each of the links  in  the  bundle.   If  the
1333       first pppd receives a SIGHUP signal, it will terminate its link but not
1334       the bundle.
1335
1336       Note: demand mode is not currently supported with multilink.
1337

EXAMPLES

1339       The following examples assume that the /etc/ppp/options  file  contains
1340       the  auth  option  (as  in the default /etc/ppp/options file in the ppp
1341       distribution).
1342
1343       Probably the most common use of pppd is to dial out to  an  ISP.   This
1344       can be done with a command such as
1345
1346              pppd call isp
1347
1348       where the /etc/ppp/peers/isp file is set up by the system administrator
1349       to contain something like this:
1350
1351              ttyS0 19200 crtscts
1352              connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
1353              noauth
1354
1355       In this example, we are using chat to  dial  the  ISP's  modem  and  go
1356       through  any  logon sequence required.  The /etc/ppp/chat-isp file con‐
1357       tains the script used by chat; it could for example  contain  something
1358       like this:
1359
1360              ABORT "NO CARRIER"
1361              ABORT "NO DIALTONE"
1362              ABORT "ERROR"
1363              ABORT "NO ANSWER"
1364              ABORT "BUSY"
1365              ABORT "Username/Password Incorrect"
1366              "" "at"
1367              OK "at&d0&c1"
1368              OK "atdt2468135"
1369              "name:" "^Umyuserid"
1370              "word:" "\qmypassword"
1371              "ispts" "\q^Uppp"
1372              "~-^Uppp-~"
1373
1374       See the chat(8) man page for details of chat scripts.
1375
1376       Pppd  can  also be used to provide a dial-in ppp service for users.  If
1377       the users already have login accounts, the simplest way to set  up  the
1378       ppp  service  is to let the users log in to their accounts and run pppd
1379       (installed setuid-root) with a command such as
1380
1381              pppd proxyarp
1382
1383       To allow a user to use the PPP facilities, you need to allocate  an  IP
1384       address   for   that   user's   machine   and   create   an   entry  in
1385       /etc/ppp/pap-secrets,  /etc/ppp/chap-secrets,  or  /etc/ppp/srp-secrets
1386       (depending on which authentication method the PPP implementation on the
1387       user's machine supports), so that the user's machine  can  authenticate
1388       itself.   For  example, if Joe has a machine called "joespc" that is to
1389       be allowed to dial in to the machine called "server"  and  use  the  IP
1390       address   joespc.my.net,   you   would   add  an  entry  like  this  to
1391       /etc/ppp/pap-secrets or /etc/ppp/chap-secrets:
1392
1393              joespc    server    "joe's secret" joespc.my.net
1394
1395       (See srp-entry(8) for a means  to  generate  the  server's  entry  when
1396       SRP-SHA1  is  in use.)  Alternatively, you can create a username called
1397       (for example) "ppp", whose login shell is pppd and whose home directory
1398       is  /etc/ppp.   Options to be used when pppd is run this way can be put
1399       in /etc/ppp/.ppprc.
1400
1401       If your serial connection is any more complicated than a piece of wire,
1402       you  may need to arrange for some control characters to be escaped.  In
1403       particular, it is often useful to escape XON (^Q) and XOFF (^S),  using
1404       asyncmap  a0000.   If  the  path includes a telnet, you probably should
1405       escape ^] as well (asyncmap 200a0000).  If the path includes an rlogin,
1406       you  will  need to use the escape ff option on the end which is running
1407       the rlogin client, since many rlogin implementations are not  transpar‐
1408       ent; they will remove the sequence [0xff, 0xff, 0x73, 0x73, followed by
1409       any 8 bytes] from the stream.
1410

DIAGNOSTICS

1412       Messages are sent to  the  syslog  daemon  using  facility  LOG_DAEMON.
1413       (This  can  be  overridden  by  recompiling pppd with the macro LOG_PPP
1414       defined as the desired facility.)  See the syslog(8) documentation  for
1415       details  of  where  the syslog daemon will write the messages.  On most
1416       systems, the syslog daemon uses the /etc/syslog.conf  file  to  specify
1417       the destination(s) for syslog messages.  You may need to edit that file
1418       to suit.
1419
1420       The debug option causes the contents of all  control  packets  sent  or
1421       received  to be logged, that is, all LCP, PAP, CHAP, EAP, or IPCP pack‐
1422       ets.  This can be useful if the PPP negotiation does not succeed or  if
1423       authentication  fails.   If  debugging  is enabled at compile time, the
1424       debug option also causes other debugging messages to be logged.
1425
1426       Debugging can also be enabled or disabled by sending a  SIGUSR1  signal
1427       to the pppd process.  This signal acts as a toggle.
1428

EXIT STATUS

1430       The  exit  status  of  pppd  is  set  to indicate whether any error was
1431       detected, or the reason for the link being terminated.  The values used
1432       are:
1433
1434       0      Pppd  has detached, or otherwise the connection was successfully
1435              established and terminated at the peer's request.
1436
1437       1      An immediately fatal error of some kind  occurred,  such  as  an
1438              essential system call failing, or running out of virtual memory.
1439
1440       2      An  error  was detected in processing the options given, such as
1441              two mutually exclusive options being used.
1442
1443       3      Pppd is not setuid-root and the invoking user is not root.
1444
1445       4      The kernel does not support PPP, for  example,  the  PPP  kernel
1446              driver is not included or cannot be loaded.
1447
1448       5      Pppd  terminated because it was sent a SIGINT, SIGTERM or SIGHUP
1449              signal.
1450
1451       6      The serial port could not be locked.
1452
1453       7      The serial port could not be opened.
1454
1455       8      The connect script failed (returned a non-zero exit status).
1456
1457       9      The command specified as the argument to the  pty  option  could
1458              not be run.
1459
1460       10     The  PPP  negotiation failed, that is, it didn't reach the point
1461              where at least one network protocol (e.g. IP) was running.
1462
1463       11     The peer system failed (or refused) to authenticate itself.
1464
1465       12     The link was established successfully and terminated because  it
1466              was idle.
1467
1468       13     The link was established successfully and terminated because the
1469              connect time limit was reached.
1470
1471       14     Callback was negotiated  and  an  incoming  call  should  arrive
1472              shortly.
1473
1474       15     The  link  was  terminated because the peer is not responding to
1475              echo requests.
1476
1477       16     The link was terminated by the modem hanging up.
1478
1479       17     The PPP negotiation failed because serial loopback was detected.
1480
1481       18     The init script failed (returned a non-zero exit status).
1482
1483       19     We failed to authenticate ourselves to the peer.
1484

SCRIPTS

1486       Pppd invokes scripts at various stages in its processing which  can  be
1487       used  to perform site-specific ancillary processing.  These scripts are
1488       usually shell scripts, but could  be  executable  code  files  instead.
1489       Pppd  does not wait for the scripts to finish (except for the ip-pre-up
1490       script).  The scripts are executed as root (with the real and effective
1491       user-id  set  to  0), so that they can do things such as update routing
1492       tables or run privileged daemons.  Be  careful  that  the  contents  of
1493       these  scripts do not compromise your system's security.  Pppd runs the
1494       scripts with standard input, output and error redirected to  /dev/null,
1495       and with an environment that is empty except for some environment vari‐
1496       ables that give information about the link.  The environment  variables
1497       that pppd sets are:
1498
1499       DEVICE The name of the serial tty device being used.
1500
1501       IFNAME The name of the network interface being used.
1502
1503       IPLOCAL
1504              The  IP address for the local end of the link.  This is only set
1505              when IPCP has come up.
1506
1507       IPREMOTE
1508              The IP address for the remote end of the link.  This is only set
1509              when IPCP has come up.
1510
1511       PEERNAME
1512              The  authenticated  name  of  the peer.  This is only set if the
1513              peer authenticates itself.
1514
1515       SPEED  The baud rate of the tty device.
1516
1517       ORIG_UID
1518              The real user-id of the user who invoked pppd.
1519
1520       PPPLOGNAME
1521              The username of the real user-id  that  invoked  pppd.  This  is
1522              always set.
1523
1524       For  the  ip-down  and  auth-down scripts, pppd also sets the following
1525       variables giving statistics for the connection:
1526
1527       CONNECT_TIME
1528              The number of seconds from  when  the  PPP  negotiation  started
1529              until the connection was terminated.
1530
1531       BYTES_SENT
1532              The  number of bytes sent (at the level of the serial port) dur‐
1533              ing the connection.
1534
1535       BYTES_RCVD
1536              The number of bytes received (at the level of the  serial  port)
1537              during the connection.
1538
1539       LINKNAME
1540              The logical name of the link, set with the linkname option.
1541
1542       DNS1   If  the peer supplies DNS server addresses, this variable is set
1543              to the first DNS server address supplied.
1544
1545       DNS2   If the peer supplies DNS server addresses, this variable is  set
1546              to the second DNS server address supplied.
1547
1548       Pppd  invokes the following scripts, if they exist.  It is not an error
1549       if they don't exist.
1550
1551       /etc/ppp/auth-up
1552              A program or script which is executed after  the  remote  system
1553              successfully  authenticates  itself.   It  is  executed with the
1554              parameters
1555
1556              interface-name peer-name user-name tty-device speed
1557
1558              Note that this script  is  not  executed  if  the  peer  doesn't
1559              authenticate itself, for example when the noauth option is used.
1560
1561       /etc/ppp/auth-down
1562              A  program  or script which is executed when the link goes down,
1563              if /etc/ppp/auth-up was previously executed.  It is executed  in
1564              the same manner with the same parameters as /etc/ppp/auth-up.
1565
1566       /etc/ppp/ip-pre-up
1567              A  program  or script which is executed just before the ppp net‐
1568              work interface is brought up.  It  is  executed  with  the  same
1569              parameters  as  the  ip-up  script  (below).   At this point the
1570              interface exists and has IP  addresses  assigned  but  is  still
1571              down.   This  can  be  used  to add firewall rules before any IP
1572              traffic can pass through the interface.  Pppd will wait for this
1573              script  to  finish  before  bringing  the  interface up, so this
1574              script should run quickly.
1575
1576       /etc/ppp/ip-up
1577              A program or script which is executed when the link is available
1578              for  sending  and  receiving  IP packets (that is, IPCP has come
1579              up).  It is executed with the parameters
1580
1581              interface-name      tty-device      speed       local-IP-address
1582              remote-IP-address ipparam
1583
1584       /etc/ppp/ip-down
1585              A program or script which is executed when the link is no longer
1586              available for sending and receiving IP packets.  This script can
1587              be  used  for  undoing  the  effects  of  the /etc/ppp/ip-up and
1588              /etc/ppp/ip-pre-up scripts.  It is invoked in  the  same  manner
1589              and with the same parameters as the ip-up script.
1590
1591       /etc/ppp/ipv6-up
1592              Like /etc/ppp/ip-up, except that it is executed when the link is
1593              available for sending and receiving IPv6 packets. It is executed
1594              with the parameters
1595
1596              interface-name    tty-device    speed   local-link-local-address
1597              remote-link-local-address ipparam
1598
1599       /etc/ppp/ipv6-down
1600              Similar to /etc/ppp/ip-down, but it is executed when IPv6  pack‐
1601              ets  can  no  longer  be transmitted on the link. It is executed
1602              with the same parameters as the ipv6-up script.
1603
1604       /etc/ppp/ipx-up
1605              A program or script which is executed when the link is available
1606              for  sending  and receiving IPX packets (that is, IPXCP has come
1607              up).  It is executed with the parameters
1608
1609              interface-name       tty-device       speed       network-number
1610              local-IPX-node-address  remote-IPX-node-address  local-IPX-rout‐
1611              ing-protocol  remote-IPX-routing-protocol  local-IPX-router-name
1612              remote-IPX-router-name ipparam pppd-pid
1613
1614              The  local-IPX-routing-protocol  and remote-IPX-routing-protocol
1615              field may be one of the following:
1616
1617              NONE      to indicate that there is no routing protocol
1618              RIP       to indicate that RIP/SAP should be used
1619              NLSP      to indicate that Novell NLSP should be used
1620              RIP NLSP  to indicate that both RIP/SAP and NLSP should be used
1621
1622       /etc/ppp/ipx-down
1623              A program or script which is executed when the link is no longer
1624              available  for  sending  and receiving IPX packets.  This script
1625              can be used for  undoing  the  effects  of  the  /etc/ppp/ipx-up
1626              script.   It  is  invoked  in  the same manner and with the same
1627              parameters as the ipx-up script.
1628

FILES

1630       /var/run/pppn.pid (BSD or Linux), /etc/ppp/pppn.pid (others)
1631              Process-ID for pppd process on ppp interface unit n.
1632
1633       /var/run/ppp-name.pid (BSD or Linux),
1634              /etc/ppp/ppp-name.pid (others) Process-ID for pppd  process  for
1635              logical link name (see the linkname option).
1636
1637       /var/run/pppd2.tdb
1638              Database containing information about pppd processes, interfaces
1639              and links, used for matching links to bundles in multilink oper‐
1640              ation.   May be examined by external programs to obtain informa‐
1641              tion about running pppd instances, the  interfaces  and  devices
1642              they     are     using,    IP    address    assignments,    etc.
1643              /etc/ppp/pap-secrets Usernames, passwords and IP  addresses  for
1644              PAP  authentication.   This file should be owned by root and not
1645              readable or writable by any other user.  Pppd will log a warning
1646              if this is not the case.
1647
1648       /etc/ppp/chap-secrets
1649              Names,  secrets  and  IP  addresses  for  CHAP/MS-CHAP/MS-CHAPv2
1650              authentication.  As for /etc/ppp/pap-secrets, this  file  should
1651              be owned by root and not readable or writable by any other user.
1652              Pppd will log a warning if this is not the case.
1653
1654       /etc/ppp/srp-secrets
1655              Names, secrets, and IP addresses for EAP authentication.  As for
1656              /etc/ppp/pap-secrets,  this file should be owned by root and not
1657              readable or writable by any other user.  Pppd will log a warning
1658              if this is not the case.
1659
1660       ~/.ppp_pseudonym
1661              Saved client-side SRP-SHA1 pseudonym.  See the srp-use-pseudonym
1662              option for details.
1663
1664       /etc/ppp/options
1665              System default  options  for  pppd,  read  before  user  default
1666              options or command-line options.
1667
1668       ~/.ppprc
1669              User default options, read before /etc/ppp/options.ttyname.
1670
1671       /etc/ppp/options.ttyname
1672              System  default  options  for  the  serial port being used, read
1673              after ~/.ppprc.  In forming the ttyname part of  this  filename,
1674              an  initial  /dev/  is stripped from the port name (if present),
1675              and any slashes in the remaining part are converted to dots.
1676
1677       /etc/ppp/peers
1678              A directory containing options files which  may  contain  privi‐
1679              leged  options,  even  if  pppd was invoked by a user other than
1680              root.  The system administrator can create options files in this
1681              directory  to  permit  non-privileged  users to dial out without
1682              requiring the peer to authenticate, but only to certain  trusted
1683              peers.
1684

SEE ALSO

1686       chat(8), pppstats(8)
1687
1688       RFC1144
1689              Jacobson,  V.   Compressing  TCP/IP headers for low-speed serial
1690              links.  February 1990.
1691
1692       RFC1321
1693              Rivest, R.  The MD5 Message-Digest Algorithm.  April 1992.
1694
1695       RFC1332
1696              McGregor, G.  PPP Internet  Protocol  Control  Protocol  (IPCP).
1697              May 1992.
1698
1699       RFC1334
1700              Lloyd, B.; Simpson, W.A.  PPP authentication protocols.  October
1701              1992.
1702
1703       RFC1661
1704              Simpson, W.A.  The Point-to-Point Protocol (PPP).  July 1994.
1705
1706       RFC1662
1707              Simpson, W.A.  PPP in HDLC-like Framing.  July 1994.
1708
1709       RFC2284
1710              Blunk, L.; Vollbrecht, J., PPP Extensible Authentication  Proto‐
1711              col (EAP).  March 1998.
1712
1713       RFC2472
1714              Haskin, D.  IP Version 6 over PPP December 1998.
1715
1716       RFC2945
1717              Wu, T., The SRP Authentication and Key Exchange System September
1718              2000.
1719
1720       draft-ietf-pppext-eap-srp-03.txt
1721              Carlson, J.; et al., EAP SRP-SHA1 Authentication Protocol.  July
1722              2001.
1723

NOTES

1725       Some  limited  degree  of  control can be exercised over a running pppd
1726       process by sending it a signal from the list below.
1727
1728       SIGINT, SIGTERM
1729              These signals cause pppd to terminate the link (by closing LCP),
1730              restore the serial device settings, and exit.  If a connector or
1731              disconnector process is currently running, pppd  will  send  the
1732              same signal to its process group, so as to terminate the connec‐
1733              tor or disconnector process.
1734
1735       SIGHUP This signal causes pppd  to  terminate  the  link,  restore  the
1736              serial  device  settings,  and  close the serial device.  If the
1737              persist or demand option has been specified, pppd  will  try  to
1738              reopen the serial device and start another connection (after the
1739              holdoff period).  Otherwise pppd will exit.  If this  signal  is
1740              received  during  the  holdoff period, it causes pppd to end the
1741              holdoff period immediately.   If  a  connector  or  disconnector
1742              process  is  running,  pppd  will  send  the  same signal to its
1743              process group.
1744
1745       SIGUSR1
1746              This signal toggles the state of the debug option.
1747
1748       SIGUSR2
1749              This signal causes pppd to renegotiate compression.  This can be
1750              useful  to re-enable compression after it has been disabled as a
1751              result of a fatal  decompression  error.   (Fatal  decompression
1752              errors generally indicate a bug in one or other implementation.)
1753
1754

AUTHORS

1756       Paul  Mackerras  (paulus@samba.org),  based  on  earlier  work  by Drew
1757       Perkins, Brad Clements, Karl Fox, Greg Christy, and Brad Parker.
1758
1759
1761       Pppd is copyrighted and made available under conditions  which  provide
1762       that  it may be copied and used in source or binary forms provided that
1763       the conditions listed below are met.  Portions of pppd are  covered  by
1764       the following copyright notices:
1765
1766       Copyright   (c)   1984-2000  Carnegie  Mellon  University.  All  rights
1767       reserved.
1768       Copyright (c) 1993-2004 Paul Mackerras. All rights reserved.
1769       Copyright (c) 1995 Pedro Roque Marques.  All rights reserved.
1770       Copyright (c) 1995 Eric Rosenquist.  All rights reserved.
1771       Copyright (c) 1999 Tommi Komulainen.  All rights reserved.
1772       Copyright (C) Andrew Tridgell 1999
1773       Copyright (c) 2000 by Sun Microsystems, Inc.  All rights reserved.
1774       Copyright (c) 2001 by Sun Microsystems, Inc.  All rights reserved.
1775       Copyright (c) 2002 Google, Inc.  All rights reserved.
1776
1777       The copyright notices contain the following statements.
1778
1779       Redistribution and use in source and binary forms, with or without mod‐
1780       ification,  are  permitted  provided  that the following conditions are
1781       met:
1782
1783       1. Redistributions of source code must retain the above copyright
1784          notice, this list of conditions and the following disclaimer.
1785
1786       2. Redistributions in binary form must reproduce the above copyright
1787          notice, this list of conditions and the following disclaimer in
1788          the documentation and/or other materials provided with the
1789          distribution.
1790
1791       3. The name "Carnegie Mellon University" must not be used to
1792          endorse or promote products derived from this software without
1793          prior written permission. For permission or any legal
1794          details, please contact
1795            Office of Technology Transfer
1796            Carnegie Mellon University
1797            5000 Forbes Avenue
1798            Pittsburgh, PA  15213-3890
1799            (412) 268-4387, fax: (412) 268-7395
1800            tech-transfer@andrew.cmu.edu
1801
1802       3b. The name(s) of the authors of this software must not be used to
1803          endorse or promote products derived from this software without
1804          prior written permission.
1805
1806       4. Redistributions of any form whatsoever must retain the following
1807          acknowledgements:
1808          "This product includes software developed by Computing Services
1809           at Carnegie Mellon University (http://www.cmu.edu/computing/)."
1810          "This product includes software developed by Paul Mackerras
1811           <paulus@samba.org>".
1812          "This product includes software developed by Pedro Roque Marques
1813           <pedro_m@yahoo.com>".
1814          "This product includes software developed by Tommi Komulainen
1815           <Tommi.Komulainen@iki.fi>".
1816
1817       CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
1818       SOFTWARE,  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT‐
1819       NESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE  LIABLE  FOR  ANY
1820       SPECIAL,  INDIRECT  OR  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
1821       RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN  AN  ACTION  OF
1822       CONTRACT,  NEGLIGENCE  OR  OTHER  TORTIOUS ACTION, ARISING OUT OF OR IN
1823       CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1824
1825       THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL  WARRANTIES  WITH  REGARD  TO
1826       THIS  SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
1827       FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDI‐
1828       RECT  OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1829       LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,  NEGLI‐
1830       GENCE  OR  OTHER  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
1831       THE USE OR PERFORMANCE OF THIS SOFTWARE.
1832
1833
1834
1835                                                                       PPPD(8)
Impressum