1pppd(1M)                System Administration Commands                pppd(1M)
2
3
4

NAME

6       pppd - point to point protocol daemon
7

SYNOPSIS

9       pppd [tty_name] [speed] [options]
10
11

DESCRIPTION

13       The  point-to-point  protocol  (PPP) provides a method for transmitting
14       datagrams over serial point-to-point links. PPP is  composed  of  three
15       components:  a  facility for encapsulating datagrams over serial links,
16       an extensible link control protocol (LCP), and a family of network con‐
17       trol  protocols  (NCP)  for establishing and configuring different net‐
18       work-layer protocols.
19
20
21       The encapsulation scheme is provided by driver code in the kernel. pppd
22       provides  the  basic  LCP  authentication  support and several NCPs for
23       establishing and configuring the Internet Protocol (referred to as  the
24       IP Control Protocol or "IPCP") and IPv6 (IPV6CP).
25

OPTIONS

27       The following sections discuss the pppd options:
28
29   Options Files
30       Options  are  taken from files and the command line. pppd reads options
31       from the files /etc/ppp/options, $HOME/.ppprc and /etc/ppp/options.tty‐
32       name (in that order) before processing the options on the command line.
33       (Command-line options are scanned for  the  terminal  name  before  the
34       options.ttyname  file is read.) To form the name of the options.ttyname
35       file, the initial /dev/ is removed from  the  terminal  name,  and  any
36       remaining  forward  slash  characters  (/)  are replaced with dots. For
37       example,    with    serial    device    /dev/cua/a,     option     file
38       /etc/ppp/options.cua.a is read.
39
40
41       An  options file is parsed into a series of words that are delimited by
42       whitespace. Whitespace can be included in a word by enclosing the  word
43       in  double-quotes ("). A backslash (\) quotes the succeeding character.
44       A hash (#) starts a comment, which continues until the end of the line.
45       There  is  no  restriction  on using the file or call options within an
46       options file.
47
48   Frequently Used Options
49       <tty_name>             Communicate over the named  device.  The  string
50                              /dev/  is  prepended  if necessary. If no device
51                              name is given, or if the name  of  the  terminal
52                              connected  to  the standard input is given, pppd
53                              uses that terminal and  does  not  fork  to  put
54                              itself  in  the  background.  A  value  for this
55                              option from a privileged source cannot be  over‐
56                              ridden by a non-privileged user.
57
58
59       <speed>                Set the baud rate to <speed> (a decimal number).
60                              The default is to leave the baud rate unchanged.
61                              This  option  is  normally  needed  for dial-out
62                              only.
63
64
65       asyncmap <map>         Set the async character map to  <map>.  The  map
66                              describes  which  control  characters  cannot be
67                              successfully received over the serial line. pppd
68                              asks  the  peer  to  send  these characters as a
69                              2-byte escape sequence. The argument is a 32 bit
70                              hex number, with each bit representing a charac‐
71                              ter to escape. Bit 0 (00000001)  represents  the
72                              character 0x00; bit 31 (80000000) represents the
73                              character  0x1f  or  ^_.  If  multiple  asyncmap
74                              options are given, the values are ORed together.
75                              If no asyncmap option is given, pppd attempts to
76                              negotiate a value of 0. If the peer agrees, this
77                              disables escaping of the standard control  char‐
78                              acters.  Use the default-asyncmap option to dis‐
79                              able negotiation and escape all control  charac‐
80                              ters.
81
82
83       auth                   Require  the  peer to authenticate itself before
84                              allowing network packets to be sent or received.
85                              This  option  is the default if the system has a
86                              default route. If the auth or the noauth  option
87                              is  not  specified,  pppd allows the peer to use
88                              only those IP addresses to which the system does
89                              not already have a route.
90
91
92       call name              Read  options from the file /etc/ppp/peers/name.
93                              This  file  may  contain   privileged   options,
94                              including  noauth, even if pppd is not being run
95                              by root. The name string may not  begin  with  a
96                              slash   ("/")  or  include  consecutive  periods
97                              ("..") as a pathname component.
98
99
100       callback number        Request a callback to the given telephone number
101                              using Microsoft CBCP.
102
103
104       connect script         Use the executable or shell command specified by
105                              script to set up the serial  line.  This  script
106                              would typically use the chat(1M) program to dial
107                              the modem and start the remote  PPP  session.  A
108                              value  for this option originating from a privi‐
109                              leged source cannot be overridden by a non-priv‐
110                              ileged user.
111
112
113       crtscts                Use  hardware flow control, that is, RTS/CTS, to
114                              control the flow of data on the serial port.  If
115                              the  crtscts,  nocrtscts,  cdtrcts  or nocdtrcts
116                              option is not provided, the hardware  flow  con‐
117                              trol   setting  for  the  serial  port  is  left
118                              unchanged. Some serial ports  lack  a  true  RTS
119                              output  and use this mode to implement unidirec‐
120                              tional flow control. The  serial  port  suspends
121                              transmission  when  requested  by  the  modem by
122                              means of CTS but cannot  request  the  modem  to
123                              stop  sending  to the computer. This mode allows
124                              the use of DTR as a modem control line.
125
126
127       defaultroute           Add a default route to the system routing tables
128                              when  IPCP  negotiation  successfully completes,
129                              using the peer as the  gateway.  This  entry  is
130                              removed  when the PPP connection is broken. This
131                              option  is  privileged  if  the   nodefaultroute
132                              option is specified.
133
134
135       disconnect  script     Run the executable or shell command specified by
136                              script after pppd  terminates  the  link.  Typi‐
137                              cally,  this script is used to command the modem
138                              to hang up if hardware modem control signals are
139                              not  available.  disconnect  is  not  run if the
140                              modem has already hung  up.  A  value  for  this
141                              option originating from a privileged source can‐
142                              not be overridden by a non-privileged user.
143
144
145       escape xx,yy,...       Specifies that certain characters be escaped  on
146                              transmission  regardless  of  whether  the  peer
147                              requests them to be escaped with its async  con‐
148                              trol character map. The characters to be escaped
149                              are specified as a list of hex numbers separated
150                              by commas. Note that almost any character can be
151                              specified for  the  escape  option,  unlike  the
152                              asyncmap  option which allows only control char‐
153                              acters to be specified. Characters  that  cannot
154                              be  escaped are those containing hex values 0x20
155                              through 0x3f and 0x5e.
156
157
158       file name              Read options from file name. If this  option  is
159                              used on the command line or in $HOME/.ppprc, the
160                              file must be readable by the user invoking pppd.
161                              See  for a list of files that pppd always reads,
162                              regardless of the use of this option.
163
164
165       init  script           Run the executable or shell command specified by
166                              script  to  initialize  the  serial  line.  This
167                              script would typically use the chat(1M)  program
168                              to  configure the modem to enable auto-answer. A
169                              value for this option from a  privileged  source
170                              cannot be overridden by a non-privileged user.
171
172
173       lock                   Directs  pppd  to  create a UUCP-style lock file
174                              for the serial device to ensure exclusive access
175                              to the device.
176
177
178       mru n                  Set  the  Maximum Receive Unit (MRU) value to n.
179                              pppd asks the peer to send packets  of  no  more
180                              than  n bytes. Minimum MRU value is 128. Default
181                              MRU value is 1500. A value of 296 is recommended
182                              for slow links (40 bytes for TCP/IP header + 256
183                              bytes of data). For IPv6, MRU must be  at  least
184                              1280.
185
186
187       mtu n                  Set  the Maximum Transmit Unit (MTU) value to n.
188                              Unless the peer requests a smaller value via MRU
189                              negotiation, pppd requests the kernel networking
190                              code to send data packets  of  no  more  than  n
191                              bytes  through  the  PPP  network interface. For
192                              IPv6, MTU must be at least 1280.
193
194
195       passive                Enables the "passive" option in  the  LCP.  With
196                              this option, pppd attempts to initiate a connec‐
197                              tion; if no reply is  received  from  the  peer,
198                              pppd  waits  passively  for  a  valid LCP packet
199                              instead of exiting, as  it  would  without  this
200                              option.
201
202
203   Options
204       <local_IP_address>:<remote_IP_address>
205
206           Set  the local and/or remote interface IP addresses. Either one may
207           be omitted, but the colon is required. The IP addresses are  speci‐
208           fied  with  a  host  name  or in decimal dot notation, for example:
209           :10.1.2.3. The default local address is the first IP address of the
210           system  unless  the  noipdefault  option  is  provided.  The remote
211           address is obtained from the peer if not specified in  any  option.
212           Thus,  in  simple  cases,  this  option is not required. If a local
213           and/or remote IP address is specified with this option,  pppd  will
214           not  accept a different value from the peer in the IPCP negotiation
215           unless the ipcp-accept-local and/or ipcp-accept-remote options  are
216           given, respectively.
217
218
219       allow-fcs fcs-type
220
221           Set  allowable  FCS type(s) for data sent to the peer. The fcs-type
222           is a comma-separated list of "crc16", "crc32", "null", or integers.
223           By  default,  all known types are allowed. If this option is speci‐
224           fied and the peer requests a type not listed, a  LCP  Configure-Nak
225           is sent to request only the listed types.
226
227
228       allow-ip address(es)
229
230           Allow peers to use the given IP address or subnet without authenti‐
231           cating themselves. The parameter is parsed in the  same  manner  as
232           each  element  of the list of allowed IP addresses is parsed in the
233           secrets files. See the  section more more details.
234
235
236       bsdcomp nr,nt
237
238           Request that the peer compress packets that it sends using the BSD-
239           Compress  scheme, with a maximum code size of nr bits, and agree to
240           compress packets sent to the peer with a maximum code  size  of  nt
241           bits.  If  nt  is not specified, it defaults to the value given for
242           nr. Values in the range 9 to 15 may be used for nr and  nt;  larger
243           values  provide  better  compression but consume more kernel memory
244           for compression dictionaries. Alternatively, a value of 0 for nr or
245           nt  disables compression in the corresponding direction. Use nobsd‐
246           comp or bsdcomp 0 to disable BSD-Compress compression entirely.  If
247           this  option is read from a privileged source, a nonprivileged user
248           may not specify a code size larger than the value from  the  privi‐
249           leged source.
250
251
252       cdtrcts
253
254           Use a non-standard hardware flow control such as DTR/CTS to control
255           the flow of data on the serial port.  If  the  crtscts,  nocrtscts,
256           cdtrcts  or  nocdtrcts  option  is not specified, the hardware flow
257           control setting for the serial port is left unchanged. Some  serial
258           ports  lack  a  true RTS output. Such serial ports use this mode to
259           implement true bi-directional flow control.  Note  that  this  flow
260           control mode does not permit using DTR as a modem control line.
261
262
263       chap-interval n
264
265           If  this  option  is  given, pppd will rechallenge the peer every n
266           seconds.
267
268
269       chap-max-challenge n
270
271           Set the  maximum  number  of  CHAP  challenge  transmissions  to  n
272           (default 10).
273
274
275       chap-restart n
276
277           Set  the  CHAP  restart  interval (retransmission timeout for chal‐
278           lenges) to n seconds. The default is 3.
279
280
281       connect-delay n
282
283           Wait for up to n milliseconds after the connect script finishes for
284           a  valid  PPP packet from the peer. When the wait period elapses or
285           when a valid PPP packet is received  from  the  peer,  pppd  begins
286           negotiation  by  sending its first LCP packet. The default value is
287           1000 (1 second). A wait period applies only if the connect  or  pty
288           option is used.
289
290
291       datarate n
292
293           Set  maximum  data  rate  to n (in bytes per second) when using the
294           pty, notty, record, or socket options.
295
296
297       debug
298
299           Enables connection debugging facilities. If this option  is  given,
300           pppd logs the contents of all control packets sent or received in a
301           readable form. The packets are logged through syslog with  facility
302           daemon  and level debug. This information can be directed to a file
303           by configuring /etc/syslog.conf appropriately.
304
305
306       default-asyncmap
307
308           Disable asyncmap negotiation, forcing all control characters to  be
309           escaped for both the transmit and the receive direction.
310
311
312       default-fcs
313
314           Disable  FCS  Alternatives negotiation entirely. By default, no FCS
315           Alternatives option  is  sent  to  the  peer,  but  the  option  is
316           accepted. If this option is specified by the peer, then LCP Config‐
317           ure-Reject is sent.
318
319
320       default-mru
321
322           Disable MRU [Maximum Receive Unit] negotiation. With  this  option,
323           pppd  uses the default MRU value of 1500 bytes for the transmit and
324           receive directions.
325
326
327       deflate nr,nt,e
328
329           Request that the peer compress packets that  it  sends,  using  the
330           deflate  scheme,  with  a  maximum  window size of 2**nr bytes, and
331           agree to compress packets sent to the peer with  a  maximum  window
332           size  of  2**nt  bytes and effort level of e (1 to 9). If nt is not
333           specified, it defaults to the value given for nr. If e is not spec‐
334           ified,  it  defaults  to 6. Values in the range 9 to 15 may be used
335           for nr and nt; larger values provide better compression but consume
336           more  kernel  memory  for compression dictionaries. (Value 8 is not
337           permitted due to a zlib bug.) Alternatively, a value of 0 for nr or
338           nt  disables  compression in the corresponding direction. Use node‐
339           flate or deflate 0 to disable deflate compression entirely.  (Note:
340           pppd  requests deflate compression in preference to BSD-Compress if
341           the peer can do either.) If this option is read from  a  privileged
342           source,  a  nonprivileged  user  may not specify a code size larger
343           than the value from the privileged source.
344
345
346       demand
347
348           Initiate the link only on demand, that is,  when  data  traffic  is
349           present.  With this option, the remote IP address must be specified
350           by the user on the command line or in an options  file.  pppd  ini‐
351           tially  configures and enables the interface for IP traffic without
352           connecting to the peer. When traffic is available, pppd connects to
353           the   peer  and  performs  negotiation,  authentication  and  other
354           actions. When completed, pppd passes data packets across the  link.
355           The  demand  option implies the persist option. If this behavior is
356           not desired, use the nopersist option after the demand option.  The
357           idle and holdoff options can be used in conjunction with the demand
358           option.
359
360
361       domain d
362
363           Append the domain name d to the local host name for  authentication
364           purposes.  For  example, if gethostname() returns the name porsche,
365           but the fully qualified domain  name  is  porsche.Quotron.COM,  you
366           could  specify  domain  Quotron.COM.  With this configuration, pppd
367           uses the name porsche.Quotron.COM  for  accessing  secrets  in  the
368           secrets  file  and  as  the default name when authenticating to the
369           peer. This option is privileged.
370
371
372       endpoint endpoint-value
373
374           Set the endpoint discriminator (normally used for RFC  1990  Multi‐
375           link PPP operation). The endpoint-value consists of a class identi‐
376           fier and a class-dependent value. The class identifier  is  one  of
377           "null,"  "local," "IP," "MAC," "magic," "phone," or a decimal inte‐
378           ger. If present, the class-dependent value is  separated  from  the
379           identifier  by  a colon (":") or period (".") . This value may be a
380           standard dotted-decimal IP address for class  "IP,"  an  optionally
381           colon-or-dot  separated  hex Ethernet address for class "MAC" (must
382           have 6 numbers), or an arbitrary string of bytes specified  in  hex
383           with  optional colon or dot separators between bytes. Although this
384           option is available, this implementation does  not  support  multi‐
385           link.
386
387
388       fcs fcs-type
389
390           Set  FCS type(s) desired for data sent by the peer. The fcs-type is
391           a comma-separated list of  crc16,  crc32,  null,  or  integers.  By
392           default,  an  FCS  Alternatives  option  is  not specified, and the
393           medium-dependent FCS type is used. If this option is specified  and
394           the  peer  sends  an  LCP  Configure-Nak, only the listed types are
395           used. If none are in common, the FCS Alternatives option is omitted
396           from the next LCP Configure-Request to drop back to the default.
397
398
399       hide-password
400
401           When  logging  the contents of PAP packets, this option causes pppd
402           to exclude the password string from the log. This is the default.
403
404
405       holdoff n
406
407           Specifies how many seconds to wait before  re-initiating  the  link
408           after  it  terminates. This option is effective only if the persist
409           or demand option is used. The holdoff period is not applied if  the
410           link is terminated because it was idle.
411
412
413       ident string
414
415           Set  the  LCP Identification string. The default value is a version
416           string similar to that displayed by the --version option.
417
418
419       idle n
420
421           Specifies that pppd must disconnect if the link is idle for n  sec‐
422           onds.  The  link is idle when no data packets (i.e. IP packets) are
423           being sent or received. Do not use this  option  with  the  persist
424           option but without the demand option.
425
426
427       ipcp-accept-local
428
429           With  this  option,  pppd  accepts  the peer's idea of the local IP
430           address, even if the local IP address is specified in an option.
431
432
433       ipcp-accept-remote
434
435           With this option, pppd accepts the peer's idea  of  its  remote  IP
436           address, even if the remote IP address is specified in an option.
437
438
439       ipcp-max-configure n
440
441           Set the maximum number of IPCP Configure-Request transmissions to n
442           (default 10).
443
444
445       ipcp-max-failure n
446
447           Set the maximum number of IPCP Configure-NAKs sent  before  sending
448           Configure-Rejects instead to n (default 10).
449
450
451       ipcp-max-terminate n
452
453           Set the maximum number of IPCP terminate-request transmissions to n
454           (default 3).
455
456
457       ipcp-restart n
458
459           Set the IPCP restart interval (retransmission timeout) to n seconds
460           (default 3).
461
462
463       ipparam string
464
465           Provides  an extra parameter to the ip-up and ip-down scripts. When
466           this option is given, the string supplied is  given  as  the  sixth
467           parameter to those scripts. See the  section.
468
469
470       ipv6 <local_interface_identifier>,<remote_interface_identifier>
471
472           Set the local and/or remote 64-bit interface identifier. Either one
473           may be omitted. The identifier must be specified in standard  ASCII
474           notation  of  IPv6  addresses  (for  example:  ::dead:beef). If the
475           ipv6cp-use-ipaddr option is given, the local and remote identifiers
476           are  derived  from  the  respective IPv4 addresses (see above). The
477           ipv6cp-use-persistent option  can  be  used  instead  of  the  ipv6
478           <local>,<remote> option.
479
480
481       ipv6cp-accept-local
482
483           Accept peer's interface identifier for the local link identifier.
484
485
486       ipv6cp-max-configure n
487
488           Set the maximum number of IPv6CP Configure-Request transmissions to
489           n (default 10).
490
491
492       ipv6cp-max-failure n
493
494           Set the maximum number of IPv6CP Configure-NAKs sent before sending
495           Configure-Rejects instead to n (default 10).
496
497
498       ipv6cp-max-terminate n
499
500           Set the maximum number of IPv6CP terminate-request transmissions to
501           n (default 3).
502
503
504       ipv6cp-restart n
505
506           Set the IPv6CP restart interval (retransmission timeout) to n  sec‐
507           onds (default 3).
508
509
510       ipv6cp-use-ipaddr
511
512           If  either the local or remote IPv6 address is unspecified, use the
513           corresponding configured IPv4 address as a default interface  iden‐
514           tifier. (This option uses the configured addresses, not the negoti‐
515           ated addresses. Do not use it with ipcp-accept-local if  the  local
516           IPv6  identifier  is  unspecified or with ipcp-accept-remote if the
517           remote IPv6 identifier is unspecified.)
518
519
520       ipv6cp-use-persistent
521
522           Use uniquely-available persistent value for link local address.
523
524
525       kdebug n
526
527           Enable debugging code in the kernel-level PPP driver. Argument n is
528           the  sum  of  the  following values: 1 to enable general debug mes‐
529           sages, 2 to request that contents of received packets  be  printed,
530           and  4  to request contents of transmitted packets be printed. Mes‐
531           sages printed by the kernel are logged by  syslogd(1M)  to  a  file
532           directed in the /etc/syslog.conf configuration file. Do not use the
533           kdebug option to debug failed links. Use the debug option instead.
534
535
536       lcp-echo-failure n
537
538           If this option is given, pppd presumes the peer to be dead if n LCP
539           Echo-Requests are sent without receiving a valid LCP Echo-Reply. If
540           this happens, pppd terminates the connection. This option  requires
541           a  non-zero  value for the lcp-echo-interval parameter. This option
542           enables pppd to terminate after the physical connection  is  broken
543           (for  example,  if  the  modem  has hung up) in situations where no
544           hardware modem control lines are available.
545
546
547       lcp-echo-interval n
548
549           If this option is given, pppd sends an LCP  Echo-Request  frame  to
550           the  peer  every n seconds. Normally the peer responds to the Echo-
551           Request by sending an Echo-Reply. This option can be used with  the
552           lcp-echo-failure  option  to detect that the peer is no longer con‐
553           nected.
554
555
556       lcp-max-configure n
557
558           Set the maximum number of LCP Configure-Request transmissions to  n
559           (default 10).
560
561
562       lcp-max-failure n
563
564           Set  the  maximum number of LCP Configure-NAKs sent before starting
565           to send Configure-Rejects instead to n (default 10).
566
567
568       lcp-max-terminate n
569
570           Set the maximum number of LCP Terminate-Request transmissions to  n
571           (default 3).
572
573
574       lcp-restart n
575
576           Set  the LCP restart interval (retransmission timeout) to n seconds
577           (default 3).
578
579
580       linkname name
581
582           Sets the logical name of the link to  name.  pppd  creates  a  file
583           named  ppp-name.pid  in /var/run containing its process ID. This is
584           useful in determining which instance of pppd is responsible for the
585           link to a given peer system. This is a privileged option.
586
587
588       local
589
590           Do  not use modem control lines. With this option, pppd ignores the
591           state of the CD (Carrier Detect) signal from the modem and does not
592           change the state of the DTR (Data Terminal Ready) signal.
593
594
595       logfd n
596
597           Send  log messages to file descriptor n. pppd sends log messages to
598           (at most) one file or file descriptor (as well as sending  the  log
599           messages  to  syslog),  so  this  option and the logfile option are
600           mutually exclusive. By default pppd sends log  messages  to  stdout
601           (file descriptor 1) unless the serial port is open on stdout.
602
603
604       logfile filename
605
606           Append log messages to the file filename (and send the log messages
607           to syslog). The file is opened in append mode with  the  privileges
608           of the user who invoked pppd.
609
610
611       login
612
613           Use  the system password database for authenticating the peer using
614           PAP, and record the user in the system wtmp  file.  Note  that  the
615           peer  must  have  an entry in the /etc/ppp/pap-secrets file and the
616           system password database to be allowed access.
617
618
619       maxconnect n
620
621           Terminate the connection after it has been  available  for  network
622           traffic  for  n seconds (that is, n seconds after the first network
623           control protocol starts). An LCP  Time-Remaining  message  is  sent
624           when the first NCP starts, and again when 5, 2, and 0.5 minutes are
625           remaining.
626
627
628       maxfail n
629
630           Terminate after n consecutive failed connection attempts.  A  value
631           of 0 means no limit. The default value is 10.
632
633
634       modem
635
636           Use  the modem control lines. This option is the default. With this
637           option, pppd waits for the CD  (Carrier  Detect)  signal  from  the
638           modem  to be asserted when opening the serial device (unless a con‐
639           nect script is specified), and drops the DTR (Data Terminal  Ready)
640           signal briefly when the connection is terminated and before execut‐
641           ing the connect script.
642
643
644       ms-dns <addr>
645
646           If pppd is acting as a server for Microsoft Windows  clients,  this
647           option  allows  pppd  to supply one or two DNS (Domain Name Server)
648           addresses to the clients. The first instance of this option  speci‐
649           fies the primary DNS address; the second instance (if given) speci‐
650           fies the secondary DNS address. If the first instance  specifies  a
651           name  that  resolves  to  multiple IP addresses, then the first two
652           addresses are used. (This option is present in some older  versions
653           of pppd under the name dns-addr.)
654
655
656       ms-lanman
657
658           If  pppd  connects  as  a client to a Microsoft server and uses MS-
659           CHAPv1 for authentication, this  option  selects  the  LAN  Manager
660           password style instead of Microsoft NT.
661
662
663       ms-wins <addr>
664
665           If  pppd  acts  as a server for Microsoft Windows or Samba clients,
666           this option allows pppd to supply one or two WINS (Windows Internet
667           Name  Services) server addresses to the clients. The first instance
668           of this option specifies  the  primary  WINS  address;  the  second
669           instance  (if  given) specifies the secondary WINS address. As with
670           ms-dns, if the name specified resolves to  multiple  IP  addresses,
671           then the first two will be taken as primary and secondary.
672
673
674       name name
675
676           Set  the  name  of  the local system for authentication purposes to
677           name. This is a privileged option.  With  this  option,  pppd  uses
678           lines  in  the  secrets files that have name as the second field to
679           look for a secret to use in authenticating the peer.  In  addition,
680           unless overridden with the user option, name is used as the name to
681           send to the peer when authenticating the local system.  (Note  that
682           pppd does not append the domain name to name.)
683
684
685       no-accm-test
686
687           Disable use of asyncmap (ACCM) checking using LCP Echo-Request mes‐
688           sages. If the lcp-echo-failure is used  on  an  asynchronous  line,
689           pppd  includes  all  control  characters  in  the first n LCP Echo-
690           Request messages. If the asyncmap  is  set  incorrectly,  the  link
691           drops  rather  than  continue  operation with random failures. This
692           option disables that feature.
693
694
695       noaccomp
696
697           Disable HDLC Address/Control compression in both  directions  (send
698           and receive).
699
700
701       noauth
702
703           Do  not  require  the  peer  to authenticate itself. This option is
704           privileged.
705
706
707       nobsdcomp
708
709           Disables BSD-Compress compression; pppd will not request  or  agree
710           to  compress  packets using the BSD-Compress scheme. This option is
711           not necessary if noccp is specified.
712
713
714       noccp
715
716           Disable CCP (Compression Control Protocol) negotiation. This option
717           should only be required if the peer has bugs or becomes confused by
718           requests from pppd for CCP negotiation. If CCP  is  disabled,  then
719           BSD and deflate compression do not need to be separately disabled.
720
721
722       nocrtscts
723
724           Disable hardware flow control (i.e. RTS/CTS) on the serial port. If
725           the crtscts, nocrtscts, cdtrcts or nocdtrcts options are not given,
726           the  hardware  flow  control  setting  for  the serial port is left
727           unchanged.
728
729
730       nocdtrcts
731
732           This option is a synonym for nocrtscts. Either option will  disable
733           both forms of hardware flow control.
734
735
736       nodefaultroute
737
738           Disable  the  defaultroute  option.  You can prevent non-root users
739           from creating default routes with pppd by placing  this  option  in
740           the /etc/ppp/options file.
741
742
743       nodeflate
744
745           Disables  deflate  compression;  pppd  will not request or agree to
746           compress packets using the deflate scheme. This option is not  nec‐
747           essary if noccp is specified.
748
749
750       nodeflatedraft
751
752           Do  not  use Internet Draft (incorrectly assigned) algorithm number
753           for deflate compression. This option is not necessary if  noccp  is
754           specified.
755
756
757       nodetach
758
759           Do  not  detach from the controlling terminal. Without this option,
760           pppd forks to become a background process if a serial device  other
761           than the terminal on the standard input is specified.
762
763
764       noendpoint
765
766           Do not send or accept the Multilink Endpoint Discriminator option.
767
768
769       noident
770
771           Disable use of LCP Identification. LCP Identification messages will
772           not be sent to the peer, but  received  messages  will  be  logged.
773           (Specify  this  option  twice to completely disable LCP Identifica‐
774           tion. In this case, pppd  sends  LCP  Code-Reject  in  response  to
775           received LCP Identification messages.)
776
777
778       noip
779
780           Disable IPCP negotiation and IP communication. Use this option only
781           if the peer has bugs or becomes confused by requests from pppd  for
782           IPCP negotiation.
783
784
785       noipv6
786
787           Disable  IPv6CP  negotiation  and  IPv6  communication. IPv6 is not
788           enabled by default.
789
790
791       noipdefault
792
793           Disables the default behavior when no local IP  address  is  speci‐
794           fied, which is to determine (if possible) the local IP address from
795           the hostname. With this option, the peer must supply the  local  IP
796           address  during IPCP negotiation (unless it specified explicitly on
797           the command line or in an options file).
798
799
800       nolog
801
802           Do not send log messages to a file or file descriptor. This  option
803           cancels the logfd and logfile options. nologfd acts as an alias for
804           this option.
805
806
807       nomagic
808
809           Disable magic number negotiation. With  this  option,  pppd  cannot
810           detect  a  looped-back  line.  Use this option only if the peer has
811           bugs. Do not use this option to work around  the  "Serial  line  is
812           looped back" error message.
813
814
815       nopam
816
817           This  privileged  option  disables  use of pluggable authentication
818           modules. If this option is  specified,  pppd  reverts  to  standard
819           authentication mechanisms. The default is not to use PAM.
820
821
822       nopcomp
823
824           Disable  protocol  field compression negotiation in the receive and
825           the transmit direction.
826
827
828       nopersist
829
830           Exit once a connection has been made and terminated.  This  is  the
831           default unless the persist or demand option is specified.
832
833
834       noplink
835
836           Cause  pppd  to use I_LINK instead of I_PLINK. This is the default.
837           When I_LINK is used, the system  cleans  up  terminated  interfaces
838           (even  when  SIGKILL  is  used)  but does not allow ifconfig(1M) to
839           unplumb PPP streams or insert or remove  modules  dynamically.  Use
840           the  plink  option  if ifconfig(1M) modinsert, modremove or unplumb
841           support is needed.
842
843
844       nopredictor1
845
846           Do not accept or agree to Predictor-1 compression. (This option  is
847           accepted  for  compatibility.  The  implementation does not support
848           Predictor-1 compression.)
849
850
851       noproxyarp
852
853           Disable the proxyarp option. If you want to prevent users from cre‐
854           ating  proxy  ARP  entries  with  pppd,  place  this  option in the
855           /etc/ppp/options file.
856
857
858       notty
859
860           Normally, pppd requires a terminal device. With this  option,  pppd
861           allocates  itself a pseudo-tty master/slave pair and uses the slave
862           as its terminal device. pppd creates a child process to  act  as  a
863           character  shunt to transfer characters between the pseudo-tty mas‐
864           ter and its standard input and output. Thus, pppd transmits charac‐
865           ters on its standard output and receives characters on its standard
866           input even if they are not terminal devices. This option  increases
867           the  latency  and  CPU  overhead  of transferring data over the ppp
868           interface as all of the characters  sent  and  received  must  flow
869           through  the  character  shunt process. An explicit device name may
870           not be given if this option is used.
871
872
873       novj
874
875           Disable Van Jacobson style TCP/IP header compression  in  both  the
876           transmit and the receive direction.
877
878
879       novjccomp
880
881           Disable  the connection-ID compression option in Van Jacobson style
882           TCP/IP header compression. With this option, pppd does not omit the
883           connection-ID byte from Van Jacobson compressed TCP/IP headers, nor
884           does it ask the peer to do so. This option is unnecessary  if  novj
885           is specified.
886
887
888       pam
889
890           This  privileged  option  enables use of PAM. If this is specified,
891           pppd uses the pam(3PAM) framework for user  authentication  with  a
892           service  name  of  "ppp" if the login option and PAP authentication
893           are used. The default is not to use PAM.
894
895
896       papcrypt
897
898           Indicates that pppd should not  accept  a  password  which,  before
899           encryption,  is  identical  to  the  secret  from the /etc/ppp/pap-
900           secrets file. Use this option if the  secrets  in  the  pap-secrets
901           file are in crypt(3C) format.
902
903
904       pap-max-authreq n
905
906           Set the maximum number of PAP authenticate-request transmissions to
907           n (default 10).
908
909
910       pap-restart n
911
912           Set the PAP restart interval (retransmission timeout) to n  seconds
913           (default 3).
914
915
916       pap-timeout n
917
918           Set  the  maximum time that pppd waits for the peer to authenticate
919           itself with PAP to n seconds (0= no limit). The default is 30  sec‐
920           onds.
921
922
923       password string
924
925           Password string for authentication to the peer.
926
927
928       persist
929
930           Do not exit after a connection is terminated; instead try to reopen
931           the connection.
932
933
934       plink
935
936           Cause pppd to use I_PLINK instead of I_LINK. The default is to  use
937           I_LINK,  which  cleans  up terminated interface (even if SIGKILL is
938           used), but does not allow ifconfig(1M) to unplumb  PPP  streams  or
939           insert  or  remove  modules  dynamically. Use this option if ifcon‐
940           fig(1M) modinsert/modremove/unplumb support is needed. See also the
941           plumbed option.
942
943
944       plugin filename
945
946           Load the shared library object file filename as a plugin. This is a
947           privileged option. Unless the filename specifies an explicit  path,
948           /etc/ppp/plugins  and  /usr/lib/inet/ppp  will  be searched for the
949           object to load in that order.
950
951
952       plumbed
953
954           This option indicates that pppd should find a plumbed interface and
955           use  that  for the session. If IPv4 addresses or IPv6 interface IDs
956           or link MTU are otherwise unspecified, they  are  copied  from  the
957           interface  selected.  This mode mimics some of the functionality of
958           the older aspppd implementation and may be  helpful  when  pppd  is
959           used with external applications that use ifconfig(1M).
960
961
962       pppmux timer
963
964           Enable  PPP Multiplexing option negotiation and set transmit multi‐
965           plexing timeout to timer microseconds.
966
967
968       privgroup group-name
969
970           Allows members of group group-name to use privileged options.  This
971           is  a privileged option. Because there is no guarantee that members
972           of group-name cannot use pppd to become root themselves, you should
973           be careful using this option. Consider it equivalent to putting the
974           members of group-name in the root or sys group.
975
976
977       proxyarp
978
979           Add an entry to the system's Address Resolution Protocol (ARP)  ta‐
980           ble  with  the  IP  address of the peer and the Ethernet address of
981           this system. When you use this option, the peer  appears  to  other
982           systems  to be on the local Ethernet. The remote address on the PPP
983           link must be in the same subnet as assigned to an  Ethernet  inter‐
984           face.
985
986
987       pty  script
988
989           Specifies  that  the  command  script,  and not a specific terminal
990           device is used for serial communication. pppd  allocates  itself  a
991           pseudo-tty  master/slave  pair  and  uses the slave as its terminal
992           device. script runs in a child process with the  pseudo-tty  master
993           as  its  standard input and output. An explicit device name may not
994           be given if this option is used. (Note: if  the  record  option  is
995           used  in  conjunction  with  the pty option, the child process will
996           have pipes on its standard input and output.)
997
998
999       receive-all
1000
1001           With this option, pppd accepts  all  control  characters  from  the
1002           peer,  including those marked in the receive asyncmap. Without this
1003           option, pppd discards those characters as specified  in  RFC  1662.
1004           This  option  should be used only if the peer has bugs, as is often
1005           found with dial-back implementations.
1006
1007
1008       record filename
1009
1010           Directs pppd to record all characters sent and received to  a  file
1011           named filename. filename is opened in append mode, using the user's
1012           user-ID and permissions. Because this option uses a pseudo-tty  and
1013           a  process  to  transfer  characters between the pseudo-tty and the
1014           real serial device, it increases the latency and  CPU  overhead  of
1015           transferring  data over the PPP interface. Characters are stored in
1016           a tagged format with timestamps that can be displayed  in  readable
1017           form  using  the pppdump(1M) program. This option is generally used
1018           when debugging the kernel portion of pppd (especially CCP  compres‐
1019           sion algorithms) and not for debugging link configuration problems.
1020           See the debug option.
1021
1022
1023       remotename name
1024
1025           Set the assumed name of the remote system for  authentication  pur‐
1026           poses  to  name. Microsoft WindowsNT does not provide a system name
1027           in its CHAP Challenge messages, and this option is  often  used  to
1028           work around this problem.
1029
1030
1031       refuse-chap
1032
1033           With this option, pppd will not agree to authenticate itself to the
1034           peer using standard  Challenge  Handshake  Authentication  Protocol
1035           (CHAP). (MS-CHAP is not affected.)
1036
1037
1038       refuse-mschap
1039
1040           Do not agree to authenticate to peer with MS-CHAPv1. If this option
1041           is specified, requests for MS-CHAPv1 authentication from  the  peer
1042           are  declined  with LCP Configure-Nak. That option does not disable
1043           any other form of CHAP.
1044
1045
1046       refuse-mschapv2
1047
1048           Do not agree to authenticate to peer with MS-CHAPv2. If  specified,
1049           this option requests that MS-CHAPv2 authentication from the peer be
1050           declined with LCP Configure-Nak. That option does not  disable  any
1051           other form of CHAP.
1052
1053
1054       refuse-pap
1055
1056           With this option, pppd will not agree to authenticate itself to the
1057           peer using Password Authentication Protocol (PAP).
1058
1059
1060       require-chap
1061
1062           Require the peer to authenticate itself using standard CHAP authen‐
1063           tication. MS-CHAP is not affected.
1064
1065
1066       require-mschap
1067
1068           Require the peer to authenticate itself using MS-CHAPv1 authentica‐
1069           tion.
1070
1071
1072       require-mschapv2
1073
1074           Require the peer to authenticate itself using MS-CHAPv2 authentica‐
1075           tion.
1076
1077
1078       require-pap
1079
1080           Require the peer to authenticate itself using PAP authentication.
1081
1082
1083       show-password
1084
1085           When  logging  contents  of PAP packets, this option causes pppd to
1086           show the password string in the log message.
1087
1088
1089       silent
1090
1091           With this option, pppd will not transmit LCP packets to initiate  a
1092           connection until a valid LCP packet is received from the peer. This
1093           is like the "passive" option with older versions  of  pppd  and  is
1094           retained  for compatibility, but the current passive option is pre‐
1095           ferred.
1096
1097
1098       small-accm-test
1099
1100           When checking the asyncmap (ACCM) setting, pppd uses all 256 possi‐
1101           ble  values by default. See no-accm-test. This option restricts the
1102           test so that only the 32 values affected by standard ACCM  negotia‐
1103           tion are tested. This option is useful on very slow links.
1104
1105
1106       socket host:port
1107
1108           Connect to given host and port using TCP and run PPP over this con‐
1109           nection.
1110
1111
1112       sync
1113
1114           Use synchronous HDLC serial encoding instead of  asynchronous.  The
1115           device  used  by pppd with this option must have sync support. Cur‐
1116           rently supports zs, se, and hsi drivers.
1117
1118
1119       unit n
1120
1121           Set PPP interface unit number to n, if possible.
1122
1123
1124       updetach
1125
1126           With this option, pppd detaches from its controlling terminal after
1127           establishing  the  PPP connection. When this is specified, messages
1128           sent to stderr by the connect script, usually chat(1M), and  debug‐
1129           ging messages from the debug option are directed to pppd's standard
1130           output.
1131
1132
1133       usehostname
1134
1135           Enforce the use of the  hostname  with  domain  name  appended,  if
1136           given, as the name of the local system for authentication purposes.
1137           This overrides the name option. Because the name option  is  privi‐
1138           leged, this option is normally not needed.
1139
1140
1141       usepeerdns
1142
1143           Ask the peer for up to two DNS server addresses. Addresses supplied
1144           by the peer, if any, are passed to the /etc/ppp/ip-up script in the
1145           environment  variables  DNS1 and DNS2. In addition, pppd creates an
1146           /etc/ppp/resolv.conf file containing one or  two  nameserver  lines
1147           with the address(es) supplied by the peer.
1148
1149
1150       user name
1151
1152           Sets  the name used for authenticating the local system to the peer
1153           to name.
1154
1155
1156       vj-max-slots n
1157
1158           Sets the number of connection slots to be used by the Van  Jacobson
1159           TCP/IP  header  compression and decompression code to n, which must
1160           be between 2 and 16 (inclusive).
1161
1162
1163       welcome script
1164
1165           Run the executable or shell command specified by script before ini‐
1166           tiating PPP negotiation, after the connect script, if any, has com‐
1167           pleted. A value for this option from a privileged source cannot  be
1168           overridden by a non-privileged user.
1169
1170
1171       xonxoff
1172
1173           Use  software  flow control, that is, XON/XOFF, to control the flow
1174           of data on the serial port.
1175
1176
1177   Obsolete Options
1178       The following options are obsolete:
1179
1180       +ua name      Read a PAP user name and password  from  the  file  name.
1181                     This file must have two lines for name and password. Name
1182                     and password are sent to the peer when the peer  requests
1183                     PAP authentication.
1184
1185
1186       +ipv6         Enable IPv6 and IPv6CP without specifying interface iden‐
1187                     tifiers.
1188
1189
1190       --version     Show version number and exit.
1191
1192
1193       --help        Show brief help message and exit.
1194
1195

EXTENDED DESCRIPTION

1197       The following sections discuss miscellaneous features of pppd:
1198
1199   Security
1200       pppd allows system administrators to provide legitimate users with  PPP
1201       access to a server machine without fear of compromising the security of
1202       the server or the network it runs on. Access  control  is  provided  by
1203       restricting  IP  addresses  the peer may use based on its authenticated
1204       identity (if any), and through restrictions on options a non-privileged
1205       user  may  use. Options that permit potentially insecure configurations
1206       are privileged. Privileged options are accepted only in files that  are
1207       under the control of the system administrator or when pppd is being run
1208       by root.
1209
1210
1211       By default, pppd allows an unauthenticated  peer  to  use  a  given  IP
1212       address  only  if  the  system does not already have a route to that IP
1213       address. For example, a system with a permanent connection to the wider
1214       Internet  will  normally  have  a default route, meaning all peers must
1215       authenticate themselves to set up a connection. On such a  system,  the
1216       auth  option  is the default. Conversely, a system with a PPP link that
1217       comprises the only connection to the Internet probably does not possess
1218       a  default  route, so the peer can use virtually any IP address without
1219       authenticating itself.
1220
1221
1222       Security-sensitive options are privileged and cannot be accessed  by  a
1223       non-privileged  user  running  pppd, either on the command line, in the
1224       user's $HOME/.ppprc file, or in an options file  read  using  the  file
1225       option.  Privileged  options may be used in /etc/ppp/options file or in
1226       an options file read using the call option. If pppd is run by the  root
1227       user,  privileged  options  can  be  used  without  restriction. If the
1228       /etc/ppp/options file does not exist, then only root may  invoke  pppd.
1229       The  /etc/ppp/options  file must be created (but may be empty) to allow
1230       ordinary non-root users to access pppd.
1231
1232
1233       When opening the device, pppd uses the invoking user's user ID  or  the
1234       root  UID  (that  is, 0), depending if the device name was specified by
1235       the user or the system administrator. If the device name comes  from  a
1236       privileged  source,  that  is, /etc/ppp/options or an options file read
1237       using the call option, pppd uses full root privileges when opening  the
1238       device. Thus, by creating an appropriate file under /etc/ppp/peers, the
1239       system administrator can allow users to establish a PPP connection  via
1240       a  device  that  they      would not normally have access to. Otherwise
1241       pppd uses the invoking user's real UID when opening the device.
1242
1243   Authentication
1244       During the authentication process, one peer convinces the other of  its
1245       identity  by sending its name and some secret information to the other.
1246       During authentication, the first peer becomes the "client" and the sec‐
1247       ond  becomes  the  "server."  Authentication  names  can  (but  are not
1248       required to) correspond to the peer's Internet hostnames.
1249
1250
1251       pppd supports four authentication protocols: the  Password  Authentica‐
1252       tion  Protocol (PAP) and three forms of the Challenge Handshake Authen‐
1253       tication Protocol (CHAP). With the PAP protocol, the client  sends  its
1254       name  and  a  cleartext  password to the server to authenticate itself.
1255       With CHAP, the server initiates the authentication exchange by  sending
1256       a  challenge  to  the  client who must respond with its name and a hash
1257       value derived from the shared secret and the challenge.
1258
1259
1260       The PPP protocol is symmetrical, meaning that each peer may be required
1261       to authenticate itself to the other. Different authentication protocols
1262       and names can be used for each exchange.
1263
1264
1265       By default, pppd  authenticates  if  requested  and  does  not  require
1266       authentication  from  the  peer.  However,  pppd  does not authenticate
1267       itself with a specific protocol if it has no secrets that can do so.
1268
1269
1270       pppd stores authentication secrets  in  the  /etc/ppp/pap-secrets  (for
1271       PAP),  and  /etc/ppp/chap-secrets  (for CHAP) files. Both files use the
1272       same format. pppd uses secrets files to authenticate  itself  to  other
1273       systems and to authenticate other systems to itself.
1274
1275
1276       Secrets  files  contain  one secret per line. Secrets are specific to a
1277       particular combination of client and server and can  only  be  used  by
1278       that  client  to  authenticate  itself  to  that server. Each line in a
1279       secrets file has a minimum of three fields that contain the client  and
1280       server names followed by the secret. Often, these three fields are fol‐
1281       lowed by IP addresses that are used by clients to connect to a server.
1282
1283
1284       A secrets file is parsed into words, with client name, server name  and
1285       secrets  fields  allocated one word each. Embedded spaces or other spe‐
1286       cial characters within a word must be quoted or escaped. Case  is  sig‐
1287       nificant in all three fields.
1288
1289
1290       A  secret  beginning with an at sign ("@") is followed by the name of a
1291       file containing the secret. An asterisk (*) as  the  client  or  server
1292       name matches any name. When choosing a match, pppd selects the one with
1293       the fewest wildcards. Succeeding words on a  line  are  interpreted  by
1294       pppd  as acceptable IP addresses for that client. IP Addresses are dis‐
1295       allowed if they appear in lines that contain only three words or  lines
1296       whose  first word begins with a hyphen ("-"). To allow any address, use
1297       "*". An address starting with an exclamation point ("!") indicates that
1298       the  specified address is not acceptable. An address may be followed by
1299       "/" and a number n to indicate a whole subnet (all addresses that  have
1300       the  same  value  in  the  most  significant n bits). In this form, the
1301       address may be followed by a plus  sign  ("+")  to  indicate  that  one
1302       address  from the subnet is authorized, based on the ppp network inter‐
1303       face unit number in use. In this case, the host part of the address  is
1304       set to the unit number, plus one.
1305
1306
1307       When  authenticating  the  peer,  pppd chooses a secret with the peer's
1308       name in the first field of the secrets file and the name of  the  local
1309       system in the second field. The local system name defaults to the host‐
1310       name, with the domain name appended if the domain option is  used.  The
1311       default  can  be overridden with the name option unless the usehostname
1312       option is used.
1313
1314
1315       When authenticating to the peer, pppd first determines the name it will
1316       use  to  identify  itself  to the peer. This name is specified with the
1317       user option. If the user option is not used, the name defaults  to  the
1318       host  name  of  the  local  system. pppd then selects a secret from the
1319       secrets file by searching for an entry with a local name in  the  first
1320       field  and the peer's name in the second field. pppd will know the name
1321       of the peer if standard CHAP authentication is used  because  the  peer
1322       will  have  sent it in the Challenge packet. However, if MS-CHAP or PAP
1323       is being used, pppd must determine the peer's  name  from  the  options
1324       specified  by  the  user. The user can specify the peer's name directly
1325       with the remotename option. Otherwise, if the  remote  IP  address  was
1326       specified  by  a  name,  rather than in numeric form, that name will be
1327       used as the peer's name. If that fails, pppd uses the  null  string  as
1328       the peer's name.
1329
1330
1331       When  authenticating  the  peer  with PAP, the supplied password     is
1332       compared with data in the secrets file. If the password and  secret  do
1333       not  match, the password is encrypted using crypt() and checked against
1334       the secret again. If the papcrypt option  is  given,  the  first  unen‐
1335       crypted  comparison  is  omitted  for better security, and entries must
1336       thus be in encrypted crypt(3C) form.
1337
1338
1339       If the login option is specified, the username and  password  are  also
1340       checked against the system password database. This allows you to set up
1341       the pap-secrets file to enable PPP access only to certain users, and to
1342       restrict  the  set  of IP addresses available to users. Typically, when
1343       using the login option, the secret in /etc/ppp/pap-secrets would be "",
1344       which  matches any password supplied by the peer. This makes having the
1345       same secret in two places unnecessary. When  login  is  used,  the  pam
1346       option enables access control through pam(3PAM).
1347
1348
1349       Authentication  must  be completed before IPCP (or other network proto‐
1350       col) can be started. If the peer is required to authenticate itself and
1351       fails,  pppd  closes LCP and terminates the link. If IPCP negotiates an
1352       unacceptable IP address for the remote host, IPCP is closed. IP packets
1353       are sent or received only when IPCP is open.
1354
1355
1356       To  allow  hosts  that cannot authenticate themselves to connect    and
1357       use one of a restricted set of IP addresses, add a  line  to  the  pap-
1358       secrets  file  specifying  the  empty  string  for  the client name and
1359       secret.
1360
1361
1362       Additional pppd options for a given peer may be  specified  by  placing
1363       them at the end of the secrets entry, separated by two dashes (--). For
1364       example
1365
1366         peername servername secret ip-address -- novj
1367
1368
1369   Routing
1370       When IPCP negotiation is complete, pppd informs the kernel of the local
1371       and  remote IP addresses for the PPP interface and creates a host route
1372       to the remote end of the link that enables peers to exchange  IP  pack‐
1373       ets. Communication with other machines generally requires further modi‐
1374       fication to routing tables and/or  Address  Resolution  Protocol  (ARP)
1375       tables. In most cases the defaultroute and/or proxyarp options are suf‐
1376       ficient for this, but further intervention may be necessary. If further
1377       intervention  is  required,  use the /etc/ppp/ip-up script or a routing
1378       protocol daemon.
1379
1380
1381       To add a default route through the remote host,  use  the  defaultroute
1382       option.  This  option  is typically used for "client" systems; that is,
1383       end-nodes that use the PPP link for access to the general Internet.
1384
1385
1386       In some cases it is desirable to use proxy ARP, for example on a server
1387       machine  connected  to  a LAN, to allow other hosts to communicate with
1388       the remote host. proxyarp instructs pppd to look for a  network  inter‐
1389       face  on the same subnet as the remote host. That is, an interface sup‐
1390       porting broadcast and ARP that is  not  a  point-to-point  or  loopback
1391       interface and that is currently up. If found, pppd creates a permanent,
1392       published ARP entry with the IP address of  the  remote  host  and  the
1393       hardware address of the network interface.
1394
1395
1396       When  the demand option is used, the interface IP addresses are already
1397       set at the time when IPCP comes up. If pppd cannot negotiate  the  same
1398       addresses  it used to configure the interface, it changes the interface
1399       IP addresses to the negotiated addresses.  This  may  disrupt  existing
1400       connections.  Using  demand  dialing with peers that perform dynamic IP
1401       address assignment is not recommended.
1402
1403   Scripts
1404       pppd invokes scripts at various stages during processing that are  used
1405       to  perform  site-specific  ancillary  processing. These scripts may be
1406       shell scripts or executable  programs.  pppd  does  not  wait  for  the
1407       scripts  to finish. The scripts are executed as root (with the real and
1408       effective user-id set to 0), enabling them to  update  routing  tables,
1409       run  privileged  daemons, or perform other tasks. Be sure that the con‐
1410       tents of these scripts do not compromise your system's  security.  pppd
1411       runs  the  scripts  with standard input, output and error redirected to
1412       /dev/null, and with an environment that is empty except for some  envi‐
1413       ronment  variables that give information about the link. The pppd envi‐
1414       ronment variables are:
1415
1416       DEVICE         Name of the serial tty device.
1417
1418
1419       IFNAME         Name of the network interface.
1420
1421
1422       IPLOCAL        IP address for the link's local end. This  is  set  only
1423                      when IPCP has started.
1424
1425
1426       IPREMOTE       IP  address  for the link's remote end. This is set only
1427                      when IPCP has started.
1428
1429
1430       PEERNAME       Authenticated name of the peer. This is set only if  the
1431                      peer authenticates itself.
1432
1433
1434       SPEED          Baud rate of the tty device.
1435
1436
1437       ORIG_UID       Real user-id of user who invoked pppd.
1438
1439
1440       PPPLOGNAME     Username  of  the real user-id who invoked pppd. This is
1441                      always set.
1442
1443
1444
1445       pppd also sets the following variables for the  ip-down  and  auth-down
1446       scripts:
1447
1448       CONNECT_TIME     Number of seconds between the start of PPP negotiation
1449                        and connection termination.
1450
1451
1452       BYTES_SENT       Number of bytes sent at the level of the  serial  port
1453                        during the connection.
1454
1455
1456       BYTES_RCVD       Number  of  bytes  received at the level of the serial
1457                        port during the connection.
1458
1459
1460       LINKNAME         Logical name  of  the  link,  set  with  the  linkname
1461                        option.
1462
1463
1464
1465       If  they  exist, pppd invokes the following scripts. It is not an error
1466       if they do not exist.
1467
1468       /etc/ppp/auth-up       Program or script executed after the remote sys‐
1469                              tem  successfully  authenticates  itself.  It is
1470                              executed  with  five   command-line   arguments:
1471                              interface-name  peer-name  user-name  tty-device
1472                              speed. Note that this script is not executed  if
1473                              the peer does not authenticate itself, for exam‐
1474                              ple, when the noauth option is used.
1475
1476
1477       /etc/ppp/auth-down     Program or script executed when  the  link  goes
1478                              down  if  /etc/ppp/auth-up  was  previously exe‐
1479                              cuted. It is executed in the  same  manner  with
1480                              the same parameters as /etc/ppp/auth-up.
1481
1482
1483       /etc/ppp/ip-up       A program or script that is executed when the link
1484                            is available for sending and receiving IP  packets
1485                            (that  is,  IPCP has come up). It is executed with
1486                            six command-line  arguments:  interface-name  tty-
1487                            device  speed  local-IP-address  remote-IP-address
1488                            ipparam.
1489
1490
1491       /etc/ppp/ip-down     A program or script which  is  executed  when  the
1492                            link  is  no  longer  available  for  sending  and
1493                            receiving IP packets. This script can be used  for
1494                            undoing  the effects of the /etc/ppp/ip-up script.
1495                            It is invoked in the same manner and with the same
1496                            parameters as the ip-up script.
1497
1498
1499       /etc/ppp/ipv6-up     Similar  to /etc/ppp/ip-up, except that it is exe‐
1500                            cuted when the link is available for  sending  and
1501                            receiving IPv6 packets. Executed with six command-
1502                            line arguments:  interface-name  tty-device  speed
1503                            local-link-local-address remote-link-local-address
1504                            ipparam.
1505
1506
1507       /etc/ppp/ipv6-down     Similar to /etc/ppp/ip-down, but  executed  when
1508                              IPv6 packets can no longer be transmitted on the
1509                              link. Executed with the same parameters  as  the
1510                              ipv6-up script.
1511
1512

EXAMPLES

1514       Example 1 Using the auth Option
1515
1516
1517       The  following  examples assume that the /etc/ppp/options file contains
1518       the auth option.
1519
1520
1521
1522       pppd is commonly used to dial out to an ISP. You can do this using  the
1523       "pppd  call isp" command where the /etc/ppp/peers/isp file is set up to
1524       contain a line similar to the following:
1525
1526
1527         cua/a 19200 crtscts connect '/usr/bin/chat -f /etc/ppp/chat-isp' noauth
1528
1529
1530
1531       For this example, chat(1M) is used to dial the ISP's modem and  process
1532       any login sequence required. The /etc/ppp/chat-isp file is used by chat
1533       and could contain the following:
1534
1535
1536         ABORT "NO CARRIER"
1537         ABORT "NO DIALTONE"
1538         ABORT "ERROR"
1539         ABORT "NO ANSWER"
1540         ABORT "BUSY"
1541         ABORT "Username/Password Incorrect"
1542         "" "at"
1543         OK "at&f&d2&c1"
1544         OK "atdt2468135"
1545         "name:" "^Umyuserid"
1546         "word:" "qmypassword"
1547         "ispts" "q^Uppp"
1548         "~-^Uppp-~"
1549
1550
1551
1552       See the chat(1M) man page for details of chat scripts.
1553
1554
1555       Example 2 Using pppd with proxyarp
1556
1557
1558       pppd can also provide a dial-in ppp service for  users.  If  the  users
1559       already have login accounts, the simplest way to set up the ppp service
1560       is to let the users log in to their accounts and run pppd as  shown  in
1561       the following example:
1562
1563
1564         example% pppd proxyarp
1565
1566
1567
1568       Example 3 Providing a User with Access to PPP Facilities
1569
1570
1571       To  provide  a  user  with access to the PPP facilities, allocate an IP
1572       address for the user's machine, create an entry in /etc/ppp/pap-secrets
1573       or  /etc/ppp/chap-secrets. This enables the user's machine to authenti‐
1574       cate itself. For example, to enable user "Joe" using  machine  "joespc"
1575       to  dial in to machine "server" and use the IP address "joespc.my.net,"
1576       add the following entry to the /etc/ppp/pap-secrets  or  /etc/ppp/chap-
1577       secrets files:
1578
1579
1580         joespc    server    "joe's secret" joespc.my.net
1581
1582
1583
1584
1585       Alternatively,  you  can  create  another  username, for example "ppp,"
1586       whose  login  shell  is  /usr/bin/pppd  and  whose  home  directory  is
1587       /etc/ppp.   If   you  run  pppd  this  way,  add  the  options  to  the
1588       /etc/ppp/.ppprc file.
1589
1590
1591
1592       If your serial connection is complex, it may be useful to  escape  such
1593       control  characters as XON (^Q) and XOFF (^S), using asyncmap a0000. If
1594       the path includes a telnet, escape ^] (asyncmap 200a0000). If the  path
1595       includes a rlogin command, add escape ff option to the options, because
1596       rlogin removes the window-size-change sequence [0xff, 0xff, 0x73, 0x73,
1597       followed by any 8 bytes] from the stream.
1598
1599

EXIT STATUS

1601       The  pppd exit status indicates errors or specifies why a link was ter‐
1602       minated. Exit status values are:
1603
1604       0      pppd has detached or the connection was successfully established
1605              and terminated at the peer's request.
1606
1607
1608       1      An  immediately  fatal error occurred. For example, an essential
1609              system call failed.
1610
1611
1612       2      An error was detected in the options  given.  For  example,  two
1613              mutually  exclusive  options  were  used, or /etc/ppp/options is
1614              missing and the user is not root.
1615
1616
1617       3      pppd is not setuid-root and the invoking user is not root.
1618
1619
1620       4      The kernel does not support PPP. For  example,  the  PPP  kernel
1621              driver is not included or cannot be loaded.
1622
1623
1624       5      pppd  terminated because it was sent a SIGINT, SIGTERM or SIGHUP
1625              signal.
1626
1627
1628       6      The serial port could not be locked.
1629
1630
1631       7      The serial port could not be opened.
1632
1633
1634       8      The connect script failed and returned a non-zero exit status.
1635
1636
1637       9      The command specified as the argument to the  pty  option  could
1638              not be run.
1639
1640
1641       10     The  PPP  negotiation  failed  because no network protocols were
1642              able to run.
1643
1644
1645       11     The peer system failed or refused to authenticate itself.
1646
1647
1648       12     The link was established successfully, but terminated because it
1649              was idle.
1650
1651
1652       13     The  link  was  established successfully, but terminated because
1653              the connect time limit was reached.
1654
1655
1656       14     Callback was negotiated  and  an  incoming  call  should  arrive
1657              shortly.
1658
1659
1660       15     The  link  was  terminated because the peer is not responding to
1661              echo requests.
1662
1663
1664       16     The link was terminated by the modem hanging up.
1665
1666
1667       17     The PPP negotiation failed because serial loopback was detected.
1668
1669
1670       18     The init script  failed  because  a  non-zero  exit  status  was
1671              returned.
1672
1673
1674       19     Authentication to the peer failed.
1675
1676

FILES

1678       /var/run/spppn.pid           Process-ID  for pppd process on PPP inter‐
1679                                    face unit n.
1680
1681
1682       /var/run/ppp-name.pid        Process-ID for pppd  process  for  logical
1683                                    link name (see the linkname option).
1684
1685
1686       /etc/ppp/pap-secrets         Usernames,  passwords and IP addresses for
1687                                    PAP authentication. This  file  should  be
1688                                    owned by root and not readable or writable
1689                                    by any other user, otherwise pppd will log
1690                                    a warning.
1691
1692
1693       /etc/ppp/chap-secrets        Names,  secrets  and  IP addresses for all
1694                                    forms   of   CHAP   authentication.    The
1695                                    /etc/ppp/pap-secrets  file should be owned
1696                                    by root should not readable or writable by
1697                                    any other user, otherwise, pppd will log a
1698                                    warning.
1699
1700
1701       /etc/ppp/options             System  default  options  for  pppd,  read
1702                                    before  user  default  options or command-
1703                                    line options.
1704
1705
1706       $HOME/.ppprc                 User   default   options,   read    before
1707                                    /etc/ppp/options.ttyname.
1708
1709
1710       /etc/ppp/options.ttyname     System default options for the serial port
1711                                    in use; read after $HOME/.ppprc. The  tty‐
1712                                    name  component of this filename is formed
1713                                    when the initial /dev/  is  stripped  from
1714                                    the  port  name  (if present), and slashes
1715                                    (if any) are converted to dots.
1716
1717
1718       /etc/ppp/peers               Directory with options files that may con‐
1719                                    tain  privileged options, even if pppd was
1720                                    invoked by a user  other  than  root.  The
1721                                    system  administrator  can  create options
1722                                    files in this  directory  to  permit  non-
1723                                    privileged   users  to  dial  out  without
1724                                    requiring the peer  to  authenticate,  but
1725                                    only to certain trusted peers.
1726
1727

ATTRIBUTES

1729       See attributes(5) for descriptions of the following attributes:
1730
1731
1732
1733
1734       ┌─────────────────────────────┬─────────────────────────────┐
1735       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
1736       ├─────────────────────────────┼─────────────────────────────┤
1737       │Availability                 │SUNWpppdu                    │
1738       ├─────────────────────────────┼─────────────────────────────┤
1739       │Interface Stability          │Evolving                     │
1740       └─────────────────────────────┴─────────────────────────────┘
1741

SEE ALSO

1743       chat(1M), ifconfig(1M), crypt(3C), pam(3PAM), attributes(5)
1744
1745
1746       Haskin, D., Allen, E. RFC 2472 - IP Version 6 Over PPP. Network Working
1747       Group. December 1998.
1748
1749
1750       Jacobson, V. RFC 1144, Compressing TCP/IP Headers for Low-Speed  Serial
1751       Links. Network Working Group. February, 1990
1752
1753
1754       Lloyd,  B., Simpson, W. RFC 1334, PPP Authentication Protocols. Network
1755       Working Group. October 1992.
1756
1757
1758       McGregor, G. RFC 1332,  The  PPP  Internet  Protocol  Control  Protocol
1759       (IPCP). Network Working Group. May 1992.
1760
1761
1762       Rivest,  R. RFC 1321, The MD5 Message-Digest Algorithm. Network Working
1763       Group. April 1992
1764
1765
1766       Simpson, W. RFC 1661, The Point-to-Point Protocol (PPP). Network  Work‐
1767       ing Group. July 1994.
1768
1769
1770       Simpson,  W.  RFC 1662, HDLC-like Framing . Network Working Group. July
1771       1994.
1772

NOTES

1774       These signals affect pppd behavior:
1775
1776       SIGINT, SIGTERM     Terminate the link, restore the serial device  set‐
1777                           tings and exit.
1778
1779
1780       SIGHUP              Terminate  the link, restore the serial device set‐
1781                           tings and close the serial device. If  the  persist
1782                           or  demand  option  is  specified, pppd attempts to
1783                           reopen the serial device and start another  connec‐
1784                           tion  after  the  holdoff  period.  Otherwise  pppd
1785                           exits.  If  received  during  the  holdoff  period,
1786                           SIGHUP  causes pppd to end the holdoff period imme‐
1787                           diately.
1788
1789
1790       SIGUSR1             Toggles the state of the debug  option  and  prints
1791                           link status information to the log.
1792
1793
1794       SIGUSR2             Causes  pppd  to  renegotiate  compression. This is
1795                           useful to re-enable compression after it  has  been
1796                           disabled  as  a  result  of  a  fatal decompression
1797                           error. (Fatal decompression errors generally  indi‐
1798                           cate a bug in an implementation.)
1799
1800

DIAGNOSTICS

1802       Messages  are  sent  to the syslog daemon using facility LOG_DAEMON. To
1803       see error and debug messages, edit the /etc/syslog.conf file to  direct
1804       the  messages to the desired output device or file, or use the updetach
1805       or logfile options.
1806
1807
1808       The debug option causes the contents of all LCP, PAP, CHAP or IPCP con‐
1809       trol packets sent or received to be logged. This is useful if PPP nego‐
1810       tiation does not succeed or if authentication fails.
1811
1812
1813       Debugging can also be enabled or disabled by sending a SIGUSR1  signal,
1814       which acts as a toggle to the pppd process.
1815
1816
1817
1818SunOS 5.11                        21 Nov 2001                         pppd(1M)
Impressum