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 be‐
19       sides 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  Linux,  4.4BSD
34              and  NetBSD,  any  speed  can be specified.  Other systems (e.g.
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  en‐
43              coded  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       defaultroute-metric
99              Define the metric of the defaultroute and only add it  if  there
100              is  no  other  default route with the same metric.  With the de‐
101              fault value of -1, the route is only added if there  is  no  de‐
102              fault route at all.
103
104       replacedefaultroute
105              This  option  is  a flag to the defaultroute option. If default‐
106              route is set and this flag is also set, pppd replaces an  exist‐
107              ing  default  route  with the new default route.  This option is
108              privileged.
109
110       disconnect script
111              Execute the command specified by script,  by  passing  it  to  a
112              shell,  after pppd has terminated the link.  This command could,
113              for example, issue commands to the modem to cause it to hang  up
114              if  hardware modem control signals were not available.  The dis‐
115              connect script is not run if the modem has already hung  up.   A
116              value  for  this option from a privileged source cannot be over‐
117              ridden by a non-privileged user.
118
119       escape xx,yy,...
120              Specifies that certain characters should be escaped on transmis‐
121              sion (regardless of whether the peer requests them to be escaped
122              with its async control character map).  The characters to be es‐
123              caped  are  specified as a list of hex numbers separated by com‐
124              mas.  Note that almost any character can be  specified  for  the
125              escape option, unlike the asyncmap option which only allows con‐
126              trol characters to be specified.  The characters which  may  not
127              be escaped are those with hex values 0x20 - 0x3f or 0x5e.
128
129       file name
130              Read  options  from  file  name (the format is described below).
131              The file must be readable by the user who has invoked pppd.
132
133       init script
134              Execute the command specified by script,  by  passing  it  to  a
135              shell,  to  initialize the serial line.  This script would typi‐
136              cally use the chat(8) program to configure the modem  to  enable
137              auto  answer.   A value for this option from a privileged source
138              cannot be overridden by a non-privileged user.
139
140       lock   Specifies that pppd should create a UUCP-style lock file for the
141              serial  device to ensure exclusive access to the device.  By de‐
142              fault, pppd will not create a lock file.
143
144       mru n  Set the MRU [Maximum Receive Unit] value to n. Pppd will ask the
145              peer  to  send  packets of no more than n bytes.  The value of n
146              must be between 128 and 16384; the default is 1500.  A value  of
147              296  works well on very slow links (40 bytes for TCP/IP header +
148              256 bytes of data).  Note that for the IPv6  protocol,  the  MRU
149              must be at least 1280.
150
151       mtu n  Set the MTU [Maximum Transmit Unit] value to n.  Unless the peer
152              requests a smaller value via MRU negotiation, pppd will  request
153              that  the  kernel  networking  code send data packets of no more
154              than n bytes through the PPP network interface.  Note  that  for
155              the IPv6 protocol, the MTU must be at least 1280.
156
157       passive
158              Enables the "passive" option in the LCP.  With this option, pppd
159              will attempt to initiate a connection; if no reply  is  received
160              from  the  peer,  pppd will then just wait passively for a valid
161              LCP packet from the peer, instead of exiting, as it would  with‐
162              out this option.
163

OPTIONS

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

PPPOE OPTIONS

1208       To establish PPP link over Ethernet (PPPoE) it is needed to load pppd's
1209       plugin  pppoe.so and then specify option nic-interface instead of modem
1210       options ttyname and speed.  Recognized pppd's PPPoE options are:
1211
1212       nic-interface
1213              Use the ethernet device interface to communicate with the  peer.
1214              For  example,  establishing PPPoE link on eth0 interface is done
1215              by specifying ppp'd option nic-eth0. Prefix nic- for this option
1216              may  be  avoided  if  interface name is unambiguous and does not
1217              look like any other pppd's option.
1218
1219       pppoe-service name
1220              Connect to specified PPPoE service name. For  backward  compati‐
1221              bility also rp_pppoe_service option name is supported.
1222
1223       pppoe-ac name
1224              Connect  to  specified PPPoE access concentrator name. For back‐
1225              ward compatibility also rp_pppoe_ac option name is supported.
1226
1227       pppoe-sess sessid:macaddr
1228              Attach to existing PPPoE  session.  For  backward  compatibility
1229              also rp_pppoe_sess option name is supported.
1230
1231       pppoe-verbose n
1232              Be  verbose about discovered access concentrators. When set to 2
1233              or bigger value then dump also discovery packets.  For  backward
1234              compatibility also rp_pppoe_verbose option name is supported.
1235
1236       pppoe-mac macaddr
1237              Connect to specified MAC address.
1238
1239       pppoe-host-uniq string
1240              Set  the PPPoE Host-Uniq tag to the supplied hex string.  By de‐
1241              fault PPPoE Host-Uniq tag is set to the pppd's process PID.  For
1242              backward  compatibility this option may be specified without pp‐
1243              poe- prefix.
1244
1245       pppoe-padi-timeout n
1246              Initial timeout for discovery packets in seconds (default 5).
1247
1248       pppoe-padi-attempts n
1249              Number of discovery attempts (default 3).
1250

OPTIONS FILES

1252       Options can be taken from files as well  as  the  command  line.   Pppd
1253       reads   options   from   the   files   /etc/ppp/options,  ~/.ppprc  and
1254       /etc/ppp/options.ttyname (in that order) before processing the  options
1255       on the command line.  (In fact, the command-line options are scanned to
1256       find the terminal name before the options.ttyname file  is  read.)   In
1257       forming  the name of the options.ttyname file, the initial /dev/ is re‐
1258       moved from the terminal name, and any remaining /  characters  are  re‐
1259       placed with dots.
1260
1261       An  options  file is parsed into a series of words, delimited by white‐
1262       space.  Whitespace can be included in a word by enclosing the  word  in
1263       double-quotes  (").  A backslash (\) quotes the following character.  A
1264       hash (#) starts a comment, which continues until the end of  the  line.
1265       There is no restriction on using the file or call options within an op‐
1266       tions file.
1267

SECURITY

1269       pppd provides system administrators with sufficient access control that
1270       PPP  access  to  a  server  machine can be provided to legitimate users
1271       without fear of compromising the security of the server or the  network
1272       it's on.  This control is provided through restrictions on which IP ad‐
1273       dresses the peer may use, based on its authenticated identity (if any),
1274       and  through  restrictions  on  which options a non-privileged user may
1275       use.  Several of pppd's options are  privileged,  in  particular  those
1276       which  permit  potentially  insecure  configurations; these options are
1277       only accepted in files which are under the control of the system admin‐
1278       istrator, or if pppd is being run by root.
1279
1280       The  default  behaviour  of pppd is to allow an unauthenticated peer to
1281       use a given IP address only if the system does not already have a route
1282       to  that IP address.  For example, a system with a permanent connection
1283       to the wider internet will normally have a default route, and thus  all
1284       peers will have to authenticate themselves in order to set up a connec‐
1285       tion.  On such a system, the auth option is the default.  On the  other
1286       hand,  a system where the PPP link is the only connection to the inter‐
1287       net will not normally have a default route, so the peer will be able to
1288       use almost any IP address without authenticating itself.
1289
1290       As  indicated  above,  some  security-sensitive options are privileged,
1291       which means that they may not be used  by  an  ordinary  non-privileged
1292       user  running  a  setuid-root  pppd, either on the command line, in the
1293       user's ~/.ppprc file, or in an options file read using the file option.
1294       Privileged  options  may  be used in /etc/ppp/options file or in an op‐
1295       tions file read using the call option.  If pppd is  being  run  by  the
1296       root user, privileged options can be used without restriction.
1297
1298       When  opening  the device, pppd uses either the invoking user's user ID
1299       or the root UID (that is, 0), depending on whether the device name  was
1300       specified  by the user or the system administrator.  If the device name
1301       comes from a privileged source, that is, /etc/ppp/options or an options
1302       file  read  using  the call option, pppd uses full root privileges when
1303       opening the device.   Thus,  by  creating  an  appropriate  file  under
1304       /etc/ppp/peers, the system administrator can allow users to establish a
1305       ppp connection via a device which they would not normally have  permis‐
1306       sion  to access.  Otherwise pppd uses the invoking user's real UID when
1307       opening the device.
1308

AUTHENTICATION

1310       Authentication is the process whereby one peer convinces the  other  of
1311       its  identity.   This  involves  the first peer sending its name to the
1312       other, together with some kind of secret information which  could  only
1313       come  from  the  genuine  authorized user of that name.  In such an ex‐
1314       change, we will call the first peer the  "client"  and  the  other  the
1315       "server".   The  client has a name by which it identifies itself to the
1316       server, and the server also has a name by which it identifies itself to
1317       the  client.  Generally the genuine client shares some secret (or pass‐
1318       word) with the server, and authenticates  itself  by  proving  that  it
1319       knows  that secret.  Very often, the names used for authentication cor‐
1320       respond to the internet hostnames of the peers, but this is not  essen‐
1321       tial.
1322
1323       At  present, pppd supports three authentication protocols: the Password
1324       Authentication Protocol (PAP), Challenge Handshake Authentication  Pro‐
1325       tocol  (CHAP),  and  Extensible Authentication Protocol (EAP).  PAP in‐
1326       volves the client sending its name and  a  cleartext  password  to  the
1327       server  to  authenticate itself.  In contrast, the server initiates the
1328       CHAP authentication exchange by sending a challenge to the client  (the
1329       challenge  packet includes the server's name).  The client must respond
1330       with a response which includes its name plus a hash value derived  from
1331       the  shared  secret  and the challenge, in order to prove that it knows
1332       the secret.  EAP supports CHAP-style authentication, and also  includes
1333       the  SRP-SHA1 mechanism, which is resistant to dictionary-based attacks
1334       and does not require a cleartext password on the server side.
1335
1336       The PPP protocol, being symmetrical, allows both peers to  require  the
1337       other  to authenticate itself.  In that case, two separate and indepen‐
1338       dent authentication exchanges will occur.  The two exchanges could  use
1339       different  authentication  protocols, and in principle, different names
1340       could be used in the two exchanges.
1341
1342       The default behaviour of pppd is to agree to authenticate if requested,
1343       and  to  not  require authentication from the peer.  However, pppd will
1344       not agree to authenticate itself with a particular protocol if  it  has
1345       no secrets which could be used to do so.
1346
1347       Pppd  stores  secrets  for  use  in  authentication  in  secrets  files
1348       (/etc/ppp/pap-secrets for PAP, /etc/ppp/chap-secrets for CHAP, MS-CHAP,
1349       MS-CHAPv2,  and  EAP  MD5-Challenge,  and  /etc/ppp/srp-secrets for EAP
1350       SRP-SHA1).  All secrets files have the same format.  The secrets  files
1351       can  contain  secrets for pppd to use in authenticating itself to other
1352       systems, as well as secrets for pppd to use when  authenticating  other
1353       systems to itself.
1354
1355       Each  line  in  a  secrets file contains one secret.  A given secret is
1356       specific to a particular combination of client and server - it can only
1357       be  used  by  that  client to authenticate itself to that server.  Thus
1358       each line in a secrets file has at least 3  fields:  the  name  of  the
1359       client,  the  name  of the server, and the secret.  These fields may be
1360       followed by a list of the IP addresses that the  specified  client  may
1361       use when connecting to the specified server.
1362
1363       A  secrets  file  is  parsed  into  words as for a options file, so the
1364       client name, server name and secrets fields must each be one word, with
1365       any  embedded  spaces  or  other  special characters quoted or escaped.
1366       Note that case is significant in the client and server names and in the
1367       secret.
1368
1369       If  the  secret  starts  with an `@', what follows is assumed to be the
1370       name of a file from which to read the secret.  A "*" as the  client  or
1371       server  name matches any name.  When selecting a secret, pppd takes the
1372       best match, i.e.  the match with the fewest wildcards.
1373
1374       Any following words on the same line are taken to be a list of  accept‐
1375       able  IP  addresses  for that client.  If there are only 3 words on the
1376       line, or if the first word is "-", then all  IP  addresses  are  disal‐
1377       lowed.  To allow any address, use "*".  A word starting with "!"  indi‐
1378       cates that the specified address is not acceptable.  An address may  be
1379       followed  by  "/"  and a number n, to indicate a whole subnet, i.e. all
1380       addresses which have the same value in the most significant n bits.  In
1381       this form, the address may be followed by a plus sign ("+") to indicate
1382       that one address from the subnet is authorized, based on the  ppp  net‐
1383       work  interface unit number in use.  In this case, the host part of the
1384       address will be set to the unit number plus one.
1385
1386       Thus a secrets file contains both secrets  for  use  in  authenticating
1387       other  hosts, plus secrets which we use for authenticating ourselves to
1388       others.  When pppd is authenticating  the  peer  (checking  the  peer's
1389       identity),  it chooses a secret with the peer's name in the first field
1390       and the name of the local system in the second field.  The name of  the
1391       local system defaults to the hostname, with the domain name appended if
1392       the domain option is used.  This default can  be  overridden  with  the
1393       name  option,  except  when  the  usehostname option is used.  (For EAP
1394       SRP-SHA1, see the srp-entry(8) utility for generating proper  validator
1395       entries to be used in the "secret" field.)
1396
1397       When  pppd  is choosing a secret to use in authenticating itself to the
1398       peer, it first determines what name it is going to use to identify  it‐
1399       self to the peer.  This name can be specified by the user with the user
1400       option.  If this option is not used, the name defaults to the  name  of
1401       the  local  system,  determined as described in the previous paragraph.
1402       Then pppd looks for a secret with this name in the first field and  the
1403       peer's  name  in the second field.  Pppd will know the name of the peer
1404       if CHAP or EAP authentication is being used, because the peer will have
1405       sent  it  in the challenge packet.  However, if PAP is being used, pppd
1406       will have to determine the peer's name from the  options  specified  by
1407       the  user.   The user can specify the peer's name directly with the re‐
1408       motename option.  Otherwise, if the remote IP address was specified  by
1409       a  name  (rather  than  in numeric form), that name will be used as the
1410       peer's name.  Failing that, pppd will use the null string as the peer's
1411       name.
1412
1413       When  authenticating  the peer with PAP, the supplied password is first
1414       compared with the secret  from  the  secrets  file.   If  the  password
1415       doesn't  match  the secret, the password is encrypted using crypt() and
1416       checked against the secret again.  Thus secrets for authenticating  the
1417       peer  can  be stored in encrypted form if desired.  If the papcrypt op‐
1418       tion is given, the first (unencrypted) comparison is omitted, for  bet‐
1419       ter security.
1420
1421       Furthermore,  if the login option was specified, the username and pass‐
1422       word are also checked against the system password database.  Thus,  the
1423       system  administrator  can set up the pap-secrets file to allow PPP ac‐
1424       cess only to certain users, and to restrict the  set  of  IP  addresses
1425       that  each  user  can use.  Typically, when using the login option, the
1426       secret in /etc/ppp/pap-secrets would be "", which will match any  pass‐
1427       word  supplied  by the peer.  This avoids the need to have the same se‐
1428       cret in two places.
1429
1430       Authentication must be satisfactorily completed  before  IPCP  (or  any
1431       other  Network  Control  Protocol)  can be started.  If the peer is re‐
1432       quired to authenticate itself, and fails to do so, pppd will terminated
1433       the  link  (by closing LCP).  If IPCP negotiates an unacceptable IP ad‐
1434       dress for the remote host, IPCP will be closed.  IP packets can only be
1435       sent or received when IPCP is open.
1436
1437       In some cases it is desirable to allow some hosts which can't authenti‐
1438       cate themselves to connect and use one of a restricted set  of  IP  ad‐
1439       dresses,  even  when  the local host generally requires authentication.
1440       If the peer refuses to authenticate itself when requested,  pppd  takes
1441       that  as  equivalent  to authenticating with PAP using the empty string
1442       for the username and password.  Thus, by adding a line to  the  pap-se‐
1443       crets  file  which  specifies the empty string for the client and pass‐
1444       word, it is possible to allow restricted access to hosts  which  refuse
1445       to authenticate themselves.
1446

ROUTING

1448       When  IPCP  negotiation is completed successfully, pppd will inform the
1449       kernel of the local and remote IP  addresses  for  the  ppp  interface.
1450       This  is  sufficient  to  create  a host route to the remote end of the
1451       link, which will enable the peers to exchange IP  packets.   Communica‐
1452       tion  with  other  machines  generally requires further modification to
1453       routing tables and/or ARP (Address  Resolution  Protocol)  tables.   In
1454       most  cases the defaultroute and/or proxyarp options are sufficient for
1455       this,  but  in  some  cases  further  intervention  is  required.   The
1456       /etc/ppp/ip-up script can be used for this.
1457
1458       Sometimes  it  is  desirable  to add a default route through the remote
1459       host, as in the case of a machine whose only connection to the Internet
1460       is  through  the ppp interface.  The defaultroute option causes pppd to
1461       create such a default route when IPCP comes up, and delete it when  the
1462       link is terminated.
1463
1464       In some cases it is desirable to use proxy ARP, for example on a server
1465       machine connected to a LAN, in order to allow other hosts  to  communi‐
1466       cate with the remote host.  The proxyarp option causes pppd to look for
1467       a network interface on the same subnet as the remote host (an interface
1468       supporting  broadcast  and ARP, which is up and not a point-to-point or
1469       loopback interface).  If found, pppd creates a permanent, published ARP
1470       entry  with  the IP address of the remote host and the hardware address
1471       of the network interface found.
1472
1473       When the demand option is used, the interface IP addresses have already
1474       been set at the point when IPCP comes up.  If pppd has not been able to
1475       negotiate the same addresses that it used to  configure  the  interface
1476       (for  example  when the peer is an ISP that uses dynamic IP address as‐
1477       signment), pppd has to change the interface IP addresses to the negoti‐
1478       ated  addresses.  This may disrupt existing connections, and the use of
1479       demand dialling with peers that do dynamic IP address assignment is not
1480       recommended.
1481
1483       Multilink  PPP provides the capability to combine two or more PPP links
1484       between a pair of machines into a single `bundle', which appears  as  a
1485       single  virtual  PPP link which has the combined bandwidth of the indi‐
1486       vidual links.  Currently, multilink PPP is only supported under Linux.
1487
1488       Pppd detects that the link it is controlling is connected to  the  same
1489       peer  as  another  link using the peer's endpoint discriminator and the
1490       authenticated identity of the peer (if it authenticates  itself).   The
1491       endpoint discriminator is a block of data which is hopefully unique for
1492       each peer.  Several types of data can be  used,  including  locally-as‐
1493       signed  strings of bytes, IP addresses, MAC addresses, randomly strings
1494       of bytes, or E-164 phone numbers.  The endpoint discriminator  sent  to
1495       the peer by pppd can be set using the endpoint option.
1496
1497       In  some circumstances the peer may send no endpoint discriminator or a
1498       non-unique value.  The bundle option adds  an  extra  string  which  is
1499       added  to  the peer's endpoint discriminator and authenticated identity
1500       when matching up links to be joined together in a bundle.   The  bundle
1501       option  can also be used to allow the establishment of multiple bundles
1502       between the local system and the peer.  Pppd uses  a  TDB  database  in
1503       /var/run/pppd2.tdb to match up links.
1504
1505       Assuming that multilink is enabled and the peer is willing to negotiate
1506       multilink, then when pppd is invoked to bring up the first link to  the
1507       peer,  it  will  detect that no other link is connected to the peer and
1508       create a new bundle, that is, another ppp network interface unit.  When
1509       another  pppd  is invoked to bring up another link to the peer, it will
1510       detect the existing bundle and join its link to it.
1511
1512       If the first link terminates (for example, because of a hangup or a re‐
1513       ceived  LCP terminate-request) the bundle is not destroyed unless there
1514       are no other links remaining in the bundle.  Rather than  exiting,  the
1515       first pppd keeps running after its link terminates, until all the links
1516       in the bundle have terminated.  If the first pppd receives a SIGTERM or
1517       SIGINT signal, it will destroy the bundle and send a SIGHUP to the pppd
1518       processes for each of the links in the bundle.  If the first  pppd  re‐
1519       ceives a SIGHUP signal, it will terminate its link but not the bundle.
1520
1521       Note: demand mode is not currently supported with multilink.
1522

EXAMPLES

1524       The  following  examples assume that the /etc/ppp/options file contains
1525       the auth option (as in the default /etc/ppp/options  file  in  the  ppp
1526       distribution).
1527
1528       Probably  the  most  common use of pppd is to dial out to an ISP.  This
1529       can be done with a command such as
1530
1531              pppd call isp
1532
1533       where the /etc/ppp/peers/isp file is set up by the system administrator
1534       to contain something like this:
1535
1536              ttyS0 19200 crtscts
1537              connect '/usr/sbin/chat -v -f /etc/ppp/chat-isp'
1538              noauth
1539
1540       In  this  example,  we  are  using  chat to dial the ISP's modem and go
1541       through any logon sequence required.  The /etc/ppp/chat-isp  file  con‐
1542       tains  the  script used by chat; it could for example contain something
1543       like this:
1544
1545              ABORT "NO CARRIER"
1546              ABORT "NO DIALTONE"
1547              ABORT "ERROR"
1548              ABORT "NO ANSWER"
1549              ABORT "BUSY"
1550              ABORT "Username/Password Incorrect"
1551              "" "at"
1552              OK "at&d0&c1"
1553              OK "atdt2468135"
1554              "name:" "^Umyuserid"
1555              "word:" "\qmypassword"
1556              "ispts" "\q^Uppp"
1557              "~-^Uppp-~"
1558
1559       See the chat(8) man page for details of chat scripts.
1560
1561       Pppd can also be used to provide a dial-in ppp service for  users.   If
1562       the  users  already have login accounts, the simplest way to set up the
1563       ppp service is to let the users log in to their accounts and  run  pppd
1564       (installed setuid-root) with a command such as
1565
1566              pppd proxyarp
1567
1568       To  allow  a user to use the PPP facilities, you need to allocate an IP
1569       address for that user's machine and create an entry in /etc/ppp/pap-se‐
1570       crets,  /etc/ppp/chap-secrets,  or  /etc/ppp/srp-secrets  (depending on
1571       which authentication method the PPP implementation on  the  user's  ma‐
1572       chine  supports),  so  that the user's machine can authenticate itself.
1573       For example, if Joe has a machine called "joespc" that is to be allowed
1574       to  dial  in to the machine called "server" and use the IP address joe‐
1575       spc.my.net, you would add an entry like this to /etc/ppp/pap-secrets or
1576       /etc/ppp/chap-secrets:
1577
1578              joespc    server    "joe's secret" joespc.my.net
1579
1580       (See  srp-entry(8)  for  a  means  to  generate the server's entry when
1581       SRP-SHA1 is in use.)  Alternatively, you can create a  username  called
1582       (for example) "ppp", whose login shell is pppd and whose home directory
1583       is /etc/ppp.  Options to be used when pppd is run this way can  be  put
1584       in /etc/ppp/.ppprc.
1585
1586       If your serial connection is any more complicated than a piece of wire,
1587       you may need to arrange for some control characters to be escaped.   In
1588       particular,  it is often useful to escape XON (^Q) and XOFF (^S), using
1589       asyncmap a0000.  If the path includes a telnet, you probably should es‐
1590       cape  ^]  as well (asyncmap 200a0000).  If the path includes an rlogin,
1591       you will need to use the escape ff option on the end which  is  running
1592       the  rlogin client, since many rlogin implementations are not transpar‐
1593       ent; they will remove the sequence [0xff, 0xff, 0x73, 0x73, followed by
1594       any 8 bytes] from the stream.
1595

DIAGNOSTICS

1597       Messages  are  sent  to  the  syslog  daemon using facility LOG_DAEMON.
1598       (This can be overridden by recompiling pppd with the macro LOG_PPP  de‐
1599       fined  as  the  desired facility.)  See the syslog(8) documentation for
1600       details of where the syslog daemon will write the  messages.   On  most
1601       systems,  the  syslog  daemon uses the /etc/syslog.conf file to specify
1602       the destination(s) for syslog messages.  You may need to edit that file
1603       to suit.
1604
1605       The debug option causes the contents of all control packets sent or re‐
1606       ceived to be logged, that is, all LCP, PAP, CHAP, EAP, or IPCP packets.
1607       This  can  be  useful if the PPP negotiation does not succeed or if au‐
1608       thentication fails.  If debugging is enabled at compile time, the debug
1609       option also causes other debugging messages to be logged.
1610
1611       Debugging  can  also be enabled or disabled by sending a SIGUSR1 signal
1612       to the pppd process.  This signal acts as a toggle.
1613

EXIT STATUS

1615       The exit status of pppd is set to indicate whether any  error  was  de‐
1616       tected,  or  the reason for the link being terminated.  The values used
1617       are:
1618
1619       0      Pppd has detached, or otherwise the connection was  successfully
1620              established and terminated at the peer's request.
1621
1622       1      An immediately fatal error of some kind occurred, such as an es‐
1623              sential system call failing, or running out of virtual memory.
1624
1625       2      An error was detected in processing the options given,  such  as
1626              two mutually exclusive options being used.
1627
1628       3      Pppd is not setuid-root and the invoking user is not root.
1629
1630       4      The  kernel  does  not  support PPP, for example, the PPP kernel
1631              driver is not included or cannot be loaded.
1632
1633       5      Pppd terminated because it was sent a SIGINT, SIGTERM or  SIGHUP
1634              signal.
1635
1636       6      The serial port could not be locked.
1637
1638       7      The serial port could not be opened.
1639
1640       8      The connect script failed (returned a non-zero exit status).
1641
1642       9      The  command  specified  as the argument to the pty option could
1643              not be run.
1644
1645       10     The PPP negotiation failed, that is, it didn't reach  the  point
1646              where at least one network protocol (e.g. IP) was running.
1647
1648       11     The peer system failed (or refused) to authenticate itself.
1649
1650       12     The  link was established successfully and terminated because it
1651              was idle.
1652
1653       13     The link was established successfully and terminated because the
1654              connect time limit was reached.
1655
1656       14     Callback  was  negotiated  and  an  incoming  call should arrive
1657              shortly.
1658
1659       15     The link was terminated because the peer is  not  responding  to
1660              echo requests.
1661
1662       16     The link was terminated by the modem hanging up.
1663
1664       17     The PPP negotiation failed because serial loopback was detected.
1665
1666       18     The init script failed (returned a non-zero exit status).
1667
1668       19     We failed to authenticate ourselves to the peer.
1669

SCRIPTS

1671       Pppd  invokes  scripts at various stages in its processing which can be
1672       used to perform site-specific ancillary processing.  These scripts  are
1673       usually  shell  scripts,  but  could  be executable code files instead.
1674       Pppd does not wait for the scripts to finish (except for the  ip-pre-up
1675       script).  The scripts are executed as root (with the real and effective
1676       user-id set to 0), so that they can do things such  as  update  routing
1677       tables  or  run  privileged  daemons.   Be careful that the contents of
1678       these scripts do not compromise your system's security.  Pppd runs  the
1679       scripts  with standard input, output and error redirected to /dev/null,
1680       and with an environment that is empty except for some environment vari‐
1681       ables  that give information about the link.  The environment variables
1682       that pppd sets are:
1683
1684       DEVICE The name of the serial tty device being used.
1685
1686       IFNAME The name of the network interface being used.
1687
1688       IPLOCAL
1689              The IP address for the local end of the link.  This is only  set
1690              when IPCP has come up.
1691
1692       IPREMOTE
1693              The IP address for the remote end of the link.  This is only set
1694              when IPCP has come up.
1695
1696       LLLOCAL
1697              The Link-Local IPv6 address for the local end of the link.  This
1698              is only set when IPV6CP has come up.
1699
1700       LLREMOTE
1701              The  Link-Local  IPv6  address  for  the remote end of the link.
1702              This is only set when IPV6CP has come up.
1703
1704       PEERNAME
1705              The authenticated name of the peer.  This is  only  set  if  the
1706              peer authenticates itself.
1707
1708       SPEED  The baud rate of the tty device.
1709
1710       ORIG_UID
1711              The real user-id of the user who invoked pppd.
1712
1713       PPPLOGNAME
1714              The  username of the real user-id that invoked pppd. This is al‐
1715              ways set.
1716
1717       For the ip-down and auth-down scripts, pppd  also  sets  the  following
1718       variables giving statistics for the connection:
1719
1720       CONNECT_TIME
1721              The  number of seconds from when the PPP negotiation started un‐
1722              til the connection was terminated.
1723
1724       BYTES_SENT
1725              The number of bytes sent (at the level of the serial port)  dur‐
1726              ing the connection.
1727
1728       BYTES_RCVD
1729              The  number  of bytes received (at the level of the serial port)
1730              during the connection.
1731
1732       LINKNAME
1733              The logical name of the link, set with the linkname option.
1734
1735       CALL_FILE
1736              The value of the call option.
1737
1738       DNS1   If the peer supplies DNS server addresses, this variable is  set
1739              to  the  first  DNS  server address supplied (whether or not the
1740              usepeerdns option was given).
1741
1742       DNS2   If the peer supplies DNS server addresses, this variable is  set
1743              to  the  second  DNS server address supplied (whether or not the
1744              usepeerdns option was given).
1745
1746       WINS1  If the peer supplies WINS server addresses, this variable is set
1747              to the first WINS server address supplied.
1748
1749       WINS2  If the peer supplies WINS server addresses, this variable is set
1750              to the second WINS server address supplied.
1751
1752       Pppd invokes the following scripts, if they exist.  It is not an  error
1753       if they don't exist.
1754
1755       /etc/ppp/auth-up
1756              A  program  or  script which is executed after the remote system
1757              successfully authenticates itself.  It is executed with the  pa‐
1758              rameters
1759
1760              interface-name peer-name user-name tty-device speed ipparam
1761
1762              Note  that  this  script is not executed if the peer doesn't au‐
1763              thenticate itself, for example when the noauth option is used.
1764
1765       /etc/ppp/auth-down
1766              A program or script which is executed when the link  goes  down,
1767              if  /etc/ppp/auth-up was previously executed.  It is executed in
1768              the same manner with the same parameters as /etc/ppp/auth-up.
1769
1770       /etc/ppp/ip-pre-up
1771              A program or script which is executed just before the  ppp  net‐
1772              work  interface is brought up.  It is executed with the same pa‐
1773              rameters as the ip-up script (below).  At this point the  inter‐
1774              face  exists  and  has  IP addresses assigned but is still down.
1775              This can be used to add firewall rules before any IP traffic can
1776              pass  through  the interface.  Pppd will wait for this script to
1777              finish before bringing the interface up, so this  script  should
1778              run quickly.
1779
1780       /etc/ppp/ip-up
1781              A program or script which is executed when the link is available
1782              for sending and receiving IP packets (that  is,  IPCP  has  come
1783              up).  It is executed with the parameters
1784
1785              interface-name  tty-device  speed local-IP-address remote-IP-ad‐
1786              dress ipparam
1787
1788       /etc/ppp/ip-down
1789              A program or script which is executed when the link is no longer
1790              available for sending and receiving IP packets.  This script can
1791              be used for  undoing  the  effects  of  the  /etc/ppp/ip-up  and
1792              /etc/ppp/ip-pre-up  scripts.   It  is invoked in the same manner
1793              and with the same parameters as the ip-up script.
1794
1795       /etc/ppp/ipv6-up
1796              Like /etc/ppp/ip-up, except that it is executed when the link is
1797              available for sending and receiving IPv6 packets. It is executed
1798              with the parameters
1799
1800              interface-name  tty-device  speed  local-link-local-address  re‐
1801              mote-link-local-address ipparam
1802
1803       /etc/ppp/ipv6-down
1804              Similar  to /etc/ppp/ip-down, but it is executed when IPv6 pack‐
1805              ets can no longer be transmitted on the  link.  It  is  executed
1806              with the same parameters as the ipv6-up script.
1807
1808       /var/run/pppn.pid (BSD or Linux), /etc/ppp/pppn.pid (others)
1809              Process-ID for pppd process on ppp interface unit n.
1810
1811       /var/run/ppp-name.pid (BSD or Linux),
1812              /etc/ppp/ppp-name.pid  (others)  Process-ID for pppd process for
1813              logical link name (see the linkname option).
1814
1815       /var/run/pppd2.tdb
1816              Database containing information about pppd processes, interfaces
1817              and links, used for matching links to bundles in multilink oper‐
1818              ation.  May be examined by external programs to obtain  informa‐
1819              tion  about  running  pppd instances, the interfaces and devices
1820              they are using, IP address assignments,  etc.   /etc/ppp/pap-se‐
1821              crets  Usernames, passwords and IP addresses for PAP authentica‐
1822              tion.  This file should be owned by root  and  not  readable  or
1823              writable  by any other user.  Pppd will log a warning if this is
1824              not the case.
1825
1826       /etc/ppp/chap-secrets
1827              Names, secrets and IP addresses for  CHAP/MS-CHAP/MS-CHAPv2  au‐
1828              thentication.   As for /etc/ppp/pap-secrets, this file should be
1829              owned by root and not readable or writable by  any  other  user.
1830              Pppd will log a warning if this is not the case.
1831
1832       /etc/ppp/srp-secrets
1833              Names, secrets, and IP addresses for EAP authentication.  As for
1834              /etc/ppp/pap-secrets, this file should be owned by root and  not
1835              readable or writable by any other user.  Pppd will log a warning
1836              if this is not the case.
1837
1838       ~/.ppp_pseudonym
1839              Saved client-side SRP-SHA1 pseudonym.  See the srp-use-pseudonym
1840              option for details.
1841
1842       /etc/ppp/options
1843              System  default  options  for pppd, read before user default op‐
1844              tions or command-line options.
1845
1846       ~/.ppprc
1847              User default options, read before /etc/ppp/options.ttyname.
1848
1849       /etc/ppp/options.ttyname
1850              System default options for the serial port being used, read  af‐
1851              ter  ~/.ppprc.  In forming the ttyname part of this filename, an
1852              initial /dev/ is stripped from the port name (if  present),  and
1853              any slashes in the remaining part are converted to dots.
1854
1855       /etc/ppp/peers
1856              A  directory  containing  options files which may contain privi‐
1857              leged options, even if pppd was invoked by  a  user  other  than
1858              root.  The system administrator can create options files in this
1859              directory to permit non-privileged users to dial out without re‐
1860              quiring  the  peer  to authenticate, but only to certain trusted
1861              peers.
1862

SEE ALSO

1864       chat(8), pppstats(8)
1865
1866       RFC1144
1867              Jacobson, V.  Compressing TCP/IP headers  for  low-speed  serial
1868              links.  February 1990.
1869
1870       RFC1321
1871              Rivest, R.  The MD5 Message-Digest Algorithm.  April 1992.
1872
1873       RFC1332
1874              McGregor,  G.   PPP  Internet  Protocol Control Protocol (IPCP).
1875              May 1992.
1876
1877       RFC1334
1878              Lloyd, B.; Simpson, W.A.  PPP authentication protocols.  October
1879              1992.
1880
1881       RFC1661
1882              Simpson, W.A.  The Point-to-Point Protocol (PPP).  July 1994.
1883
1884       RFC1662
1885              Simpson, W.A.  PPP in HDLC-like Framing.  July 1994.
1886
1887       RFC1990
1888              Sklower,  K.;  et  al., The PPP Multilink Protocol (MP).  August
1889              1996.
1890
1891       RFC2284
1892              Blunk, L.; Vollbrecht, J., PPP Extensible Authentication  Proto‐
1893              col (EAP).  March 1998.
1894
1895       RFC2472
1896              Haskin, D.  IP Version 6 over PPP December 1998.
1897
1898       RFC2945
1899              Wu, T., The SRP Authentication and Key Exchange System September
1900              2000.
1901
1902       draft-ietf-pppext-eap-srp-03.txt
1903              Carlson, J.; et al., EAP SRP-SHA1 Authentication Protocol.  July
1904              2001.
1905

NOTES

1907       Some  limited  degree  of  control can be exercised over a running pppd
1908       process by sending it a signal from the list below.
1909
1910       SIGINT, SIGTERM
1911              These signals cause pppd to terminate the link (by closing LCP),
1912              restore the serial device settings, and exit.  If a connector or
1913              disconnector process is currently running, pppd  will  send  the
1914              same signal to its process group, so as to terminate the connec‐
1915              tor or disconnector process.
1916
1917       SIGHUP This signal causes pppd to terminate the link, restore  the  se‐
1918              rial  device settings, and close the serial device.  If the per‐
1919              sist or demand option has been specified, pppd will try  to  re‐
1920              open  the  serial device and start another connection (after the
1921              holdoff period).  Otherwise pppd will exit.  If this  signal  is
1922              received  during  the  holdoff period, it causes pppd to end the
1923              holdoff period immediately.   If  a  connector  or  disconnector
1924              process  is  running,  pppd  will  send  the  same signal to its
1925              process group.
1926
1927       SIGUSR1
1928              This signal toggles the state of the debug option.
1929
1930       SIGUSR2
1931              This signal causes pppd to renegotiate compression.  This can be
1932              useful  to re-enable compression after it has been disabled as a
1933              result of a fatal decompression error.  (Fatal decompression er‐
1934              rors generally indicate a bug in one or other implementation.)
1935
1936

AUTHORS

1938       Paul  Mackerras  (paulus@samba.org),  based  on  earlier  work  by Drew
1939       Perkins, Brad Clements, Karl Fox, Greg Christy, and Brad Parker.
1940
1941
1943       Pppd is copyrighted and made available under conditions  which  provide
1944       that  it may be copied and used in source or binary forms provided that
1945       the conditions listed below are met.  Portions of pppd are  covered  by
1946       the following copyright notices:
1947
1948       Copyright  (c)  1984-2000  Carnegie  Mellon  University. All rights re‐
1949       served.
1950       Copyright (c) 1993-2004 Paul Mackerras. All rights reserved.
1951       Copyright (c) 1995 Pedro Roque Marques.  All rights reserved.
1952       Copyright (c) 1995 Eric Rosenquist.  All rights reserved.
1953       Copyright (c) 1999 Tommi Komulainen.  All rights reserved.
1954       Copyright (C) Andrew Tridgell 1999
1955       Copyright (c) 2000 by Sun Microsystems, Inc.  All rights reserved.
1956       Copyright (c) 2001 by Sun Microsystems, Inc.  All rights reserved.
1957       Copyright (c) 2002 Google, Inc.  All rights reserved.
1958
1959       The copyright notices contain the following statements.
1960
1961       Redistribution and use in source and binary forms, with or without mod‐
1962       ification,  are  permitted  provided  that the following conditions are
1963       met:
1964
1965       1. Redistributions of source code must retain the above copyright
1966          notice, this list of conditions and the following disclaimer.
1967
1968       2. Redistributions in binary form must reproduce the above copyright
1969          notice, this list of conditions and the following disclaimer in
1970          the documentation and/or other materials provided with the
1971          distribution.
1972
1973       3. The name "Carnegie Mellon University" must not be used to
1974          endorse or promote products derived from this software without
1975          prior written permission. For permission or any legal
1976          details, please contact
1977            Office of Technology Transfer
1978            Carnegie Mellon University
1979            5000 Forbes Avenue
1980            Pittsburgh, PA  15213-3890
1981            (412) 268-4387, fax: (412) 268-7395
1982            tech-transfer@andrew.cmu.edu
1983
1984       3b. The name(s) of the authors of this software must not be used to
1985          endorse or promote products derived from this software without
1986          prior written permission.
1987
1988       4. Redistributions of any form whatsoever must retain the following
1989          acknowledgements:
1990          "This product includes software developed by Computing Services
1991           at Carnegie Mellon University (http://www.cmu.edu/computing/)."
1992          "This product includes software developed by Paul Mackerras
1993           <paulus@samba.org>".
1994          "This product includes software developed by Pedro Roque Marques
1995           <pedro_m@yahoo.com>".
1996          "This product includes software developed by Tommi Komulainen
1997           <Tommi.Komulainen@iki.fi>".
1998
1999       CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
2000       SOFTWARE,  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT‐
2001       NESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE  LIABLE  FOR  ANY
2002       SPECIAL,  INDIRECT  OR  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
2003       RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN  AN  ACTION  OF
2004       CONTRACT,  NEGLIGENCE  OR  OTHER  TORTIOUS ACTION, ARISING OUT OF OR IN
2005       CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
2006
2007       THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL  WARRANTIES  WITH  REGARD  TO
2008       THIS  SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
2009       FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDI‐
2010       RECT  OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2011       LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,  NEGLI‐
2012       GENCE  OR  OTHER  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
2013       THE USE OR PERFORMANCE OF THIS SOFTWARE.
2014
2015
2016
2017                                                                       PPPD(8)
Impressum