home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 2 / AUCD2.iso / sharewre / ppp200.spk / pppd_man < prev    next >
Text File  |  1995-11-29  |  35KB  |  846 lines

  1.  
  2.  
  3. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  4.  
  5.  
  6. NAME
  7.      pppd - Point to Point Protocol daemon
  8.  
  9. SYNOPSIS
  10.      pppd [ tty_name ] [ speed ] [ options ]
  11.  
  12. DESCRIPTION
  13.  
  14.      The Point-to-Point Protocol (PPP)  provides  a  method  for  transmitting
  15.      datagrams  over  serial  point-to-point  links.  PPP is composed of three
  16.      parts: a  method  for  encapsulating  datagrams  over  serial  links,  an
  17.      extensible  Link  Control Protocol (LCP), and a family of Network Control
  18.      Protocols (NCP) for establishing and configuring different  network-layer
  19.      protocols.
  20.  
  21.      The encapsulation scheme is provided by driver code in the kernel.   pppd
  22.      provides   the   basic  LCP,  authentication  support,  and  an  NCP  for
  23.      establishing and configuring the Internet Protocol (IP)  (called  the  IP
  24.      Control Protocol, IPCP).
  25.  
  26. FREQUENTLY USED OPTIONS
  27.  
  28.      <tty_name>
  29.           Communicate over the named device.  The string "/dev/" is  prepended
  30.           if  necessary.   If  no  device name is given, or if the name of the
  31.           controlling  terminal  is  given,  pppd  will  use  the  controlling
  32.           terminal, and will not fork to put itself in the background.
  33.  
  34.      <speed>
  35.           Set the baud rate to <speed> (a decimal number).  On systems such as
  36.           4.4BSD  and NetBSD, any speed can be specified.  Other systems (e.g.
  37.           SunOS) allow only a limited set of speeds.
  38.  
  39.      asyncmap <map>
  40.           Set the async character map to  <map>.   This  map  describes  which
  41.           control  characters  cannot be successfully received over the serial
  42.           line.  pppd will ask the peer to send these characters as  a  2-byte
  43.           escape  sequence.  The argument is a 32 bit hex number with each bit
  44.           representing a character to escape. Bit 0 (00000001) represents  the
  45.           character  0x00;  bit 31 (80000000) represents the character 0x1f or
  46.           ^_.  If multiple asyncmap options are given,  the  values  are  ORed
  47.           together.   If  no  asyncmap option is given, no async character map
  48.           will be negotiated for the receive direction; the peer  should  then
  49.           escape all control characters.
  50.  
  51.      auth Require the peer to  authenticate  itself  before  allowing  network
  52.           packets to be sent or received.
  53.  
  54.      connect <p>
  55.           Use the executable or shell command specified by <p> to set  up  the
  56.           serial line.  This script would typically use the chat(8) program to
  57.           dial the modem and start the remote ppp session.
  58.  
  59.      crtscts
  60.           Use hardware flow control (i.e. RTS/CTS) to control the flow of data
  61.           on  the serial port.  If neither the crtscts nor the -crtscts option
  62.  
  63.  
  64.                                                                              1
  65.  
  66.  
  67.  
  68. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  69.  
  70.  
  71.           is given, the hardware flow control setting for the serial  port  is
  72.           left unchanged.
  73.  
  74.      defaultroute
  75.           Add a default route to the system routing tables, using the peer  as
  76.           the  gateway, when IPCP negotiation is successfully completed.  This
  77.           entry is removed when the PPP connection is broken.
  78.  
  79.      disconnect <p>
  80.           Run the executable or shell command specified by <p> after pppd  has
  81.           terminated the link.  This script could, for example, issue commands
  82.           to the modem to cause it  to  hang  up  if  hardware  modem  control
  83.           signals were not available.
  84.  
  85.      escape xx,yy,...
  86.           Specifies that certain characters should be escaped on  transmission
  87.           (regardless of whether the peer requests them to be escaped with its
  88.           async control character map).  The  characters  to  be  escaped  are
  89.           specified  as  a list of hex numbers separated by commas.  Note that
  90.           almost any character can be specified for the escape option,  unlike
  91.           the  asyncmap  option  which  only  allows  control characters to be
  92.           specified.  The characters which may not be escaped are  those  with
  93.           hex values 0x20 - 0x3f or 0x5e.
  94.  
  95.      file <f>
  96.           Read options from file <f> (the format is described below).
  97.  
  98.      lock Specifies that pppd should create a UUCP-style  lock  file  for  the
  99.           serial device to ensure exclusive access to the device.
  100.  
  101.      mru <n>
  102.           Set the MRU [Maximum Receive Unit] value  to  <n>  for  negotiation.
  103.           pppd  will  ask  the peer to send packets of no more than <n> bytes.
  104.           The minimum MRU value is 128.  The default MRU  value  is  1500.   A
  105.           value  of  296  is  recommended  for slow links (40 bytes for TCP/IP
  106.           header + 256 bytes of data).
  107.  
  108.      mtu <n>
  109.           Set the MTU [Maximum Transmit Unit] value to <n>.  Unless  the  peer
  110.           requests a smaller value via MRU negotiation, pppd will request that
  111.           the kernel networking code send data packets of no more than n bytes
  112.           through the PPP network interface.
  113.  
  114.      netmask <n>
  115.           Set the interface netmask to <n>, a 32 bit netmask in "decimal  dot"
  116.           notation  (e.g.  255.255.255.0).  If this option is given, the value
  117.           specified is ORed with the default netmask.  The default netmask  is
  118.           chosen  based  on  the  negotiated  remote  IP  address;  it  is the
  119.           appropriate network mask for the class of  the  remote  IP  address,
  120.           ORed with the netmasks for any non point-to-point network interfaces
  121.           in the system which are on the same network.
  122.  
  123.      passive
  124.           Enables the "passive" option in the LCP.   With  this  option,  pppd
  125.           will  attempt to initiate a connection; if no reply is received from
  126.           the peer, pppd will then just wait passively for a valid LCP  packet
  127.  
  128.  
  129.                                                                              2
  130.  
  131.  
  132.  
  133. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  134.  
  135.  
  136.           from the peer (instead of exiting, as it does without this option).
  137.  
  138.      silent
  139.           With this option, pppd will not transmit LCP packets to  initiate  a
  140.           connection  until  a  valid LCP packet is received from the peer (as
  141.           for the `passive' option with ancient versions of pppd).
  142.  
  143. OPTIONS
  144.  
  145.      <local_IP_address>:<remote_IP_address>
  146.           Set the local and/or remote interface IP addresses.  Either one  may
  147.           be  omitted.   The IP addresses can be specified with a host name or
  148.           in decimal dot notation (e.g.  150.234.56.78).   The  default  local
  149.           address  is  the  (first)  IP  address  of  the  system  (unless the
  150.           noipdefault option is given).  The remote address will  be  obtained
  151.           from  the  peer  if  not  specified  in any option.  Thus, in simple
  152.           cases, this option is not required.  If a  local  and/or  remote  IP
  153.           address  is  specified  with  this  option,  pppd  will not accept a
  154.           different value from the peer in the IPCP  negotiation,  unless  the
  155.           ipcp-accept-local   and/or  ipcp-accept-remote  options  are  given,
  156.           respectively.
  157.  
  158.      -ac  Disable Address/Control compression negotiation (use  default,  i.e.
  159.           address/control field compression disabled).
  160.  
  161.      -all Don't request or allow negotiation of any options for LCP  and  IPCP
  162.           (use default values).
  163.  
  164.      -am  Disable asyncmap negotiation (use the default asyncmap, i.e.  escape
  165.           all control characters).
  166.  
  167.      -as <n>
  168.           Same as asyncmap <n>
  169.  
  170.      bsdcomp nr,nt
  171.           Request that the peer compress packets that it sends, using the BSD-
  172.           Compress  scheme,  with a maximum code size of nr bits, and agree to
  173.           compress packets sent to the peer with a maximum  code  size  of  nt
  174.           bits.   If  nt  is not specified, it defaults to the value given for
  175.           nr.  Values in the range 9 to 15 may be used for nr and  nt;  larger
  176.           values  give  better  compression but consume more kernel memory for
  177.           compression dictionaries.  Alternatively, a value of 0 for nr or  nt
  178.           disables compression in the corresponding direction.
  179.  
  180.      -bsdcomp
  181.           Disables compression; pppd will not request  or  agree  to  compress
  182.           packets using the BSD-Compress scheme.
  183.  
  184.      +chap
  185.           Require the peer to authenticate itself  using  CHAP  [Cryptographic
  186.           Handshake Authentication Protocol] authentication.
  187.  
  188.      -chap
  189.           Don't agree to authenticate using CHAP.
  190.  
  191.  
  192.  
  193.  
  194.                                                                              3
  195.  
  196.  
  197.  
  198. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  199.  
  200.  
  201.      chap-interval <n>
  202.           If this option is given, pppd will rechallenge the  peer  every  <n>
  203.           seconds.
  204.  
  205.      chap-max-challenge <n>
  206.           Set the maximum  number  of  CHAP  challenge  transmissions  to  <n>
  207.           (default 10).
  208.  
  209.      chap-restart <n>
  210.           Set  the  CHAP  restart   interval   (retransmission   timeout   for
  211.           challenges) to <n> seconds (default 3).
  212.  
  213.      -crtscts
  214.           Disable hardware flow control (i.e. RTS/CTS) on the serial port.  If
  215.           neither  the  crtscts nor the -crtscts option is given, the hardware
  216.           flow control setting for the serial port is left unchanged.
  217.  
  218.      -d   Increase debugging level (same as the debug option).
  219.  
  220.      debug
  221.           Increase debugging level (same as -d).  If  this  option  is  given,
  222.           pppd  will  log the contents of all control packets sent or received
  223.           in a readable form.  The packets  are  logged  through  syslog  with
  224.           facility  daemon  and level debug.  This information can be directed
  225.           to  a  file  by  setting  up  /etc/syslog.conf  appropriately   (see
  226.           syslog.conf(5)).
  227.  
  228.      -defaultroute
  229.           Disable the  defaultroute  option.   The  system  administrator  who
  230.           wishes  to  prevent users from creating default routes with pppd can
  231.           do so by placing this option in the /etc/ppp/options file.
  232.  
  233.      -detach
  234.           Don't fork to become a background process (otherwise pppd will do so
  235.           if   a   serial  device  other  than  its  controlling  terminal  is
  236.           specified).
  237.  
  238.      domain <d>
  239.           Append the domain name <d> to the local host name for authentication
  240.           purposes.   For  example, if gethostname() returns the name porsche,
  241.           but the fully qualified  domain  name  is  porsche.Quotron.COM,  you
  242.           would use the domain option to set the domain name to Quotron.COM.
  243.  
  244.      -ip  Disable IP address negotiation.  If this option is used, the  remote
  245.           IP  address  must be specified with an option on the command line or
  246.           in an options file.
  247.  
  248.      ipcp-accept-local
  249.           With this option, pppd will accept the peer's idea of our  local  IP
  250.           address, even if the local IP address was specified in an option.
  251.  
  252.      ipcp-accept-remote
  253.           With this option, pppd will accept the peer's idea of  its  (remote)
  254.           IP  address,  even  if  the  remote  IP  address was specified in an
  255.           option.
  256.  
  257.  
  258.  
  259.                                                                              4
  260.  
  261.  
  262.  
  263. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  264.  
  265.  
  266.      ipcp-max-configure <n>
  267.           Set the maximum number of IPCP  configure-request  transmissions  to
  268.           <n> (default 10).
  269.  
  270.      ipcp-max-failure <n>
  271.           Set the  maximum  number  of  IPCP  configure-NAKs  returned  before
  272.           starting to send configure-Rejects instead to <n> (default 10).
  273.  
  274.      ipcp-max-terminate <n>
  275.           Set the maximum number of IPCP  terminate-request  transmissions  to
  276.           <n> (default 3).
  277.  
  278.      ipcp-restart <n>
  279.           Set the  IPCP  restart  interval  (retransmission  timeout)  to  <n>
  280.           seconds (default 3).
  281.  
  282.      ipparam string
  283.           Provides an extra parameter to the ip-up and  ip-down  scripts.   If
  284.           this  option  is  given,  the  string  supplied  is given as the 6th
  285.           parameter to those scripts.
  286.  
  287.      kdebug n
  288.           Enable debugging code in the kernel-level PPP driver.  The  argument
  289.           n  is a number which is the sum of the following values: 1 to enable
  290.           general debug messages, 2 to request that the contents  of  received
  291.           packets   be  printed,  and  4  to  request  that  the  contents  of
  292.           transmitted packets be printed.
  293.  
  294.      lcp-echo-failure <n>
  295.           If this option is given, pppd will presume the peer to be dead if  n
  296.           LCP echo-requests are sent without receiving a valid LCP echo-reply.
  297.           If this happens, pppd will terminate the connection.   Use  of  this
  298.           option   requires   a   non-zero  value  for  the  lcp-echo-interval
  299.           parameter.  This option can be used  to  enable  pppd  to  terminate
  300.           after  the  physical connection has been broken (e.g., the modem has
  301.           hung up) in situations where no hardware  modem  control  lines  are
  302.           available.
  303.  
  304.      lcp-echo-interval <n>
  305.           If this option is given, pppd will send an LCP echo-request frame to
  306.           the  peer  every  n  seconds.  Under Linux, the echo-request is sent
  307.           when no packets have been received from  the  peer  for  n  seconds.
  308.           Normally  the  peer should respond to the echo-request by sending an
  309.           echo-reply.  This option  can  be  used  with  the  lcp-echo-failure
  310.           option to detect that the peer is no longer connected.
  311.  
  312.      lcp-max-configure <n>
  313.           Set the maximum number of LCP configure-request transmissions to <n>
  314.           (default 10).
  315.  
  316.      lcp-max-failure <n>
  317.           Set  the  maximum  number  of  LCP  configure-NAKs  returned  before
  318.           starting to send configure-Rejects instead to <n> (default 10).
  319.  
  320.  
  321.  
  322.  
  323.  
  324.                                                                              5
  325.  
  326.  
  327.  
  328. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  329.  
  330.  
  331.      lcp-max-terminate <n>
  332.           Set the maximum number of LCP terminate-request transmissions to <n>
  333.           (default 3).
  334.  
  335.      lcp-restart <n>
  336.           Set the LCP restart interval (retransmission timeout) to <n> seconds
  337.           (default 3).
  338.  
  339.      local
  340.           Don't use the modem control lines.   With  this  option,  pppd  will
  341.           ignore  the  state  of the CD (Carrier Detect) signal from the modem
  342.           and will not change the state  of  the  DTR  (Data  Terminal  Ready)
  343.           signal.
  344.  
  345.      login
  346.           Use the system password database for authenticating the  peer  using
  347.           PAP, and record the user in the system wtmp file.
  348.  
  349.      modem
  350.           Use the modem control lines.  This option is the default.  With this
  351.           option,  pppd  will wait for the CD (Carrier Detect) signal from the
  352.           modem to be asserted  when  opening  the  serial  device  (unless  a
  353.           connect  script  is  specified),  and  it  will  drop  the DTR (Data
  354.           Terminal Ready) signal briefly when the connection is terminated and
  355.           before executing the connect script.  On Ultrix, this option implies
  356.           hardware flow control, as for the crtscts option.
  357.  
  358.      -mn  Disable magic number negotiation.  With  this  option,  pppd  cannot
  359.           detect a looped-back line.
  360.  
  361.      -mru Disable MRU [Maximum Receive Unit] negotiation.  With  this  option,
  362.           pppd will use the default MRU value of 1500 bytes.
  363.  
  364.      name <n>
  365.           Set the name of the local system for authentication purposes to <n>.
  366.  
  367.      noipdefault
  368.           Disables  the  default  behaviour  when  no  local  IP  address   is
  369.           specified,  which is to determine (if possible) the local IP address
  370.           from the hostname.  With this option, the peer will have  to  supply
  371.           the  local  IP  address during IPCP negotiation (unless it specified
  372.           explicitly on the command line or in an options file).
  373.  
  374.      -p   Same as the passive option.
  375.  
  376.      +pap Require the peer to authenticate itself using PAP.
  377.  
  378.      -pap Don't agree to authenticate using PAP.
  379.  
  380.      papcrypt
  381.           Indicates that all secrets in the  /etc/ppp/pap-secrets  file  which
  382.           are  used  for  checking the identity of the peer are encrypted, and
  383.           thus pppd should not accept a password which (before encryption)  is
  384.           identical to the secret from the /etc/ppp/pap-secrets file.
  385.  
  386.  
  387.  
  388.  
  389.                                                                              6
  390.  
  391.  
  392.  
  393. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  394.  
  395.  
  396.      pap-max-authreq <n>
  397.           Set the maximum number of PAP authenticate-request transmissions  to
  398.           <n> (default 10).
  399.  
  400.      pap-restart <n>
  401.           Set the PAP restart interval (retransmission timeout) to <n> seconds
  402.           (default 3).
  403.  
  404.      pap-timeout <n>
  405.           Set  the  maximum  time  that  pppd  will  wait  for  the  peer   to
  406.           authenticate itself with PAP to <n> seconds (0 means no limit).
  407.  
  408.      -pc  Disable protocol field compression negotiation  (use  default,  i.e.
  409.           protocol field compression disabled).
  410.  
  411.      persist
  412.           Do not exit after a connection is terminated; instead try to  reopen
  413.           the connection.
  414.  
  415.      proxyarp
  416.           Add an entry to this  system's  ARP  [Address  Resolution  Protocol]
  417.           table  with  the  IP address of the peer and the Ethernet address of
  418.           this system.
  419.  
  420.      -proxyarp
  421.           Disable the proxyarp option.  The system administrator who wishes to
  422.           prevent users from creating proxy ARP entries with pppd can do so by
  423.           placing this option in the /etc/ppp/options file.
  424.  
  425.      remotename <n>
  426.           Set the  assumed  name  of  the  remote  system  for  authentication
  427.           purposes to <n>.
  428.  
  429.      +ua <p>
  430.           Agree to authenticate using PAP [Password  Authentication  Protocol]
  431.           if  requested by the peer, and use the data in file <p> for the user
  432.           and password to send to the peer. The file contains the remote  user
  433.           name,  followed  by  a  newline,  followed  by  the remote password,
  434.           followed by a newline.  This option is obsolescent.
  435.  
  436.      usehostname
  437.           Enforce the use of the hostname as the name of the local system  for
  438.           authentication purposes (overrides the name option).
  439.  
  440.      user <u>
  441.           Set the user name to use for authenticating this  machine  with  the
  442.           peer using PAP to <u>.
  443.  
  444.      -vj  Disable negotiation of Van Jacobson style TCP/IP header  compression
  445.           (use default, i.e. no compression).
  446.  
  447.      -vjccomp
  448.           Disable the connection-ID compression option in Van  Jacobson  style
  449.           TCP/IP header compression.  With this option, pppd will not omit the
  450.           connection-ID byte from Van Jacobson compressed TCP/IP headers,  nor
  451.           ask the peer to do so.
  452.  
  453.  
  454.                                                                              7
  455.  
  456.  
  457.  
  458. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  459.  
  460.  
  461.      vj-max-slots n
  462.           Sets the number of connection slots to be used by the  Van  Jacobson
  463.           TCP/IP header compression and decompression code to n, which must be
  464.           between 2 and 16 (inclusive).
  465.  
  466.      xonxoff
  467.           Use software flow control (i.e. XON/XOFF) to  control  the  flow  of
  468.           data  on  the serial port.  This option is only implemented on Linux
  469.           systems at present.
  470.  
  471. OPTIONS FILES
  472.      Options can be taken from files as well as the command line.  pppd  reads
  473.      options  from  the  files /etc/ppp/options and ~/.ppprc before looking at
  474.      the command line.  An options file is parsed  into  a  series  of  words,
  475.      delimited  by  whitespace.   Whitespace  can  be  included  in  a word by
  476.      enclosing the word in quotes (").  A backslash (\) quotes  the  following
  477.      character.  A hash (#) starts a comment, which continues until the end of
  478.      the line.
  479.  
  480. AUTHENTICATION
  481.      pppd provides system administrators with sufficient access  control  that
  482.      PPP  access  to  a  server  machine  can  be provided to legitimate users
  483.      without fear of compromising the security of the server  or  the  network
  484.      it's  on.   In  part this is provided by the /etc/ppp/options file, where
  485.      the administrator can place options to  require  authentication  whenever
  486.      pppd  is  run,  and  in part by the PAP and CHAP secrets files, where the
  487.      administrator can restrict the set of IP addresses which individual users
  488.      may use.
  489.  
  490.      The default behaviour of pppd is to agree to authenticate  if  requested,
  491.      and  to not require authentication from the peer.  However, pppd will not
  492.      agree to authenticate itself with a particular  protocol  if  it  has  no
  493.      secrets which could be used to do so.
  494.  
  495.      Authentication is based on secrets, which are selected from secrets files
  496.      (/etc/ppp/pap-secrets  for  PAP,  /etc/ppp/chap-secrets  for CHAP).  Both
  497.      secrets files have the same  format,  and  both  can  store  secrets  for
  498.      several  combinations  of  server  (authenticating peer) and client (peer
  499.      being authenticated).  Note that pppd can be both a  server  and  client,
  500.      and  that  different  protocols  can  be  used  in  the two directions if
  501.      desired.
  502.  
  503.      A secrets file is parsed into words as for a options file.  A  secret  is
  504.      specified  by  a  line  containing  at least 3 words, in the order client
  505.      name, server name, secret.  Any following words  on  the  same  line  are
  506.      taken  to be a list of acceptable IP addresses for that client.  If there
  507.      are only 3 words on the line, it is assumed that any IP address is OK; to
  508.      disallow  all  IP  addresses, use "-".  If the secret starts with an `@',
  509.      what follows is assumed to be the name of a file from which to  read  the
  510.      secret.   A  "*"  as  the  client  or server name matches any name.  When
  511.      selecting a secret, pppd takes the best match, i.e.  the match  with  the
  512.      fewest wildcards.
  513.  
  514.      Thus a secrets file contains both secrets for use in authenticating other
  515.      hosts,  plus secrets which we use for authenticating ourselves to others.
  516.      Which secret to use is chosen based on the names of the host (the  `local
  517.  
  518.  
  519.                                                                              8
  520.  
  521.  
  522.  
  523. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  524.  
  525.  
  526.      name') and its peer (the `remote  name').   The  local  name  is  set  as
  527.      follows:
  528.  
  529.      if the usehostname option is given,
  530.         then the local name is the hostname of this machine (with  the  domain
  531.         appended, if given)
  532.  
  533.      else if the name option is given,
  534.         then use the argument of the first name option seen
  535.  
  536.      else if the local IP address is specified with a hostname,
  537.         then use that name
  538.  
  539.      else use the hostname of this  machine  (with  the  domain  appended,  if
  540.         given)
  541.  
  542.      When authenticating ourselves using PAP, there is also a `username' which
  543.      is  the local name by default, but can be set with the user option or the
  544.      +ua option.
  545.  
  546.      The remote name is set as follows:
  547.  
  548.      if the remotename option is given,
  549.         then use the argument of the last remotename option seen
  550.  
  551.      else if the remote IP address is specified with a hostname,
  552.         then use that host name
  553.  
  554.      else the remote name is the null string "".
  555.  
  556.      Secrets are selected from the PAP secrets file as follows:
  557.  
  558.      * For authenticating the peer, look for a secret with client ==  username
  559.        specified in the PAP authenticate-request, and server == local name.
  560.  
  561.      * For authenticating ourselves to the peer, look for a secret with client
  562.        == our username, server == remote name.
  563.  
  564.      When authenticating the peer  with  PAP,  a  secret  of  ""  matches  any
  565.      password supplied by the peer.  If the password doesn't match the secret,
  566.      the password is encrypted using crypt() and checked  against  the  secret
  567.      again;  thus  secrets  for  authenticating  the  peer  can  be  stored in
  568.      encrypted form.  If the papcrypt option is given, the first (unencrypted)
  569.      comparison is omitted, for better security.
  570.  
  571.      If the login option was specified, the username  and  password  are  also
  572.      checked   against   the  system  password  database.   Thus,  the  system
  573.      administrator can set up the pap-secrets file to allow PPP access only to
  574.      certain users, and to restrict the set of IP addresses that each user can
  575.      use.  Typically, when using the login option, the secret in /etc/ppp/pap-
  576.      secrets  would  be  "",  to avoid the need to have the same secret in two
  577.      places.
  578.  
  579.      Secrets are selected from the CHAP secrets file as follows:
  580.  
  581.  
  582.  
  583.  
  584.                                                                              9
  585.  
  586.  
  587.  
  588. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  589.  
  590.  
  591.      * For authenticating the peer, look for a  secret  with  client  ==  name
  592.        specified in the CHAP-Response message, and server == local name.
  593.  
  594.      * For authenticating ourselves to the peer, look for a secret with client
  595.        ==  local  name,  and  server  ==  name specified in the CHAP-Challenge
  596.        message.
  597.  
  598.      Authentication must be satisfactorily completed before IPCP (or any other
  599.      Network  Control Protocol) can be started.  If authentication fails, pppd
  600.      will terminated the  link  (by  closing  LCP).   If  IPCP  negotiates  an
  601.      unacceptable  IP  address  for  the remote host, IPCP will be closed.  IP
  602.      packets can only be sent or received when IPCP is open.
  603.  
  604.      In  some  cases  it  is  desirable  to  allow  some  hosts  which   can't
  605.      authenticate  themselves to connect and use one of a restricted set of IP
  606.      addresses, even when the local host  generally  requires  authentication.
  607.      If  the  peer  refuses  to authenticate itself when requested, pppd takes
  608.      that as equivalent to authenticating with PAP using the empty string  for
  609.      the  username  and  password.   Thus, by adding a line to the pap-secrets
  610.      file which specifies the empty string for the client and password, it  is
  611.      possible to allow restricted access to hosts which refuse to authenticate
  612.      themselves.
  613.  
  614. ROUTING
  615.  
  616.      When IPCP negotiation is completed successfully,  pppd  will  inform  the
  617.      kernel  of the local and remote IP addresses for the ppp interface.  This
  618.      is sufficient to create a host route to the remote end of the link, which
  619.      will  enable  the peers to exchange IP packets.  Communication with other
  620.      machines generally requires further modification to routing tables and/or
  621.      ARP  (Address  Resolution  Protocol)  tables.  In some cases this will be
  622.      done automatically through the actions of the routed  or  gated  daemons,
  623.      but in most cases some further intervention is required.
  624.  
  625.      Sometimes it is desirable to add a default route through the remote host,
  626.      as  in  the  case  of  a machine whose only connection to the Internet is
  627.      through the ppp interface.  The defaultroute option causes pppd to create
  628.      such  a  default route when IPCP comes up, and delete it when the link is
  629.      terminated.
  630.  
  631.      In some cases it is desirable to use proxy ARP, for example on  a  server
  632.      machine  connected to a LAN, in order to allow other hosts to communicate
  633.      with the remote host.  The proxyarp option causes  pppd  to  look  for  a
  634.      network  interface  on  the  same subnet as the remote host (an interface
  635.      supporting broadcast and ARP, which is up and  not  a  point-to-point  or
  636.      loopback  interface).   If found, pppd creates a permanent, published ARP
  637.      entry with the IP address of the remote host and the hardware address  of
  638.      the network interface found.
  639.  
  640. EXAMPLES
  641.  
  642.      In the simplest case, you can connect the serial ports  of  two  machines
  643.      and issue a command like
  644.  
  645.  
  646.  
  647.  
  648.  
  649.                                                                             10
  650.  
  651.  
  652.  
  653. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  654.  
  655.  
  656.        pppd /dev/ttya 9600 passive
  657.  
  658.      to each machine, assuming there is no getty running on the serial  ports.
  659.      If  one  machine  has  a  getty running, you can use kermit or tip on the
  660.      other machine to log in to the first machine and issue a command like
  661.  
  662.        pppd passive
  663.  
  664.      Then exit from the communications program  (making  sure  the  connection
  665.      isn't dropped), and issue a command like
  666.  
  667.        pppd /dev/ttya 9600
  668.  
  669.      The process of logging in to the other machine and starting pppd  can  be
  670.      automated by using the connect option to run chat, for example:
  671.  
  672.        pppd  /dev/ttya  38400  connect  'chat  ""   ""   "login:"   "username"
  673.        "Password:" "password" "% " "exec pppd passive"'
  674.  
  675.      (Note however that running chat like this will leave the password visible
  676.      in the parameter list of pppd and chat.)
  677.  
  678.      If your serial connection is any more complicated than a piece  of  wire,
  679.      you  may  need  to arrange for some control characters to be escaped.  In
  680.      particular, it is often useful to escape XON (^Q) and  XOFF  (^S),  using
  681.      asyncmap  a0000.   If  the  path  includes  a telnet, you probably should
  682.      escape ^] as well (asyncmap 200a0000).  If the path includes  an  rlogin,
  683.      you will need to use the escape ff option on the end which is running the
  684.      rlogin client, since many rlogin  implementations  are  not  transparent;
  685.      they  will remove the sequence [0xff, 0xff, 0x73, 0x73, followed by any 8
  686.      bytes] from the stream.
  687.  
  688. DIAGNOSTICS
  689.  
  690.      Messages are sent to the syslog daemon using facility LOG_DAEMON.   (This
  691.      can  be  overriden  by recompiling pppd with the macro LOG_PPP defined as
  692.      the desired facility.)  In order to see the error and debug messages, you
  693.      will  need  to  edit your /etc/syslog.conf file to direct the messages to
  694.      the desired output device or file.
  695.  
  696.      The debug option causes the contents  of  all  control  packets  sent  or
  697.      received to be logged, that is, all LCP, PAP, CHAP or IPCP packets.  This
  698.      can be useful if the PPP negotiation does not succeed.  If  debugging  is
  699.      enabled  at  compile  time,  the debug option also causes other debugging
  700.      messages to be logged.
  701.  
  702.      Debugging can also be enabled or disabled by sending  a  SIGUSR1  to  the
  703.      pppd process.  This signal acts as a toggle.
  704.  
  705. FILES
  706.  
  707.      /var/run/pppn.pid (BSD or Linux), /etc/ppp/pppn.pid (others)
  708.        Process-ID for pppd process on ppp interface unit n.
  709.  
  710.  
  711.  
  712.  
  713.  
  714.                                                                             11
  715.  
  716.  
  717.  
  718. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  719.  
  720.  
  721.      /etc/ppp/ip-up
  722.        A program or script which is executed when the link  is  available  for
  723.        sending  and  receiving  IP packets (that is, IPCP has come up).  It is
  724.        executed with the parameters
  725.  
  726.        interface-name tty-device speed local-IP-address remote-IP-address
  727.  
  728.        and with its standard input, output and  error  streams  redirected  to
  729.        /dev/null.
  730.  
  731.        This program or script is executed with the  same  real  and  effective
  732.        user-ID  as  pppd, that is, at least the effective user-ID and possibly
  733.        the real user-ID will be root.  This is so  that  it  can  be  used  to
  734.        manipulate  routes,  run  privileged daemons (e.g.  sendmail), etc.  Be
  735.        careful that the contents of the  /etc/ppp/ip-up  and  /etc/ppp/ip-down
  736.        scripts do not compromise your system's security.
  737.  
  738.      /etc/ppp/ip-down
  739.        A program or script which is  executed  when  the  link  is  no  longer
  740.        available  for  sending  and  receiving IP packets.  This script can be
  741.        used for undoing the effects  of  the  /etc/ppp/ip-up  script.   It  is
  742.        invoked  with  the  same  parameters  as the ip-up script, and the same
  743.        security considerations apply, since  it  is  executed  with  the  same
  744.        effective and real user-IDs as pppd.
  745.  
  746.      /etc/ppp/pap-secrets
  747.        Usernames, passwords and IP addresses for PAP authentication.
  748.  
  749.      /etc/ppp/chap-secrets
  750.        Names, secrets and IP addresses for CHAP authentication.
  751.  
  752.      /etc/ppp/options
  753.        System default options for pppd, read before user  default  options  or
  754.        command-line options.
  755.  
  756.      ~/.ppprc
  757.        User default options, read before command-line options.
  758.  
  759.      /etc/ppp/options.ttyname
  760.        System default options for the  serial  port  being  used,  read  after
  761.        command-line options.
  762.  
  763. SEE ALSO
  764.  
  765.      RFC1144
  766.        Jacobson, V.  Compressing TCP/IP headers for  low-speed  serial  links.
  767.        1990 February.
  768.  
  769.      RFC1321
  770.        Rivest, R.  The MD5 Message-Digest Algorithm. 1992 April.
  771.  
  772.      RFC1332
  773.        McGregor, G.  PPP Internet Protocol Control Protocol (IPCP). 1992 May.
  774.  
  775.  
  776.  
  777.  
  778.  
  779.                                                                             12
  780.  
  781.  
  782.  
  783. PPPD(8)                    Unix Programmer's Manual                    PPPD(8)
  784.  
  785.  
  786.      RFC1334
  787.        Lloyd, B.; Simpson, W.A.  PPP authentication protocols. 1992 October.
  788.  
  789.      RFC1548
  790.        Simpson, W.A.  The Point-to-Point Protocol (PPP). 1993 December.
  791.  
  792.      RFC1549
  793.        Simpson, W.A.  PPP in HDLC Framing. 1993 December
  794.  
  795. NOTES
  796.      The following signals have the specified effect when  sent  to  the  pppd
  797.      process.
  798.  
  799.      SIGINT, SIGTERM
  800.        These signals cause pppd  to  terminate  the  link  (by  closing  LCP),
  801.        restore the serial device settings, and exit.
  802.  
  803.      SIGHUP
  804.        This signal causes pppd to  terminate  the  link,  restore  the  serial
  805.        device  settings,  and  close the serial device.  If the persist option
  806.        has been specified, pppd will try to reopen the serial device and start
  807.        another connection.  Otherwise pppd will exit.
  808.  
  809.      SIGUSR2
  810.        This signal causes pppd to renegotiate compression.  This can be useful
  811.        to  re-enable  compression  after it has been disabled as a result of a
  812.        fatal  decompression  error.   With  the  BSD  Compress  scheme,  fatal
  813.        decompression   errors  generally  indicate  a  bug  in  one  or  other
  814.        implementation.
  815.  
  816.  
  817. AUTHORS
  818.      Drew Perkins, Brad Clements, Karl Fox, Greg Christy,  Brad  Parker,  Paul
  819.      Mackerras (paulus@cs.anu.edu.au).
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.                                                                             13
  845.  
  846.