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

OPTIONS FILES

1044       Options can be taken from files as well  as  the  command  line.   Pppd
1045       reads   options   from   the   files   /etc/ppp/options,  ~/.ppprc  and
1046       /etc/ppp/options.ttyname (in that order) before processing the  options
1047       on the command line.  (In fact, the command-line options are scanned to
1048       find the terminal name before the options.ttyname file  is  read.)   In
1049       forming  the  name  of  the  options.ttyname file, the initial /dev/ is
1050       removed from the terminal name, and  any  remaining  /  characters  are
1051       replaced with dots.
1052
1053       An  options  file is parsed into a series of words, delimited by white‐
1054       space.  Whitespace can be included in a word by enclosing the  word  in
1055       double-quotes  (").  A backslash (\) quotes the following character.  A
1056       hash (#) starts a comment, which continues until the end of  the  line.
1057       There  is  no  restriction  on using the file or call options within an
1058       options file.
1059

SECURITY

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

AUTHENTICATION

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

ROUTING

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

EXAMPLES

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

DIAGNOSTICS

1390       Messages are sent to  the  syslog  daemon  using  facility  LOG_DAEMON.
1391       (This  can  be  overridden  by  recompiling pppd with the macro LOG_PPP
1392       defined as the desired facility.)  See the syslog(8) documentation  for
1393       details  of  where  the syslog daemon will write the messages.  On most
1394       systems, the syslog daemon uses the /etc/syslog.conf  file  to  specify
1395       the destination(s) for syslog messages.  You may need to edit that file
1396       to suit.
1397
1398       The debug option causes the contents of all  control  packets  sent  or
1399       received  to be logged, that is, all LCP, PAP, CHAP, EAP, or IPCP pack‐
1400       ets.  This can be useful if the PPP negotiation does not succeed or  if
1401       authentication  fails.   If  debugging  is enabled at compile time, the
1402       debug option also causes other debugging messages to be logged.
1403
1404       Debugging can also be enabled or disabled by sending a  SIGUSR1  signal
1405       to the pppd process.  This signal acts as a toggle.
1406

EXIT STATUS

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

SCRIPTS

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

FILES

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

SEE ALSO

1664       chat(8), pppstats(8)
1665
1666       RFC1144
1667              Jacobson,  V.   Compressing  TCP/IP headers for low-speed serial
1668              links.  February 1990.
1669
1670       RFC1321
1671              Rivest, R.  The MD5 Message-Digest Algorithm.  April 1992.
1672
1673       RFC1332
1674              McGregor, G.  PPP Internet  Protocol  Control  Protocol  (IPCP).
1675              May 1992.
1676
1677       RFC1334
1678              Lloyd, B.; Simpson, W.A.  PPP authentication protocols.  October
1679              1992.
1680
1681       RFC1661
1682              Simpson, W.A.  The Point-to-Point Protocol (PPP).  July 1994.
1683
1684       RFC1662
1685              Simpson, W.A.  PPP in HDLC-like Framing.  July 1994.
1686
1687       RFC2284
1688              Blunk, L.; Vollbrecht, J., PPP Extensible Authentication  Proto‐
1689              col (EAP).  March 1998.
1690
1691       RFC2472
1692              Haskin, D.  IP Version 6 over PPP December 1998.
1693
1694       RFC2945
1695              Wu, T., The SRP Authentication and Key Exchange System September
1696              2000.
1697
1698       draft-ietf-pppext-eap-srp-03.txt
1699              Carlson, J.; et al., EAP SRP-SHA1 Authentication Protocol.  July
1700              2001.
1701

NOTES

1703       Some  limited  degree  of  control can be exercised over a running pppd
1704       process by sending it a signal from the list below.
1705
1706       SIGINT, SIGTERM
1707              These signals cause pppd to terminate the link (by closing LCP),
1708              restore the serial device settings, and exit.  If a connector or
1709              disconnector process is currently running, pppd  will  send  the
1710              same signal to its process group, so as to terminate the connec‐
1711              tor or disconnector process.
1712
1713       SIGHUP This signal causes pppd  to  terminate  the  link,  restore  the
1714              serial  device  settings,  and  close the serial device.  If the
1715              persist or demand option has been specified, pppd  will  try  to
1716              reopen the serial device and start another connection (after the
1717              holdoff period).  Otherwise pppd will exit.  If this  signal  is
1718              received  during  the  holdoff period, it causes pppd to end the
1719              holdoff period immediately.   If  a  connector  or  disconnector
1720              process  is  running,  pppd  will  send  the  same signal to its
1721              process group.
1722
1723       SIGUSR1
1724              This signal toggles the state of the debug option.
1725
1726       SIGUSR2
1727              This signal causes pppd to renegotiate compression.  This can be
1728              useful  to re-enable compression after it has been disabled as a
1729              result of a fatal  decompression  error.   (Fatal  decompression
1730              errors generally indicate a bug in one or other implementation.)
1731
1732

AUTHORS

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