1 PPPD(1M) Maintenance Commands PPPD(1M) 2 3 NAME 4 pppd - point to point protocol daemon 5 6 SYNOPSIS 7 pppd [tty_name] [speed] [options] 8 9 10 DESCRIPTION 11 The point-to-point protocol (PPP) provides a method for transmitting 12 datagrams over serial point-to-point links. PPP is composed of three 13 components: a facility for encapsulating datagrams over serial links, 14 an extensible link control protocol (LCP), and a family of network 15 control protocols (NCP) for establishing and configuring different 16 network-layer protocols. 17 18 19 The encapsulation scheme is provided by driver code in the kernel. pppd 20 provides the basic LCP authentication support and several NCPs for 21 establishing and configuring the Internet Protocol (referred to as the 22 IP Control Protocol or "IPCP") and IPv6 (IPV6CP). 23 24 OPTIONS 25 The following sections discuss the pppd options: 26 27 Options Files 28 Options are taken from files and the command line. pppd reads options 29 from the files /etc/ppp/options, $HOME/.ppprc and 30 /etc/ppp/options.ttyname (in that order) before processing the options 31 on the command line. (Command-line options are scanned for the terminal 32 name before the options.ttyname file is read.) To form the name of the 33 options.ttyname file, the initial /dev/ is removed from the terminal 34 name, and any remaining forward slash characters (/) are replaced with 35 dots. For example, with serial device /dev/cua/a, option file 36 /etc/ppp/options.cua.a is read. 37 38 39 An options file is parsed into a series of words that are delimited by 40 whitespace. Whitespace can be included in a word by enclosing the word 41 in double-quotes ("). A backslash (\) quotes the succeeding character. 42 A hash (#) starts a comment, which continues until the end of the line. 43 There is no restriction on using the file or call options within an 44 options file. 45 46 Frequently Used Options 47 <tty_name> 48 Communicate over the named device. The string 49 /dev/ is prepended if necessary. If no device 50 name is given, or if the name of the terminal 51 connected to the standard input is given, pppd 52 uses that terminal and does not fork to put 53 itself in the background. A value for this 54 option from a privileged source cannot be 55 overridden by a non-privileged user. 56 57 58 <speed> 59 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> 66 Set the async character map to <map>. The map 67 describes which control characters cannot be 68 successfully received over the serial line. 69 pppd asks the peer to send these characters as a 70 2-byte escape sequence. The argument is a 32 71 bit hex number, with each bit representing a 72 character to escape. Bit 0 (00000001) represents 73 the character 0x00; bit 31 (80000000) represents 74 the character 0x1f or ^_. If multiple asyncmap 75 options are given, the values are ORed together. 76 If no asyncmap option is given, pppd attempts to 77 negotiate a value of 0. If the peer agrees, this 78 disables escaping of the standard control 79 characters. Use the default-asyncmap option to 80 disable negotiation and escape all control 81 characters. 82 83 84 auth 85 Require the peer to authenticate itself before 86 allowing network packets to be sent or received. 87 This option is the default if the system has a 88 default route. If the auth or the noauth option 89 is not specified, pppd allows the peer to use 90 only those IP addresses to which the system does 91 not already have a route. 92 93 94 call name 95 Read options from the file /etc/ppp/peers/name. 96 This file may contain privileged options, 97 including noauth, even if pppd is not being run 98 by root. The name string may not begin with a 99 slash ("/") or include consecutive periods 100 ("..") as a pathname component. 101 102 103 callback number 104 Request a callback to the given telephone number 105 using Microsoft CBCP. 106 107 108 connect script 109 Use the executable or shell command specified by 110 script to set up the serial line. This script 111 would typically use the chat(1M) program to dial 112 the modem and start the remote PPP session. A 113 value for this option originating from a 114 privileged source cannot be overridden by a non- 115 privileged user. 116 117 118 crtscts 119 Use hardware flow control, that is, RTS/CTS, to 120 control the flow of data on the serial port. If 121 the crtscts, nocrtscts, cdtrcts or nocdtrcts 122 option is not provided, the hardware flow 123 control setting for the serial port is left 124 unchanged. Some serial ports lack a true RTS 125 output and use this mode to implement 126 unidirectional flow control. The serial port 127 suspends transmission when requested by the 128 modem by means of CTS but cannot request the 129 modem to stop sending to the computer. This mode 130 allows the use of DTR as a modem control line. 131 132 133 defaultroute 134 Add a default route to the system routing tables 135 when IPCP negotiation successfully completes, 136 using the peer as the gateway. This entry is 137 removed when the PPP connection is broken. This 138 option is privileged if the nodefaultroute 139 option is specified. 140 141 142 disconnect script 143 Run the executable or shell command specified by 144 script after pppd terminates the link. 145 Typically, this script is used to command the 146 modem to hang up if hardware modem control 147 signals are not available. disconnect is not run 148 if the modem has already hung up. A value for 149 this option originating from a privileged source 150 cannot be overridden by a non-privileged user. 151 152 153 escape xx,yy,... 154 Specifies that certain characters be escaped on 155 transmission regardless of whether the peer 156 requests them to be escaped with its async 157 control character map. The characters to be 158 escaped are specified as a list of hex numbers 159 separated by commas. Note that almost any 160 character can be specified for the escape 161 option, unlike the asyncmap option which allows 162 only control characters to be specified. 163 Characters that cannot be escaped are those 164 containing hex values 0x20 through 0x3f and 165 0x5e. 166 167 168 file name 169 Read options from file name. If this option is 170 used on the command line or in $HOME/.ppprc, the 171 file must be readable by the user invoking pppd. 172 See for a list of files that pppd always reads, 173 regardless of the use of this option. 174 175 176 init script 177 Run the executable or shell command specified by 178 script to initialize the serial line. This 179 script would typically use the chat(1M) program 180 to configure the modem to enable auto-answer. A 181 value for this option from a privileged source 182 cannot be overridden by a non-privileged user. 183 184 185 lock 186 Directs pppd to create a UUCP-style lock file 187 for the serial device to ensure exclusive access 188 to the device. 189 190 191 mru n 192 Set the Maximum Receive Unit (MRU) value to n. 193 pppd asks the peer to send packets of no more 194 than n bytes. Minimum MRU value is 128. Default 195 MRU value is 1500. A value of 296 is recommended 196 for slow links (40 bytes for TCP/IP header + 256 197 bytes of data). For IPv6, MRU must be at least 198 1280. 199 200 201 mtu n 202 Set the Maximum Transmit Unit (MTU) value to n. 203 Unless the peer requests a smaller value via MRU 204 negotiation, pppd requests the kernel networking 205 code to send data packets of no more than n 206 bytes through the PPP network interface. For 207 IPv6, MTU must be at least 1280. 208 209 210 passive 211 Enables the "passive" option in the LCP. With 212 this option, pppd attempts to initiate a 213 connection; if no reply is received from the 214 peer, pppd waits passively for a valid LCP 215 packet instead of exiting, as it would without 216 this option. 217 218 219 Options 220 <local_IP_address>:<remote_IP_address> 221 222 Set the local and/or remote interface IP addresses. Either one may 223 be omitted, but the colon is required. The IP addresses are 224 specified with a host name or in decimal dot notation, for example: 225 :10.1.2.3. The default local address is the first IP address of the 226 system unless the noipdefault option is provided. The remote 227 address is obtained from the peer if not specified in any option. 228 Thus, in simple cases, this option is not required. If a local 229 and/or remote IP address is specified with this option, pppd will 230 not accept a different value from the peer in the IPCP negotiation 231 unless the ipcp-accept-local and/or ipcp-accept-remote options are 232 given, respectively. 233 234 235 allow-fcs fcs-type 236 237 Set allowable FCS type(s) for data sent to the peer. The fcs-type 238 is a comma-separated list of "crc16", "crc32", "null", or integers. 239 By default, all known types are allowed. If this option is 240 specified and the peer requests a type not listed, a LCP Configure- 241 Nak is sent to request only the listed types. 242 243 244 allow-ip address(es) 245 246 Allow peers to use the given IP address or subnet without 247 authenticating themselves. The parameter is parsed in the same 248 manner as each element of the list of allowed IP addresses is 249 parsed in the secrets files. See the section more more details. 250 251 252 bsdcomp nr,nt 253 254 Request that the peer compress packets that it sends using the BSD- 255 Compress scheme, with a maximum code size of nr bits, and agree to 256 compress packets sent to the peer with a maximum code size of nt 257 bits. If nt is not specified, it defaults to the value given for 258 nr. Values in the range 9 to 15 may be used for nr and nt; larger 259 values provide better compression but consume more kernel memory 260 for compression dictionaries. Alternatively, a value of 0 for nr 261 or nt disables compression in the corresponding direction. Use 262 nobsdcomp or bsdcomp 0 to disable BSD-Compress compression 263 entirely. If this option is read from a privileged source, a 264 nonprivileged user may not specify a code size larger than the 265 value from the privileged source. 266 267 268 cdtrcts 269 270 Use a non-standard hardware flow control such as DTR/CTS to control 271 the flow of data on the serial port. If the crtscts, nocrtscts, 272 cdtrcts or nocdtrcts option is not specified, the hardware flow 273 control setting for the serial port is left unchanged. Some serial 274 ports lack a true RTS output. Such serial ports use this mode to 275 implement true bi-directional flow control. Note that this flow 276 control mode does not permit using DTR as a modem control line. 277 278 279 chap-interval n 280 281 If this option is given, pppd will rechallenge the peer every n 282 seconds. 283 284 285 chap-max-challenge n 286 287 Set the maximum number of CHAP challenge transmissions to n 288 (default 10). 289 290 291 chap-restart n 292 293 Set the CHAP restart interval (retransmission timeout for 294 challenges) to n seconds. The default is 3. 295 296 297 connect-delay n 298 299 Wait for up to n milliseconds after the connect script finishes for 300 a valid PPP packet from the peer. When the wait period elapses or 301 when a valid PPP packet is received from the peer, pppd begins 302 negotiation by sending its first LCP packet. The default value is 303 1000 (1 second). A wait period applies only if the connect or pty 304 option is used. 305 306 307 datarate n 308 309 Set maximum data rate to n (in bytes per second) when using the 310 pty, notty, record, or socket options. 311 312 313 debug 314 315 Enables connection debugging facilities. If this option is given, 316 pppd logs the contents of all control packets sent or received in a 317 readable form. The packets are logged through syslog with facility 318 daemon and level debug. This information can be directed to a file 319 by configuring /etc/syslog.conf appropriately. 320 321 322 default-asyncmap 323 324 Disable asyncmap negotiation, forcing all control characters to be 325 escaped for both the transmit and the receive direction. 326 327 328 default-fcs 329 330 Disable FCS Alternatives negotiation entirely. By default, no FCS 331 Alternatives option is sent to the peer, but the option is 332 accepted. If this option is specified by the peer, then LCP 333 Configure-Reject is sent. 334 335 336 default-mru 337 338 Disable MRU [Maximum Receive Unit] negotiation. With this option, 339 pppd uses the default MRU value of 1500 bytes for the transmit and 340 receive directions. 341 342 343 deflate nr,nt,e 344 345 Request that the peer compress packets that it sends, using the 346 deflate scheme, with a maximum window size of 2**nr bytes, and 347 agree to compress packets sent to the peer with a maximum window 348 size of 2**nt bytes and effort level of e (1 to 9). If nt is not 349 specified, it defaults to the value given for nr. If e is not 350 specified, it defaults to 6. Values in the range 9 to 15 may be 351 used for nr and nt; larger values provide better compression but 352 consume more kernel memory for compression dictionaries. (Value 8 353 is not permitted due to a zlib bug.) Alternatively, a value of 0 354 for nr or nt disables compression in the corresponding direction. 355 Use nodeflate or deflate 0 to disable deflate compression entirely. 356 (Note: pppd requests deflate compression in preference to BSD- 357 Compress if the peer can do either.) If this option is read from a 358 privileged source, a nonprivileged user may not specify a code size 359 larger than the value from the privileged source. 360 361 362 demand 363 364 Initiate the link only on demand, that is, when data traffic is 365 present. With this option, the remote IP address must be specified 366 by the user on the command line or in an options file. pppd 367 initially configures and enables the interface for IP traffic 368 without connecting to the peer. When traffic is available, pppd 369 connects to the peer and performs negotiation, authentication and 370 other actions. When completed, pppd passes data packets across the 371 link. The demand option implies the persist option. If this 372 behavior is not desired, use the nopersist option after the demand 373 option. The idle and holdoff options can be used in conjunction 374 with the demand option. 375 376 377 domain d 378 379 Append the domain name d to the local host name for authentication 380 purposes. For example, if gethostname() returns the name porsche, 381 but the fully qualified domain name is porsche.Example.COM, you 382 could specify domain Example.COM. With this configuration, pppd 383 uses the name porsche.Example.COM for accessing secrets in the 384 secrets file and as the default name when authenticating to the 385 peer. This option is privileged. 386 387 388 endpoint endpoint-value 389 390 Set the endpoint discriminator (normally used for RFC 1990 391 Multilink PPP operation). The endpoint-value consists of a class 392 identifier and a class-dependent value. The class identifier is one 393 of "null," "local," "IP," "MAC," "magic," "phone," or a decimal 394 integer. If present, the class-dependent value is separated from 395 the identifier by a colon (":") or period (".") . This value may be 396 a standard dotted-decimal IP address for class "IP," an optionally 397 colon-or-dot separated hex Ethernet address for class "MAC" (must 398 have 6 numbers), or an arbitrary string of bytes specified in hex 399 with optional colon or dot separators between bytes. Although this 400 option is available, this implementation does not support 401 multilink. 402 403 404 fcs fcs-type 405 406 Set FCS type(s) desired for data sent by the peer. The fcs-type is 407 a comma-separated list of crc16, crc32, null, or integers. By 408 default, an FCS Alternatives option is not specified, and the 409 medium-dependent FCS type is used. If this option is specified and 410 the peer sends an LCP Configure-Nak, only the listed types are 411 used. If none are in common, the FCS Alternatives option is omitted 412 from the next LCP Configure-Request to drop back to the default. 413 414 415 hide-password 416 417 When logging the contents of PAP packets, this option causes pppd 418 to exclude the password string from the log. This is the default. 419 420 421 holdoff n 422 423 Specifies how many seconds to wait before re-initiating the link 424 after it terminates. This option is effective only if the persist 425 or demand option is used. The holdoff period is not applied if the 426 link is terminated because it was idle. 427 428 429 ident string 430 431 Set the LCP Identification string. The default value is a version 432 string similar to that displayed by the --version option. 433 434 435 idle n 436 437 Specifies that pppd must disconnect if the link is idle for n 438 seconds. The link is idle when no data packets (i.e. IP packets) 439 are being sent or received. Do not use this option with the persist 440 option but without the demand option. 441 442 443 ipcp-accept-local 444 445 With this option, pppd accepts the peer's idea of the local IP 446 address, even if the local IP address is specified in an option. 447 448 449 ipcp-accept-remote 450 451 With this option, pppd accepts the peer's idea of its remote IP 452 address, even if the remote IP address is specified in an option. 453 454 455 ipcp-max-configure n 456 457 Set the maximum number of IPCP Configure-Request transmissions to n 458 (default 10). 459 460 461 ipcp-max-failure n 462 463 Set the maximum number of IPCP Configure-NAKs sent before sending 464 Configure-Rejects instead to n (default 10). 465 466 467 ipcp-max-terminate n 468 469 Set the maximum number of IPCP terminate-request transmissions to n 470 (default 3). 471 472 473 ipcp-restart n 474 475 Set the IPCP restart interval (retransmission timeout) to n seconds 476 (default 3). 477 478 479 ipparam string 480 481 Provides an extra parameter to the ip-up and ip-down scripts. When 482 this option is given, the string supplied is given as the sixth 483 parameter to those scripts. See the section. 484 485 486 ipv6 <local_interface_identifier>,<remote_interface_identifier> 487 488 Set the local and/or remote 64-bit interface identifier. Either one 489 may be omitted. The identifier must be specified in standard ASCII 490 notation of IPv6 addresses (for example: ::dead:beef). If the 491 ipv6cp-use-ipaddr option is given, the local and remote identifiers 492 are derived from the respective IPv4 addresses (see above). The 493 ipv6cp-use-persistent option can be used instead of the ipv6 494 <local>,<remote> option. 495 496 497 ipv6cp-accept-local 498 499 Accept peer's interface identifier for the local link identifier. 500 501 502 ipv6cp-max-configure n 503 504 Set the maximum number of IPv6CP Configure-Request transmissions to 505 n (default 10). 506 507 508 ipv6cp-max-failure n 509 510 Set the maximum number of IPv6CP Configure-NAKs sent before sending 511 Configure-Rejects instead to n (default 10). 512 513 514 ipv6cp-max-terminate n 515 516 Set the maximum number of IPv6CP terminate-request transmissions to 517 n (default 3). 518 519 520 ipv6cp-restart n 521 522 Set the IPv6CP restart interval (retransmission timeout) to n 523 seconds (default 3). 524 525 526 ipv6cp-use-ipaddr 527 528 If either the local or remote IPv6 address is unspecified, use the 529 corresponding configured IPv4 address as a default interface 530 identifier. (This option uses the configured addresses, not the 531 negotiated addresses. Do not use it with ipcp-accept-local if the 532 local IPv6 identifier is unspecified or with ipcp-accept-remote if 533 the remote IPv6 identifier is unspecified.) 534 535 536 ipv6cp-use-persistent 537 538 Use uniquely-available persistent value for link local address. 539 540 541 kdebug n 542 543 Enable debugging code in the kernel-level PPP driver. Argument n is 544 the sum of the following values: 1 to enable general debug 545 messages, 2 to request that contents of received packets be 546 printed, and 4 to request contents of transmitted packets be 547 printed. Messages printed by the kernel are logged by syslogd(1M) 548 to a file directed in the /etc/syslog.conf configuration file. Do 549 not use the kdebug option to debug failed links. Use the debug 550 option instead. 551 552 553 lcp-echo-failure n 554 555 If this option is given, pppd presumes the peer to be dead if n LCP 556 Echo-Requests are sent without receiving a valid LCP Echo-Reply. If 557 this happens, pppd terminates the connection. This option requires 558 a non-zero value for the lcp-echo-interval parameter. This option 559 enables pppd to terminate after the physical connection is broken 560 (for example, if the modem has hung up) in situations where no 561 hardware modem control lines are available. 562 563 564 lcp-echo-interval n 565 566 If this option is given, pppd sends an LCP Echo-Request frame to 567 the peer every n seconds. Normally the peer responds to the Echo- 568 Request by sending an Echo-Reply. This option can be used with the 569 lcp-echo-failure option to detect that the peer is no longer 570 connected. 571 572 573 lcp-max-configure n 574 575 Set the maximum number of LCP Configure-Request transmissions to n 576 (default 10). 577 578 579 lcp-max-failure n 580 581 Set the maximum number of LCP Configure-NAKs sent before starting 582 to send Configure-Rejects instead to n (default 10). 583 584 585 lcp-max-terminate n 586 587 Set the maximum number of LCP Terminate-Request transmissions to n 588 (default 3). 589 590 591 lcp-restart n 592 593 Set the LCP restart interval (retransmission timeout) to n seconds 594 (default 3). 595 596 597 linkname name 598 599 Sets the logical name of the link to name. pppd creates a file 600 named ppp-name.pid in /var/run containing its process ID. This is 601 useful in determining which instance of pppd is responsible for the 602 link to a given peer system. This is a privileged option. 603 604 605 local 606 607 Do not use modem control lines. With this option, pppd ignores the 608 state of the CD (Carrier Detect) signal from the modem and does not 609 change the state of the DTR (Data Terminal Ready) signal. 610 611 612 logfd n 613 614 Send log messages to file descriptor n. pppd sends log messages to 615 (at most) one file or file descriptor (as well as sending the log 616 messages to syslog), so this option and the logfile option are 617 mutually exclusive. By default pppd sends log messages to stdout 618 (file descriptor 1) unless the serial port is open on stdout. 619 620 621 logfile filename 622 623 Append log messages to the file filename (and send the log messages 624 to syslog). The file is opened in append mode with the privileges 625 of the user who invoked pppd. 626 627 628 login 629 630 Use the system password database for authenticating the peer using 631 PAP, and record the user in the system wtmp file. Note that the 632 peer must have an entry in the /etc/ppp/pap-secrets file and the 633 system password database to be allowed access. 634 635 636 maxconnect n 637 638 Terminate the connection after it has been available for network 639 traffic for n seconds (that is, n seconds after the first network 640 control protocol starts). An LCP Time-Remaining message is sent 641 when the first NCP starts, and again when 5, 2, and 0.5 minutes are 642 remaining. 643 644 645 maxfail n 646 647 Terminate after n consecutive failed connection attempts. A value 648 of 0 means no limit. The default value is 10. 649 650 651 modem 652 653 Use the modem control lines. This option is the default. With this 654 option, pppd waits for the CD (Carrier Detect) signal from the 655 modem to be asserted when opening the serial device (unless a 656 connect script is specified), and drops the DTR (Data Terminal 657 Ready) signal briefly when the connection is terminated and before 658 executing the connect script. 659 660 661 ms-dns <addr> 662 663 If pppd is acting as a server for Microsoft Windows clients, this 664 option allows pppd to supply one or two DNS (Domain Name Server) 665 addresses to the clients. The first instance of this option 666 specifies the primary DNS address; the second instance (if given) 667 specifies the secondary DNS address. If the first instance 668 specifies a name that resolves to multiple IP addresses, then the 669 first two addresses are used. (This option is present in some older 670 versions of pppd under the name dns-addr.) 671 672 673 ms-lanman 674 675 If pppd connects as a client to a Microsoft server and uses MS- 676 CHAPv1 for authentication, this option selects the LAN Manager 677 password style instead of Microsoft NT. 678 679 680 ms-wins <addr> 681 682 If pppd acts as a server for Microsoft Windows or Samba clients, 683 this option allows pppd to supply one or two WINS (Windows Internet 684 Name Services) server addresses to the clients. The first instance 685 of this option specifies the primary WINS address; the second 686 instance (if given) specifies the secondary WINS address. As with 687 ms-dns, if the name specified resolves to multiple IP addresses, 688 then the first two will be taken as primary and secondary. 689 690 691 name name 692 693 Set the name of the local system for authentication purposes to 694 name. This is a privileged option. With this option, pppd uses 695 lines in the secrets files that have name as the second field to 696 look for a secret to use in authenticating the peer. In addition, 697 unless overridden with the user option, name is used as the name to 698 send to the peer when authenticating the local system. (Note that 699 pppd does not append the domain name to name.) 700 701 702 no-accm-test 703 704 Disable use of asyncmap (ACCM) checking using LCP Echo-Request 705 messages. If the lcp-echo-failure is used on an asynchronous line, 706 pppd includes all control characters in the first n LCP Echo- 707 Request messages. If the asyncmap is set incorrectly, the link 708 drops rather than continue operation with random failures. This 709 option disables that feature. 710 711 712 noaccomp 713 714 Disable HDLC Address/Control compression in both directions (send 715 and receive). 716 717 718 noauth 719 720 Do not require the peer to authenticate itself. This option is 721 privileged. 722 723 724 nobsdcomp 725 726 Disables BSD-Compress compression; pppd will not request or agree 727 to compress packets using the BSD-Compress scheme. This option is 728 not necessary if noccp is specified. 729 730 731 noccp 732 733 Disable CCP (Compression Control Protocol) negotiation. This option 734 should only be required if the peer has bugs or becomes confused by 735 requests from pppd for CCP negotiation. If CCP is disabled, then 736 BSD and deflate compression do not need to be separately disabled. 737 738 739 nocrtscts 740 741 Disable hardware flow control (i.e. RTS/CTS) on the serial port. If 742 the crtscts, nocrtscts, cdtrcts or nocdtrcts options are not given, 743 the hardware flow control setting for the serial port is left 744 unchanged. 745 746 747 nocdtrcts 748 749 This option is a synonym for nocrtscts. Either option will disable 750 both forms of hardware flow control. 751 752 753 nodefaultroute 754 755 Disable the defaultroute option. You can prevent non-root users 756 from creating default routes with pppd by placing this option in 757 the /etc/ppp/options file. 758 759 760 nodeflate 761 762 Disables deflate compression; pppd will not request or agree to 763 compress packets using the deflate scheme. This option is not 764 necessary if noccp is specified. 765 766 767 nodeflatedraft 768 769 Do not use Internet Draft (incorrectly assigned) algorithm number 770 for deflate compression. This option is not necessary if noccp is 771 specified. 772 773 774 nodetach 775 776 Do not detach from the controlling terminal. Without this option, 777 pppd forks to become a background process if a serial device other 778 than the terminal on the standard input is specified. 779 780 781 noendpoint 782 783 Do not send or accept the Multilink Endpoint Discriminator option. 784 785 786 noident 787 788 Disable use of LCP Identification. LCP Identification messages will 789 not be sent to the peer, but received messages will be logged. 790 (Specify this option twice to completely disable LCP 791 Identification. In this case, pppd sends LCP Code-Reject in 792 response to received LCP Identification messages.) 793 794 795 noip 796 797 Disable IPCP negotiation and IP communication. Use this option only 798 if the peer has bugs or becomes confused by requests from pppd for 799 IPCP negotiation. 800 801 802 noipv6 803 804 Disable IPv6CP negotiation and IPv6 communication. IPv6 is not 805 enabled by default. 806 807 808 noipdefault 809 810 Disables the default behavior when no local IP address is 811 specified, which is to determine (if possible) the local IP address 812 from the hostname. With this option, the peer must supply the local 813 IP address during IPCP negotiation (unless it specified explicitly 814 on the command line or in an options file). 815 816 817 nolog 818 819 Do not send log messages to a file or file descriptor. This option 820 cancels the logfd and logfile options. nologfd acts as an alias for 821 this option. 822 823 824 nomagic 825 826 Disable magic number negotiation. With this option, pppd cannot 827 detect a looped-back line. Use this option only if the peer has 828 bugs. Do not use this option to work around the "Serial line is 829 looped back" error message. 830 831 832 nopam 833 834 This privileged option disables use of pluggable authentication 835 modules. If this option is specified, pppd reverts to standard 836 authentication mechanisms. The default is not to use PAM. 837 838 839 nopcomp 840 841 Disable protocol field compression negotiation in the receive and 842 the transmit direction. 843 844 845 nopersist 846 847 Exit once a connection has been made and terminated. This is the 848 default unless the persist or demand option is specified. 849 850 851 noplink 852 853 Cause pppd to use I_LINK instead of I_PLINK. This is the default. 854 When I_LINK is used, the system cleans up terminated interfaces 855 (even when SIGKILL is used) but does not allow ifconfig(1M) to 856 unplumb PPP streams or insert or remove modules dynamically. Use 857 the plink option if ifconfig(1M) modinsert, modremove or unplumb 858 support is needed. 859 860 861 nopredictor1 862 863 Do not accept or agree to Predictor-1 compression. (This option is 864 accepted for compatibility. The implementation does not support 865 Predictor-1 compression.) 866 867 868 noproxyarp 869 870 Disable the proxyarp option. If you want to prevent users from 871 creating proxy ARP entries with pppd, place this option in the 872 /etc/ppp/options file. 873 874 875 notty 876 877 Normally, pppd requires a terminal device. With this option, pppd 878 allocates itself a pseudo-terminal pair and uses the subsidiary as 879 its terminal device. pppd creates a child process to act as a 880 character shunt to transfer characters between the pseudo-terminal 881 manager and its standard input and output. Thus, pppd transmits 882 characters on its standard output and receives characters on its 883 standard input even if they are not terminal devices. This option 884 increases the latency and CPU overhead of transferring data over 885 the ppp interface as all of the characters sent and received must 886 flow through the character shunt process. An explicit device name 887 may not be given if this option is used. 888 889 890 novj 891 892 Disable Van Jacobson style TCP/IP header compression in both the 893 transmit and the receive direction. 894 895 896 novjccomp 897 898 Disable the connection-ID compression option in Van Jacobson style 899 TCP/IP header compression. With this option, pppd does not omit the 900 connection-ID byte from Van Jacobson compressed TCP/IP headers, nor 901 does it ask the peer to do so. This option is unnecessary if novj 902 is specified. 903 904 905 pam 906 907 This privileged option enables use of PAM. If this is specified, 908 pppd uses the pam(3PAM) framework for user authentication with a 909 service name of "ppp" if the login option and PAP authentication 910 are used. The default is not to use PAM. 911 912 913 papcrypt 914 915 Indicates that pppd should not accept a password which, before 916 encryption, is identical to the secret from the /etc/ppp/pap- 917 secrets file. Use this option if the secrets in the pap-secrets 918 file are in crypt(3C) format. 919 920 921 pap-max-authreq n 922 923 Set the maximum number of PAP authenticate-request transmissions to 924 n (default 10). 925 926 927 pap-restart n 928 929 Set the PAP restart interval (retransmission timeout) to n seconds 930 (default 3). 931 932 933 pap-timeout n 934 935 Set the maximum time that pppd waits for the peer to authenticate 936 itself with PAP to n seconds (0= no limit). The default is 30 937 seconds. 938 939 940 password string 941 942 Password string for authentication to the peer. 943 944 945 persist 946 947 Do not exit after a connection is terminated; instead try to reopen 948 the connection. 949 950 951 plink 952 953 Cause pppd to use I_PLINK instead of I_LINK. The default is to use 954 I_LINK, which cleans up terminated interface (even if SIGKILL is 955 used), but does not allow ifconfig(1M) to unplumb PPP streams or 956 insert or remove modules dynamically. Use this option if 957 ifconfig(1M) modinsert/modremove/unplumb support is needed. See 958 also the plumbed option. 959 960 961 plugin filename 962 963 Load the shared library object file filename as a plugin. This is a 964 privileged option. Unless the filename specifies an explicit path, 965 /etc/ppp/plugins and /usr/lib/inet/ppp will be searched for the 966 object to load in that order. 967 968 969 plumbed 970 971 This option indicates that pppd should find a plumbed interface and 972 use that for the session. If IPv4 addresses or IPv6 interface IDs 973 or link MTU are otherwise unspecified, they are copied from the 974 interface selected. This mode mimics some of the functionality of 975 the older aspppd implementation and may be helpful when pppd is 976 used with external applications that use ifconfig(1M). 977 978 979 pppmux timer 980 981 Enable PPP Multiplexing option negotiation and set transmit 982 multiplexing timeout to timer microseconds. 983 984 985 privgroup group-name 986 987 Allows members of group group-name to use privileged options. This 988 is a privileged option. Because there is no guarantee that members 989 of group-name cannot use pppd to become root themselves, you should 990 be careful using this option. Consider it equivalent to putting the 991 members of group-name in the root or sys group. 992 993 994 proxyarp 995 996 Add an entry to the system's Address Resolution Protocol (ARP) 997 table with the IP address of the peer and the Ethernet address of 998 this system. When you use this option, the peer appears to other 999 systems to be on the local Ethernet. The remote address on the PPP 1000 link must be in the same subnet as assigned to an Ethernet 1001 interface. 1002 1003 1004 pty script 1005 1006 Specifies that the command script, and not a specific terminal 1007 device is used for serial communication. pppd allocates itself a 1008 pseudo-terminal pair and uses the subsidiary as its terminal 1009 device. script runs in a child process with the pseudo-terminal 1010 manager as its standard input and output. An explicit device name 1011 may not be given if this option is used. (Note: if the record 1012 option is used in conjunction with the pty option, the child 1013 process will have pipes on its standard input and output.) 1014 1015 1016 receive-all 1017 1018 With this option, pppd accepts all control characters from the 1019 peer, including those marked in the receive asyncmap. Without this 1020 option, pppd discards those characters as specified in RFC 1662. 1021 This option should be used only if the peer has bugs, as is often 1022 found with dial-back implementations. 1023 1024 1025 record filename 1026 1027 Directs pppd to record all characters sent and received to a file 1028 named filename. filename is opened in append mode, using the user's 1029 user-ID and permissions. Because this option uses a pseudo-terminal 1030 and a process to transfer characters between the pseudo-terminal 1031 and the real serial device, it increases the latency and CPU 1032 overhead of transferring data over the PPP interface. Characters 1033 are stored in a tagged format with timestamps that can be displayed 1034 in readable form using the pppdump(1M) program. This option is 1035 generally used when debugging the kernel portion of pppd 1036 (especially CCP compression algorithms) and not for debugging link 1037 configuration problems. See the debug option. 1038 1039 1040 remotename name 1041 1042 Set the assumed name of the remote system for authentication 1043 purposes to name. Microsoft WindowsNT does not provide a system 1044 name in its CHAP Challenge messages, and this option is often used 1045 to work around this problem. 1046 1047 1048 refuse-chap 1049 1050 With this option, pppd will not agree to authenticate itself to the 1051 peer using standard Challenge Handshake Authentication Protocol 1052 (CHAP). (MS-CHAP is not affected.) 1053 1054 1055 refuse-mschap 1056 1057 Do not agree to authenticate to peer with MS-CHAPv1. If this option 1058 is specified, requests for MS-CHAPv1 authentication from the peer 1059 are declined with LCP Configure-Nak. That option does not disable 1060 any other form of CHAP. 1061 1062 1063 refuse-mschapv2 1064 1065 Do not agree to authenticate to peer with MS-CHAPv2. If specified, 1066 this option requests that MS-CHAPv2 authentication from the peer be 1067 declined with LCP Configure-Nak. That option does not disable any 1068 other form of CHAP. 1069 1070 1071 refuse-pap 1072 1073 With this option, pppd will not agree to authenticate itself to the 1074 peer using Password Authentication Protocol (PAP). 1075 1076 1077 require-chap 1078 1079 Require the peer to authenticate itself using standard CHAP 1080 authentication. MS-CHAP is not affected. 1081 1082 1083 require-mschap 1084 1085 Require the peer to authenticate itself using MS-CHAPv1 1086 authentication. 1087 1088 1089 require-mschapv2 1090 1091 Require the peer to authenticate itself using MS-CHAPv2 1092 authentication. 1093 1094 1095 require-pap 1096 1097 Require the peer to authenticate itself using PAP authentication. 1098 1099 1100 show-password 1101 1102 When logging contents of PAP packets, this option causes pppd to 1103 show the password string in the log message. 1104 1105 1106 silent 1107 1108 With this option, pppd will not transmit LCP packets to initiate a 1109 connection until a valid LCP packet is received from the peer. This 1110 is like the "passive" option with older versions of pppd and is 1111 retained for compatibility, but the current passive option is 1112 preferred. 1113 1114 1115 small-accm-test 1116 1117 When checking the asyncmap (ACCM) setting, pppd uses all 256 1118 possible values by default. See no-accm-test. This option restricts 1119 the test so that only the 32 values affected by standard ACCM 1120 negotiation are tested. This option is useful on very slow links. 1121 1122 1123 socket host:port 1124 1125 Connect to given host and port using TCP and run PPP over this 1126 connection. 1127 1128 1129 sync 1130 1131 Use synchronous HDLC serial encoding instead of asynchronous. The 1132 device used by pppd with this option must have sync support. 1133 Currently supports zs, se, and hsi drivers. 1134 1135 1136 unit n 1137 1138 Set PPP interface unit number to n, if possible. 1139 1140 1141 updetach 1142 1143 With this option, pppd detaches from its controlling terminal after 1144 establishing the PPP connection. When this is specified, messages 1145 sent to stderr by the connect script, usually chat(1M), and 1146 debugging messages from the debug option are directed to pppd's 1147 standard output. 1148 1149 1150 usehostname 1151 1152 Enforce the use of the hostname with domain name appended, if 1153 given, as the name of the local system for authentication purposes. 1154 This overrides the name option. Because the name option is 1155 privileged, this option is normally not needed. 1156 1157 1158 usepeerdns 1159 1160 Ask the peer for up to two DNS server addresses. Addresses supplied 1161 by the peer, if any, are passed to the /etc/ppp/ip-up script in the 1162 environment variables DNS1 and DNS2. In addition, pppd creates an 1163 /etc/ppp/resolv.conf file containing one or two nameserver lines 1164 with the address(es) supplied by the peer. 1165 1166 1167 user name 1168 1169 Sets the name used for authenticating the local system to the peer 1170 to name. 1171 1172 1173 vj-max-slots n 1174 1175 Sets the number of connection slots to be used by the Van Jacobson 1176 TCP/IP header compression and decompression code to n, which must 1177 be between 2 and 16 (inclusive). 1178 1179 1180 welcome script 1181 1182 Run the executable or shell command specified by script before 1183 initiating PPP negotiation, after the connect script, if any, has 1184 completed. A value for this option from a privileged source cannot 1185 be overridden by a non-privileged user. 1186 1187 1188 xonxoff 1189 1190 Use software flow control, that is, XON/XOFF, to control the flow 1191 of data on the serial port. 1192 1193 1194 Obsolete Options 1195 The following options are obsolete: 1196 1197 +ua name 1198 Read a PAP user name and password from the file name. 1199 This file must have two lines for name and password. Name 1200 and password are sent to the peer when the peer requests 1201 PAP authentication. 1202 1203 1204 +ipv6 1205 Enable IPv6 and IPv6CP without specifying interface 1206 identifiers. 1207 1208 1209 --version 1210 Show version number and exit. 1211 1212 1213 --help 1214 Show brief help message and exit. 1215 1216 1217 EXTENDED DESCRIPTION 1218 The following sections discuss miscellaneous features of pppd: 1219 1220 Security 1221 pppd allows system administrators to provide legitimate users with PPP 1222 access to a server machine without fear of compromising the security of 1223 the server or the network it runs on. Access control is provided by 1224 restricting IP addresses the peer may use based on its authenticated 1225 identity (if any), and through restrictions on options a non-privileged 1226 user may use. Options that permit potentially insecure configurations 1227 are privileged. Privileged options are accepted only in files that are 1228 under the control of the system administrator or when pppd is being run 1229 by root. 1230 1231 1232 By default, pppd allows an unauthenticated peer to use a given IP 1233 address only if the system does not already have a route to that IP 1234 address. For example, a system with a permanent connection to the wider 1235 Internet will normally have a default route, meaning all peers must 1236 authenticate themselves to set up a connection. On such a system, the 1237 auth option is the default. Conversely, a system with a PPP link that 1238 comprises the only connection to the Internet probably does not possess 1239 a default route, so the peer can use virtually any IP address without 1240 authenticating itself. 1241 1242 1243 Security-sensitive options are privileged and cannot be accessed by a 1244 non-privileged user running pppd, either on the command line, in the 1245 user's $HOME/.ppprc file, or in an options file read using the file 1246 option. Privileged options may be used in /etc/ppp/options file or in 1247 an options file read using the call option. If pppd is run by the root 1248 user, privileged options can be used without restriction. If the 1249 /etc/ppp/options file does not exist, then only root may invoke pppd. 1250 The /etc/ppp/options file must be created (but may be empty) to allow 1251 ordinary non-root users to access pppd. 1252 1253 1254 When opening the device, pppd uses the invoking user's user ID or the 1255 root UID (that is, 0), depending if the device name was specified by 1256 the user or the system administrator. If the device name comes from a 1257 privileged source, that is, /etc/ppp/options or an options file read 1258 using the call option, pppd uses full root privileges when opening the 1259 device. Thus, by creating an appropriate file under /etc/ppp/peers, the 1260 system administrator can allow users to establish a PPP connection via 1261 a device that they would not normally have access to. Otherwise pppd 1262 uses the invoking user's real UID when opening the device. 1263 1264 Authentication 1265 During the authentication process, one peer convinces the other of its 1266 identity by sending its name and some secret information to the other. 1267 During authentication, the first peer becomes the "client" and the 1268 second becomes the "server." Authentication names can (but are not 1269 required to) correspond to the peer's Internet hostnames. 1270 1271 1272 pppd supports four authentication protocols: the Password 1273 Authentication Protocol (PAP) and three forms of the Challenge 1274 Handshake Authentication Protocol (CHAP). With the PAP protocol, the 1275 client sends its name and a cleartext password to the server to 1276 authenticate itself. With CHAP, the server initiates the authentication 1277 exchange by sending a challenge to the client who must respond with its 1278 name and a hash value derived from the shared secret and the challenge. 1279 1280 1281 The PPP protocol is symmetrical, meaning that each peer may be required 1282 to authenticate itself to the other. Different authentication protocols 1283 and names can be used for each exchange. 1284 1285 1286 By default, pppd authenticates if requested and does not require 1287 authentication from the peer. However, pppd does not authenticate 1288 itself with a specific protocol if it has no secrets that can do so. 1289 1290 1291 pppd stores authentication secrets in the /etc/ppp/pap-secrets (for 1292 PAP), and /etc/ppp/chap-secrets (for CHAP) files. Both files use the 1293 same format. pppd uses secrets files to authenticate itself to other 1294 systems and to authenticate other systems to itself. 1295 1296 1297 Secrets files contain one secret per line. Secrets are specific to a 1298 particular combination of client and server and can only be used by 1299 that client to authenticate itself to that server. Each line in a 1300 secrets file has a minimum of three fields that contain the client and 1301 server names followed by the secret. Often, these three fields are 1302 followed by IP addresses that are used by clients to connect to a 1303 server. 1304 1305 1306 A secrets file is parsed into words, with client name, server name and 1307 secrets fields allocated one word each. Embedded spaces or other 1308 special characters within a word must be quoted or escaped. Case is 1309 significant in all three fields. 1310 1311 1312 A secret beginning with an at sign ("@") is followed by the name of a 1313 file containing the secret. An asterisk (*) as the client or server 1314 name matches any name. When choosing a match, pppd selects the one with 1315 the fewest wildcards. Succeeding words on a line are interpreted by 1316 pppd as acceptable IP addresses for that client. IP Addresses are 1317 disallowed if they appear in lines that contain only three words or 1318 lines whose first word begins with a hyphen ("-"). To allow any 1319 address, use "*". An address starting with an exclamation point ("!") 1320 indicates that the specified address is not acceptable. An address may 1321 be followed by "/" and a number n to indicate a whole subnet (all 1322 addresses that have the same value in the most significant n bits). In 1323 this form, the address may be followed by a plus sign ("+") to indicate 1324 that one address from the subnet is authorized, based on the ppp 1325 network interface unit number in use. In this case, the host part of 1326 the address is set to the unit number, plus one. 1327 1328 1329 When authenticating the peer, pppd chooses a secret with the peer's 1330 name in the first field of the secrets file and the name of the local 1331 system in the second field. The local system name defaults to the 1332 hostname, with the domain name appended if the domain option is used. 1333 The default can be overridden with the name option unless the 1334 usehostname option is used. 1335 1336 1337 When authenticating to the peer, pppd first determines the name it will 1338 use to identify itself to the peer. This name is specified with the 1339 user option. If the user option is not used, the name defaults to the 1340 host name of the local system. pppd then selects a secret from the 1341 secrets file by searching for an entry with a local name in the first 1342 field and the peer's name in the second field. pppd will know the name 1343 of the peer if standard CHAP authentication is used because the peer 1344 will have sent it in the Challenge packet. However, if MS-CHAP or PAP 1345 is being used, pppd must determine the peer's name from the options 1346 specified by the user. The user can specify the peer's name directly 1347 with the remotename option. Otherwise, if the remote IP address was 1348 specified by a name, rather than in numeric form, that name will be 1349 used as the peer's name. If that fails, pppd uses the null string as 1350 the peer's name. 1351 1352 1353 When authenticating the peer with PAP, the supplied password is 1354 compared with data in the secrets file. If the password and secret do 1355 not match, the password is encrypted using crypt() and checked against 1356 the secret again. If the papcrypt option is given, the first 1357 unencrypted comparison is omitted for better security, and entries must 1358 thus be in encrypted crypt(3C) form. 1359 1360 1361 If the login option is specified, the username and password are also 1362 checked against the system password database. This allows you to set up 1363 the pap-secrets file to enable PPP access only to certain users, and to 1364 restrict the set of IP addresses available to users. Typically, when 1365 using the login option, the secret in /etc/ppp/pap-secrets would be "", 1366 which matches any password supplied by the peer. This makes having the 1367 same secret in two places unnecessary. When login is used, the pam 1368 option enables access control through pam(3PAM). 1369 1370 1371 Authentication must be completed before IPCP (or other network 1372 protocol) can be started. If the peer is required to authenticate 1373 itself and fails, pppd closes LCP and terminates the link. If IPCP 1374 negotiates an unacceptable IP address for the remote host, IPCP is 1375 closed. IP packets are sent or received only when IPCP is open. 1376 1377 1378 To allow hosts that cannot authenticate themselves to connect and use 1379 one of a restricted set of IP addresses, add a line to the pap-secrets 1380 file specifying the empty string for the client name and secret. 1381 1382 1383 Additional pppd options for a given peer may be specified by placing 1384 them at the end of the secrets entry, separated by two dashes (--). For 1385 example 1386 1387 peername servername secret ip-address -- novj 1388 1389 1390 Routing 1391 When IPCP negotiation is complete, pppd informs the kernel of the local 1392 and remote IP addresses for the PPP interface and creates a host route 1393 to the remote end of the link that enables peers to exchange IP 1394 packets. Communication with other machines generally requires further 1395 modification to routing tables and/or Address Resolution Protocol (ARP) 1396 tables. In most cases the defaultroute and/or proxyarp options are 1397 sufficient for this, but further intervention may be necessary. If 1398 further intervention is required, use the /etc/ppp/ip-up script or a 1399 routing protocol daemon. 1400 1401 1402 To add a default route through the remote host, use the defaultroute 1403 option. This option is typically used for "client" systems; that is, 1404 end-nodes that use the PPP link for access to the general Internet. 1405 1406 1407 In some cases it is desirable to use proxy ARP, for example on a server 1408 machine connected to a LAN, to allow other hosts to communicate with 1409 the remote host. proxyarp instructs pppd to look for a network 1410 interface on the same subnet as the remote host. That is, an interface 1411 supporting broadcast and ARP that is not a point-to-point or loopback 1412 interface and that is currently up. If found, pppd creates a permanent, 1413 published ARP entry with the IP address of the remote host and the 1414 hardware address of the network interface. 1415 1416 1417 When the demand option is used, the interface IP addresses are already 1418 set at the time when IPCP comes up. If pppd cannot negotiate the same 1419 addresses it used to configure the interface, it changes the interface 1420 IP addresses to the negotiated addresses. This may disrupt existing 1421 connections. Using demand dialing with peers that perform dynamic IP 1422 address assignment is not recommended. 1423 1424 Scripts 1425 pppd invokes scripts at various stages during processing that are used 1426 to perform site-specific ancillary processing. These scripts may be 1427 shell scripts or executable programs. pppd does not wait for the 1428 scripts to finish. The scripts are executed as root (with the real and 1429 effective user-id set to 0), enabling them to update routing tables, 1430 run privileged daemons, or perform other tasks. Be sure that the 1431 contents of these scripts do not compromise your system's security. 1432 pppd runs the scripts with standard input, output and error redirected 1433 to /dev/null, and with an environment that is empty except for some 1434 environment variables that give information about the link. The pppd 1435 environment variables are: 1436 1437 DEVICE 1438 Name of the serial tty device. 1439 1440 1441 IFNAME 1442 Name of the network interface. 1443 1444 1445 IPLOCAL 1446 IP address for the link's local end. This is set only 1447 when IPCP has started. 1448 1449 1450 IPREMOTE 1451 IP address for the link's remote end. This is set only 1452 when IPCP has started. 1453 1454 1455 PEERNAME 1456 Authenticated name of the peer. This is set only if the 1457 peer authenticates itself. 1458 1459 1460 SPEED 1461 Baud rate of the tty device. 1462 1463 1464 ORIG_UID 1465 Real user-id of user who invoked pppd. 1466 1467 1468 PPPLOGNAME 1469 Username of the real user-id who invoked pppd. This is 1470 always set. 1471 1472 1473 1474 pppd also sets the following variables for the ip-down and auth-down 1475 scripts: 1476 1477 CONNECT_TIME 1478 Number of seconds between the start of PPP negotiation 1479 and connection termination. 1480 1481 1482 BYTES_SENT 1483 Number of bytes sent at the level of the serial port 1484 during the connection. 1485 1486 1487 BYTES_RCVD 1488 Number of bytes received at the level of the serial 1489 port during the connection. 1490 1491 1492 LINKNAME 1493 Logical name of the link, set with the linkname 1494 option. 1495 1496 1497 1498 If they exist, pppd invokes the following scripts. It is not an error 1499 if they do not exist. 1500 1501 /etc/ppp/auth-up 1502 Program or script executed after the remote 1503 system successfully authenticates itself. It is 1504 executed with five command-line arguments: 1505 interface-name peer-name user-name tty-device 1506 speed. Note that this script is not executed if 1507 the peer does not authenticate itself, for 1508 example, when the noauth option is used. 1509 1510 1511 /etc/ppp/auth-down 1512 Program or script executed when the link goes 1513 down if /etc/ppp/auth-up was previously 1514 executed. It is executed in the same manner with 1515 the same parameters as /etc/ppp/auth-up. 1516 1517 1518 /etc/ppp/ip-up 1519 A program or script that is executed when the link 1520 is available for sending and receiving IP packets 1521 (that is, IPCP has come up). It is executed with 1522 six command-line arguments: interface-name tty- 1523 device speed local-IP-address remote-IP-address 1524 ipparam. 1525 1526 1527 /etc/ppp/ip-down 1528 A program or script which is executed when the 1529 link is no longer available for sending and 1530 receiving IP packets. This script can be used for 1531 undoing the effects of the /etc/ppp/ip-up script. 1532 It is invoked in the same manner and with the same 1533 parameters as the ip-up script. 1534 1535 1536 /etc/ppp/ipv6-up 1537 Similar to /etc/ppp/ip-up, except that it is 1538 executed when the link is available for sending 1539 and receiving IPv6 packets. Executed with six 1540 command-line arguments: interface-name tty-device 1541 speed local-link-local-address remote-link-local- 1542 address ipparam. 1543 1544 1545 /etc/ppp/ipv6-down 1546 Similar to /etc/ppp/ip-down, but executed when 1547 IPv6 packets can no longer be transmitted on the 1548 link. Executed with the same parameters as the 1549 ipv6-up script. 1550 1551 1552 EXAMPLES 1553 Example 1 Using the auth Option 1554 1555 1556 The following examples assume that the /etc/ppp/options file contains 1557 the auth option. 1558 1559 1560 1561 pppd is commonly used to dial out to an ISP. You can do this using the 1562 "pppd call isp" command where the /etc/ppp/peers/isp file is set up to 1563 contain a line similar to the following: 1564 1565 1566 cua/a 19200 crtscts connect '/usr/bin/chat -f /etc/ppp/chat-isp' noauth 1567 1568 1569 1570 For this example, chat(1M) is used to dial the ISP's modem and process 1571 any login sequence required. The /etc/ppp/chat-isp file is used by chat 1572 and could contain the following: 1573 1574 1575 ABORT "NO CARRIER" 1576 ABORT "NO DIALTONE" 1577 ABORT "ERROR" 1578 ABORT "NO ANSWER" 1579 ABORT "BUSY" 1580 ABORT "Username/Password Incorrect" 1581 "" "at" 1582 OK "at&f&d2&c1" 1583 OK "atdt2468135" 1584 "name:" "^Umyuserid" 1585 "word:" "\qmypassword" 1586 "ispts" "\q^Uppp" 1587 "~-^Uppp-~" 1588 1589 1590 1591 See the chat(1M) man page for details of chat scripts. 1592 1593 1594 Example 2 Using pppd with proxyarp 1595 1596 1597 pppd can also provide a dial-in ppp service for users. If the users 1598 already have login accounts, the simplest way to set up the ppp service 1599 is to let the users log in to their accounts and run pppd as shown in 1600 the following example: 1601 1602 1603 example% pppd proxyarp 1604 1605 1606 1607 Example 3 Providing a User with Access to PPP Facilities 1608 1609 1610 To provide a user with access to the PPP facilities, allocate an IP 1611 address for the user's machine, create an entry in /etc/ppp/pap-secrets 1612 or /etc/ppp/chap-secrets. This enables the user's machine to 1613 authenticate itself. For example, to enable user "Joe" using machine 1614 "joespc" to dial in to machine "server" and use the IP address 1615 "joespc.example.net," add the following entry to the /etc/ppp/pap- 1616 secrets or /etc/ppp/chap-secrets files: 1617 1618 1619 joespc server "joe's secret" joespc.example.net 1620 1621 1622 1623 1624 Alternatively, you can create another username, for example "ppp," 1625 whose login shell is /usr/bin/pppd and whose home directory is 1626 /etc/ppp. If you run pppd this way, add the options to the 1627 /etc/ppp/.ppprc file. 1628 1629 1630 1631 If your serial connection is complex, it may be useful to escape such 1632 control characters as XON (^Q) and XOFF (^S), using asyncmap a0000. If 1633 the path includes a telnet, escape ^] (asyncmap 200a0000). If the path 1634 includes a rlogin command, add escape ff option to the options, because 1635 rlogin removes the window-size-change sequence [0xff, 0xff, 0x73, 0x73, 1636 followed by any 8 bytes] from the stream. 1637 1638 1639 EXIT STATUS 1640 The pppd exit status indicates errors or specifies why a link was 1641 terminated. Exit status values are: 1642 1643 0 1644 pppd has detached or the connection was successfully established 1645 and terminated at the peer's request. 1646 1647 1648 1 1649 An immediately fatal error occurred. For example, an essential 1650 system call failed. 1651 1652 1653 2 1654 An error was detected in the options given. For example, two 1655 mutually exclusive options were used, or /etc/ppp/options is 1656 missing and the user is not root. 1657 1658 1659 3 1660 pppd is not setuid-root and the invoking user is not root. 1661 1662 1663 4 1664 The kernel does not support PPP. For example, the PPP kernel 1665 driver is not included or cannot be loaded. 1666 1667 1668 5 1669 pppd terminated because it was sent a SIGINT, SIGTERM or SIGHUP 1670 signal. 1671 1672 1673 6 1674 The serial port could not be locked. 1675 1676 1677 7 1678 The serial port could not be opened. 1679 1680 1681 8 1682 The connect script failed and returned a non-zero exit status. 1683 1684 1685 9 1686 The command specified as the argument to the pty option could 1687 not be run. 1688 1689 1690 10 1691 The PPP negotiation failed because no network protocols were 1692 able to run. 1693 1694 1695 11 1696 The peer system failed or refused to authenticate itself. 1697 1698 1699 12 1700 The link was established successfully, but terminated because it 1701 was idle. 1702 1703 1704 13 1705 The link was established successfully, but terminated because 1706 the connect time limit was reached. 1707 1708 1709 14 1710 Callback was negotiated and an incoming call should arrive 1711 shortly. 1712 1713 1714 15 1715 The link was terminated because the peer is not responding to 1716 echo requests. 1717 1718 1719 16 1720 The link was terminated by the modem hanging up. 1721 1722 1723 17 1724 The PPP negotiation failed because serial loopback was detected. 1725 1726 1727 18 1728 The init script failed because a non-zero exit status was 1729 returned. 1730 1731 1732 19 1733 Authentication to the peer failed. 1734 1735 1736 FILES 1737 /var/run/spppn.pid 1738 Process-ID for pppd process on PPP 1739 interface unit n. 1740 1741 1742 /var/run/ppp-name.pid 1743 Process-ID for pppd process for logical 1744 link name (see the linkname option). 1745 1746 1747 /etc/ppp/pap-secrets 1748 Usernames, passwords and IP addresses for 1749 PAP authentication. This file should be 1750 owned by root and not readable or writable 1751 by any other user, otherwise pppd will log 1752 a warning. 1753 1754 1755 /etc/ppp/chap-secrets 1756 Names, secrets and IP addresses for all 1757 forms of CHAP authentication. The 1758 /etc/ppp/pap-secrets file should be owned 1759 by root should not readable or writable by 1760 any other user, otherwise, pppd will log a 1761 warning. 1762 1763 1764 /etc/ppp/options 1765 System default options for pppd, read 1766 before user default options or command- 1767 line options. 1768 1769 1770 $HOME/.ppprc 1771 User default options, read before 1772 /etc/ppp/options.ttyname. 1773 1774 1775 /etc/ppp/options.ttyname 1776 System default options for the serial port 1777 in use; read after $HOME/.ppprc. The 1778 ttyname component of this filename is 1779 formed when the initial /dev/ is stripped 1780 from the port name (if present), and 1781 slashes (if any) are converted to dots. 1782 1783 1784 /etc/ppp/peers 1785 Directory with options files that may 1786 contain privileged options, even if pppd 1787 was invoked by a user other than root. The 1788 system administrator can create options 1789 files in this directory to permit non- 1790 privileged users to dial out without 1791 requiring the peer to authenticate, but 1792 only to certain trusted peers. 1793 1794 1795 ATTRIBUTES 1796 See attributes(5) for descriptions of the following attributes: 1797 1798 1799 1800 1801 +--------------------+-----------------+ 1802 | ATTRIBUTE TYPE | ATTRIBUTE VALUE | 1803 +--------------------+-----------------+ 1804 |Interface Stability | Evolving | 1805 +--------------------+-----------------+ 1806 1807 SEE ALSO 1808 chat(1M), ifconfig(1M), crypt(3C), pam(3PAM), attributes(5) 1809 1810 1811 Haskin, D., Allen, E. RFC 2472 - IP Version 6 Over PPP. Network Working 1812 Group. December 1998. 1813 1814 1815 Jacobson, V. RFC 1144, Compressing TCP/IP Headers for Low-Speed Serial 1816 Links. Network Working Group. February, 1990 1817 1818 1819 Lloyd, B., Simpson, W. RFC 1334, PPP Authentication Protocols. Network 1820 Working Group. October 1992. 1821 1822 1823 McGregor, G. RFC 1332, The PPP Internet Protocol Control Protocol 1824 (IPCP). Network Working Group. May 1992. 1825 1826 1827 Rivest, R. RFC 1321, The MD5 Message-Digest Algorithm. Network Working 1828 Group. April 1992 1829 1830 1831 Simpson, W. RFC 1661, The Point-to-Point Protocol (PPP). Network 1832 Working Group. July 1994. 1833 1834 1835 Simpson, W. RFC 1662, HDLC-like Framing . Network Working Group. July 1836 1994. 1837 1838 NOTES 1839 These signals affect pppd behavior: 1840 1841 SIGINT, SIGTERM 1842 Terminate the link, restore the serial device 1843 settings and exit. 1844 1845 1846 SIGHUP 1847 Terminate the link, restore the serial device 1848 settings and close the serial device. If the 1849 persist or demand option is specified, pppd 1850 attempts to reopen the serial device and start 1851 another connection after the holdoff period. 1852 Otherwise pppd exits. If received during the 1853 holdoff period, SIGHUP causes pppd to end the 1854 holdoff period immediately. 1855 1856 1857 SIGUSR1 1858 Toggles the state of the debug option and prints 1859 link status information to the log. 1860 1861 1862 SIGUSR2 1863 Causes pppd to renegotiate compression. This is 1864 useful to re-enable compression after it has been 1865 disabled as a result of a fatal decompression 1866 error. (Fatal decompression errors generally 1867 indicate a bug in an implementation.) 1868 1869 1870 DIAGNOSTICS 1871 Messages are sent to the syslog daemon using facility LOG_DAEMON. To 1872 see error and debug messages, edit the /etc/syslog.conf file to direct 1873 the messages to the desired output device or file, or use the updetach 1874 or logfile options. 1875 1876 1877 The debug option causes the contents of all LCP, PAP, CHAP or IPCP 1878 control packets sent or received to be logged. This is useful if PPP 1879 negotiation does not succeed or if authentication fails. 1880 1881 1882 Debugging can also be enabled or disabled by sending a SIGUSR1 signal, 1883 which acts as a toggle to the pppd process. 1884 1885 February 5, 2022 PPPD(1M)