1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972 |
- .\" manual page [] for pppd 2.4
- .\" $Id: pppd.8,v 1.90 2008/03/26 12:09:40 paulus Exp $
- .\" SH section heading
- .\" SS subsection heading
- .\" LP paragraph
- .\" IP indented paragraph
- .\" TP hanging label
- .\"
- .\" Copyright (c) 1993-2003 Paul Mackerras <paulus@samba.org>
- .\"
- .\" Permission to use, copy, modify, and distribute this software for any
- .\" purpose with or without fee is hereby granted, provided that the above
- .\" copyright notice and this permission notice appear in all copies.
- .\"
- .\" THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
- .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- .\"
- .TH PPPD 8
- .SH NAME
- pppd \- Point-to-Point Protocol Daemon
- .SH SYNOPSIS
- .B pppd
- [
- .I options
- ]
- .SH DESCRIPTION
- .LP
- PPP is the protocol used for establishing internet links over dial-up
- modems, DSL connections, and many other types of point-to-point
- links. The \fIpppd\fR daemon works together with the kernel PPP
- driver to establish and maintain a PPP link with another system
- (called the \fIpeer\fR) and to negotiate Internet Protocol (IP)
- addresses for each end of the link. Pppd can also authenticate the
- peer and/or supply authentication information to the peer. PPP can be
- used with other network protocols besides IP, but such use is becoming
- increasingly rare.
- .SH FREQUENTLY USED OPTIONS
- .TP
- .I ttyname
- Use the serial port called \fIttyname\fR to communicate with the
- peer. If \fIttyname\fR does not begin with a slash (/),
- the string "/dev/" is prepended to \fIttyname\fR to form the
- name of the device to open. If no device name is given, or if the
- name of the terminal
- connected to the standard input is given, pppd will use that terminal,
- and will not fork to put itself in the background. A value for this
- option from a privileged source cannot be overridden by a
- non-privileged user.
- .TP
- .I speed
- An option that is a decimal number is taken as the desired baud rate
- for the serial device. On systems such as
- 4.4BSD and NetBSD, any speed can be specified. Other systems
- (e.g. Linux, SunOS) only support the commonly-used baud rates.
- .TP
- .B asyncmap \fImap
- This option sets the Async-Control-Character-Map (ACCM) for this end
- of the link. The ACCM is a set of 32 bits, one for each of the
- ASCII control characters with values from 0 to 31, where a 1 bit
- indicates that the corresponding control character should not be used
- in PPP packets sent to this system. The map is encoded as a
- hexadecimal number (without a leading 0x) where the least significant
- bit (00000001) represents character 0 and the most significant bit
- (80000000) represents character 31.
- Pppd will ask the peer to send these characters as a 2-byte
- escape sequence.
- If multiple \fIasyncmap\fR options are given, the values are ORed
- together. If no \fIasyncmap\fR option is given, the default is zero,
- so pppd will ask the peer not to escape any control characters.
- To escape transmitted characters, use the \fIescape\fR option.
- .TP
- .B auth
- Require the peer to authenticate itself before allowing network
- packets to be sent or received. This option is the default if the
- system has a default route. If neither this option nor the
- \fInoauth\fR option is specified, pppd will only allow the peer to use
- IP addresses to which the system does not already have a route.
- .TP
- .B call \fIname
- Read additional options from the file /etc/ppp/peers/\fIname\fR. This
- file may contain privileged options, such as \fInoauth\fR, even if pppd
- is not being run by root. The \fIname\fR string may not begin with /
- or include .. as a pathname component. The format of the options file
- is described below.
- .TP
- .B connect \fIscript
- Usually there is something which needs to be done to prepare the link
- before the PPP protocol can be started; for instance, with a dial-up
- modem, commands need to be sent to the modem to dial the appropriate
- phone number. This option specifies an command for pppd to execute
- (by passing it to a shell) before attempting to start PPP negotiation.
- The chat (8) program is often useful here, as it provides a way to
- send arbitrary strings to a modem and respond to received characters.
- A value
- for this option from a privileged source cannot be overridden by a
- non-privileged user.
- .TP
- .B crtscts
- Specifies that pppd should set the serial port to use hardware flow
- control using the RTS and CTS signals in the RS-232 interface.
- If neither the \fIcrtscts\fR, the
- \fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR option
- is given, the hardware flow control setting for the serial port is
- left unchanged.
- Some serial ports (such as Macintosh serial ports) lack a true
- RTS output. Such serial ports use this mode to implement
- unidirectional flow control. The serial port will
- suspend transmission when requested by the modem (via CTS)
- but will be unable to request the modem to stop sending to the
- computer. This mode retains the ability to use DTR as
- a modem control line.
- .TP
- .B defaultroute
- Add a default route to the system routing tables, using the peer as
- the gateway, when IPCP negotiation is successfully completed.
- This entry is removed when the PPP connection is broken. This option
- is privileged if the \fInodefaultroute\fR option has been specified.
- .TP
- .B disconnect \fIscript
- Execute the command specified by \fIscript\fR, by passing it to a
- shell, after
- pppd has terminated the link. This command could, for example, issue
- commands to the modem to cause it to hang up if hardware modem control
- signals were not available. The disconnect script is not run if the
- modem has already hung up. A value for this option from a privileged
- source cannot be overridden by a non-privileged user.
- .TP
- .B escape \fIxx,yy,...
- Specifies that certain characters should be escaped on transmission
- (regardless of whether the peer requests them to be escaped with its
- async control character map). The characters to be escaped are
- specified as a list of hex numbers separated by commas. Note that
- almost any character can be specified for the \fIescape\fR option,
- unlike the \fIasyncmap\fR option which only allows control characters
- to be specified. The characters which may not be escaped are those
- with hex values 0x20 - 0x3f or 0x5e.
- .TP
- .B file \fIname
- Read options from file \fIname\fR (the format is described below).
- The file must be readable by the user who has invoked pppd.
- .TP
- .B init \fIscript
- Execute the command specified by \fIscript\fR, by passing it to a shell, to
- initialize the serial line. This script would typically use the
- chat(8) program to configure the modem to enable auto answer. A value
- for this option from a privileged source cannot be overridden by a
- non-privileged user.
- .TP
- .B lock
- Specifies that pppd should create a UUCP-style lock file for the
- serial device to ensure exclusive access to the device. By default,
- pppd will not create a lock file.
- .TP
- .B mru \fIn
- Set the MRU [Maximum Receive Unit] value to \fIn\fR. Pppd
- will ask the peer to send packets of no more than \fIn\fR bytes.
- The value of \fIn\fR must be between 128 and 16384; the default is 1500.
- A value of
- 296 works well on very slow links (40 bytes for TCP/IP header + 256
- bytes of data).
- Note that for the IPv6 protocol, the MRU must be at least 1280.
- .TP
- .B mtu \fIn
- Set the MTU [Maximum Transmit Unit] value to \fIn\fR. Unless the
- peer requests a smaller value via MRU negotiation, pppd will
- request that the kernel networking code send data packets of no more
- than \fIn\fR bytes through the PPP network interface. Note that for
- the IPv6 protocol, the MTU must be at least 1280.
- .TP
- .B passive
- Enables the "passive" option in the LCP. With this option, pppd will
- attempt to initiate a connection; if no reply is received from the
- peer, pppd will then just wait passively for a valid LCP packet from
- the peer, instead of exiting, as it would without this option.
- .SH OPTIONS
- .TP
- .I <local_IP_address>\fB:\fI<remote_IP_address>
- Set the local and/or remote interface IP addresses. Either one may be
- omitted. The IP addresses can be specified with a host name or in
- decimal dot notation (e.g. 150.234.56.78). The default local
- address is the (first) IP address of the system (unless the
- \fInoipdefault\fR
- option is given). The remote address will be obtained from the peer
- if not specified in any option. Thus, in simple cases, this option is
- not required. If a local and/or remote IP address is specified with
- this option, pppd
- will not accept a different value from the peer in the IPCP
- negotiation, unless the \fIipcp\-accept\-local\fR and/or
- \fIipcp\-accept\-remote\fR options are given, respectively.
- .TP
- .B +ipv6
- Enable the IPv6CP and IPv6 protocols.
- .TP
- .B ipv6 \fI<local_interface_identifier>\fR,\fI<remote_interface_identifier>
- Set the local and/or remote 64-bit interface identifier. Either one may be
- omitted. The identifier must be specified in standard ASCII notation of
- IPv6 addresses (e.g. ::dead:beef). If the
- \fIipv6cp\-use\-ipaddr\fR
- option is given, the local identifier is the local IPv4 address (see above).
- On systems which supports a unique persistent id, such as EUI\-48 derived
- from the Ethernet MAC address, \fIipv6cp\-use\-persistent\fR option can be
- used to replace the \fIipv6 <local>,<remote>\fR option. Otherwise the
- identifier is randomized.
- .TP
- .B active\-filter \fIfilter\-expression
- Specifies a packet filter to be applied to data packets to determine
- which packets are to be regarded as link activity, and therefore reset
- the idle timer, or cause the link to be brought up in demand-dialling
- mode. This option is useful in conjunction with the
- \fBidle\fR option if there are packets being sent or received
- regularly over the link (for example, routing information packets)
- which would otherwise prevent the link from ever appearing to be idle.
- The \fIfilter\-expression\fR syntax is as described for tcpdump(1),
- except that qualifiers which are inappropriate for a PPP link, such as
- \fBether\fR and \fBarp\fR, are not permitted. Generally the filter
- expression should be enclosed in single-quotes to prevent whitespace
- in the expression from being interpreted by the shell. This option
- is currently only available under Linux, and requires that the kernel
- was configured to include PPP filtering support (CONFIG_PPP_FILTER).
- Note that it
- is possible to apply different constraints to incoming and outgoing
- packets using the \fBinbound\fR and \fBoutbound\fR qualifiers.
- .TP
- .B allow\-ip \fIaddress(es)
- Allow peers to use the given IP address or subnet without
- authenticating themselves. The parameter is parsed as for each
- element of the list of allowed IP addresses in the secrets files (see
- the AUTHENTICATION section below).
- .TP
- .B allow\-number \fInumber
- Allow peers to connect from the given telephone number. A trailing
- `*' character will match all numbers beginning with the leading part.
- .TP
- .B bsdcomp \fInr,nt
- Request that the peer compress packets that it sends, using the
- BSD-Compress scheme, with a maximum code size of \fInr\fR bits, and
- agree to compress packets sent to the peer with a maximum code size of
- \fInt\fR bits. If \fInt\fR is not specified, it defaults to the value
- given for \fInr\fR. Values in the range 9 to 15 may be used for
- \fInr\fR and \fInt\fR; larger values give better compression but
- consume more kernel memory for compression dictionaries.
- Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables
- compression in the corresponding direction. Use \fInobsdcomp\fR or
- \fIbsdcomp 0\fR to disable BSD-Compress compression entirely.
- .TP
- .B cdtrcts
- Use a non-standard hardware flow control (i.e. DTR/CTS) to control
- the flow of data on the serial port. If neither the \fIcrtscts\fR,
- the \fInocrtscts\fR, the \fIcdtrcts\fR nor the \fInocdtrcts\fR
- option is given, the hardware flow control setting for the serial
- port is left unchanged.
- Some serial ports (such as Macintosh serial ports) lack a true
- RTS output. Such serial ports use this mode to implement true
- bi-directional flow control. The sacrifice is that this flow
- control mode does not permit using DTR as a modem control line.
- .TP
- .B chap\-interval \fIn
- If this option is given, pppd will rechallenge the peer every \fIn\fR
- seconds.
- .TP
- .B chap\-max\-challenge \fIn
- Set the maximum number of CHAP challenge transmissions to \fIn\fR
- (default 10).
- .TP
- .B chap\-restart \fIn
- Set the CHAP restart interval (retransmission timeout for challenges)
- to \fIn\fR seconds (default 3).
- .TP
- .B child\-timeout \fIn
- When exiting, wait for up to \fIn\fR seconds for any child processes
- (such as the command specified with the \fBpty\fR command) to exit
- before exiting. At the end of the timeout, pppd will send a SIGTERM
- signal to any remaining child processes and exit. A value of 0 means
- no timeout, that is, pppd will wait until all child processes have
- exited.
- .TP
- .B connect\-delay \fIn
- Wait for up to \fIn\fR milliseconds after the connect script finishes for
- a valid PPP packet from the peer. At the end of this time, or when a
- valid PPP packet is received from the peer, pppd will commence
- negotiation by sending its first LCP packet. The default value is
- 1000 (1 second). This wait period only applies if the \fBconnect\fR
- or \fBpty\fR option is used.
- .TP
- .B debug
- Enables connection debugging facilities.
- If this option is given, pppd will log the contents of all
- control packets sent or received in a readable form. The packets are
- logged through syslog with facility \fIdaemon\fR and level
- \fIdebug\fR. This information can be directed to a file by setting up
- /etc/syslog.conf appropriately (see syslog.conf(5)).
- .TP
- .B default\-asyncmap
- Disable asyncmap negotiation, forcing all control characters to be
- escaped for both the transmit and the receive direction.
- .TP
- .B default\-mru
- Disable MRU [Maximum Receive Unit] negotiation. With this option,
- pppd will use the default MRU value of 1500 bytes for both the
- transmit and receive direction.
- .TP
- .B deflate \fInr,nt
- Request that the peer compress packets that it sends, using the
- Deflate scheme, with a maximum window size of \fI2**nr\fR bytes, and
- agree to compress packets sent to the peer with a maximum window size
- of \fI2**nt\fR bytes. If \fInt\fR is not specified, it defaults to
- the value given for \fInr\fR. Values in the range 9 to 15 may be used
- for \fInr\fR and \fInt\fR; larger values give better compression but
- consume more kernel memory for compression dictionaries.
- Alternatively, a value of 0 for \fInr\fR or \fInt\fR disables
- compression in the corresponding direction. Use \fInodeflate\fR or
- \fIdeflate 0\fR to disable Deflate compression entirely. (Note: pppd
- requests Deflate compression in preference to BSD-Compress if the peer
- can do either.)
- .TP
- .B demand
- Initiate the link only on demand, i.e. when data traffic is present.
- With this option, the remote IP address may be specified by the user
- on the command line or in an options file, or if not, pppd will use
- an arbitrary address in the 10.x.x.x range. Pppd will initially
- configure the interface and enable it for IP traffic without
- connecting to the peer. When traffic is available, pppd will
- connect to the peer and perform negotiation, authentication, etc.
- When this is completed, pppd will commence passing data packets
- (i.e., IP packets) across the link.
- The \fIdemand\fR option implies the \fIpersist\fR option. If this
- behaviour is not desired, use the \fInopersist\fR option after the
- \fIdemand\fR option. The \fIidle\fR and \fIholdoff\fR
- options are also useful in conjunction with the \fIdemand\fR option.
- .TP
- .B domain \fId
- Append the domain name \fId\fR to the local host name for authentication
- purposes. For example, if gethostname() returns the name porsche, but
- the fully qualified domain name is porsche.Quotron.COM, you could
- specify \fIdomain Quotron.COM\fR. Pppd would then use the name
- \fIporsche.Quotron.COM\fR for looking up secrets in the secrets file,
- and as the default name to send to the peer when authenticating itself
- to the peer. This option is privileged.
- .TP
- .B dryrun
- With the \fBdryrun\fR option, pppd will print out all the option
- values which have been set and then exit, after parsing the command
- line and options files and checking the option values, but before
- initiating the link. The option values are logged at level info, and
- also printed to standard output unless the device on standard output
- is the device that pppd would be using to communicate with the peer.
- .TP
- .B dump
- With the \fBdump\fR option, pppd will print out all the option values
- which have been set. This option is like the \fBdryrun\fR option
- except that pppd proceeds as normal rather than exiting.
- .TP
- .B enable-session
- Enables session accounting via PAM or wtwp/wtmpx, as appropriate.
- When PAM is enabled, the PAM "account" and "session" module stacks
- determine behavior, and are enabled for all PPP authentication
- protocols. When PAM is disabled, wtmp/wtmpx entries are recorded
- regardless of whether the peer name identifies a valid user on the
- local system, making peers visible in the last(1) log. This feature
- is automatically enabled when the pppd \fBlogin\fR option is used.
- Session accounting is disabled by default.
- .TP
- .B endpoint \fI<epdisc>
- Sets the endpoint discriminator sent by the local machine to the peer
- during multilink negotiation to \fI<epdisc>\fR. The default is to use
- the MAC address of the first ethernet interface on the system, if any,
- otherwise the IPv4 address corresponding to the hostname, if any,
- provided it is not in the multicast or locally-assigned IP address
- ranges, or the localhost address. The endpoint discriminator can be
- the string \fBnull\fR or of the form \fItype\fR:\fIvalue\fR, where
- type is a decimal number or one of the strings \fBlocal\fR, \fBIP\fR,
- \fBMAC\fR, \fBmagic\fR, or \fBphone\fR. The value is an IP address in
- dotted-decimal notation for the \fBIP\fR type, or a string of bytes in
- hexadecimal, separated by periods or colons for the other types. For
- the MAC type, the value may also be the name of an ethernet or similar
- network interface. This option is currently only available under
- Linux.
- .TP
- .B eap\-interval \fIn
- If this option is given and pppd authenticates the peer with EAP
- (i.e., is the server), pppd will restart EAP authentication every
- \fIn\fR seconds. For EAP SRP\-SHA1, see also the \fBsrp\-interval\fR
- option, which enables lightweight rechallenge.
- .TP
- .B eap\-max\-rreq \fIn
- Set the maximum number of EAP Requests to which pppd will respond (as
- a client) without hearing EAP Success or Failure. (Default is 20.)
- .TP
- .B eap\-max\-sreq \fIn
- Set the maximum number of EAP Requests that pppd will issue (as a
- server) while attempting authentication. (Default is 10.)
- .TP
- .B eap\-restart \fIn
- Set the retransmit timeout for EAP Requests when acting as a server
- (authenticator). (Default is 3 seconds.)
- .TP
- .B eap\-timeout \fIn
- Set the maximum time to wait for the peer to send an EAP Request when
- acting as a client (authenticatee). (Default is 20 seconds.)
- .TP
- .B hide\-password
- When logging the contents of PAP packets, this option causes pppd to
- exclude the password string from the log. This is the default.
- .TP
- .B holdoff \fIn
- Specifies how many seconds to wait before re-initiating the link after
- it terminates. This option only has any effect if the \fIpersist\fR
- or \fIdemand\fR option is used. The holdoff period is not applied if
- the link was terminated because it was idle.
- .TP
- .B idle \fIn
- Specifies that pppd should disconnect if the link is idle for \fIn\fR
- seconds. The link is idle when no data packets (i.e. IP packets) are
- being sent or received. Note: it is not advisable to use this option
- with the \fIpersist\fR option without the \fIdemand\fR option.
- If the \fBactive\-filter\fR
- option is given, data packets which are rejected by the specified
- activity filter also count as the link being idle.
- .TP
- .B ipcp\-accept\-local
- With this option, pppd will accept the peer's idea of our local IP
- address, even if the local IP address was specified in an option.
- .TP
- .B ipcp\-accept\-remote
- With this option, pppd will accept the peer's idea of its (remote) IP
- address, even if the remote IP address was specified in an option.
- .TP
- .B ipcp\-max\-configure \fIn
- Set the maximum number of IPCP configure-request transmissions to
- \fIn\fR (default 10).
- .TP
- .B ipcp\-max\-failure \fIn
- Set the maximum number of IPCP configure-NAKs returned before starting
- to send configure-Rejects instead to \fIn\fR (default 10).
- .TP
- .B ipcp\-max\-terminate \fIn
- Set the maximum number of IPCP terminate-request transmissions to
- \fIn\fR (default 3).
- .TP
- .B ipcp\-restart \fIn
- Set the IPCP restart interval (retransmission timeout) to \fIn\fR
- seconds (default 3).
- .TP
- .B ipparam \fIstring
- Provides an extra parameter to the ip\-up, ip\-pre\-up and ip\-down
- scripts. If this
- option is given, the \fIstring\fR supplied is given as the 6th
- parameter to those scripts.
- .TP
- .B ipv6cp\-accept\-local
- With this option, pppd will accept the peer's idea of our local IPv6
- interface identifier, even if the local IPv6 interface identifier
- was specified in an option.
- .TP
- .B ipv6cp\-max\-configure \fIn
- Set the maximum number of IPv6CP configure-request transmissions to
- \fIn\fR (default 10).
- .TP
- .B ipv6cp\-max\-failure \fIn
- Set the maximum number of IPv6CP configure-NAKs returned before starting
- to send configure-Rejects instead to \fIn\fR (default 10).
- .TP
- .B ipv6cp\-max\-terminate \fIn
- Set the maximum number of IPv6CP terminate-request transmissions to
- \fIn\fR (default 3).
- .TP
- .B ipv6cp\-restart \fIn
- Set the IPv6CP restart interval (retransmission timeout) to \fIn\fR
- seconds (default 3).
- .TP
- .B ipx
- Enable the IPXCP and IPX protocols. This option is presently only
- supported under Linux, and only if your kernel has been configured to
- include IPX support.
- .TP
- .B ipx\-network \fIn
- Set the IPX network number in the IPXCP configure request frame to
- \fIn\fR, a hexadecimal number (without a leading 0x). There is no
- valid default. If this option is not specified, the network number is
- obtained from the peer. If the peer does not have the network number,
- the IPX protocol will not be started.
- .TP
- .B ipx\-node \fIn\fB:\fIm
- Set the IPX node numbers. The two node numbers are separated from each
- other with a colon character. The first number \fIn\fR is the local
- node number. The second number \fIm\fR is the peer's node number. Each
- node number is a hexadecimal number, at most 10 digits long. The node
- numbers on the ipx\-network must be unique. There is no valid
- default. If this option is not specified then the node numbers are
- obtained from the peer.
- .TP
- .B ipx\-router\-name \fI<string>
- Set the name of the router. This is a string and is sent to the peer
- as information data.
- .TP
- .B ipx\-routing \fIn
- Set the routing protocol to be received by this option. More than one
- instance of \fIipx\-routing\fR may be specified. The '\fInone\fR'
- option (0) may be specified as the only instance of ipx\-routing. The
- values may be \fI0\fR for \fINONE\fR, \fI2\fR for \fIRIP/SAP\fR, and
- \fI4\fR for \fINLSP\fR.
- .TP
- .B ipxcp\-accept\-local
- Accept the peer's NAK for the node number specified in the ipx\-node
- option. If a node number was specified, and non-zero, the default is
- to insist that the value be used. If you include this option then you
- will permit the peer to override the entry of the node number.
- .TP
- .B ipxcp\-accept\-network
- Accept the peer's NAK for the network number specified in the
- ipx\-network option. If a network number was specified, and non-zero, the
- default is to insist that the value be used. If you include this
- option then you will permit the peer to override the entry of the node
- number.
- .TP
- .B ipxcp\-accept\-remote
- Use the peer's network number specified in the configure request
- frame. If a node number was specified for the peer and this option was
- not specified, the peer will be forced to use the value which you have
- specified.
- .TP
- .B ipxcp\-max\-configure \fIn
- Set the maximum number of IPXCP configure request frames which the
- system will send to \fIn\fR. The default is 10.
- .TP
- .B ipxcp\-max\-failure \fIn
- Set the maximum number of IPXCP NAK frames which the local system will
- send before it rejects the options. The default value is 3.
- .TP
- .B ipxcp\-max\-terminate \fIn
- Set the maximum number of IPXCP terminate request frames before the
- local system considers that the peer is not listening to them. The
- default value is 3.
- .TP
- .B kdebug \fIn
- Enable debugging code in the kernel-level PPP driver. The argument
- values depend on the specific kernel driver, but in general a value of
- 1 will enable general kernel debug messages. (Note that these
- messages are usually only useful for debugging the kernel driver
- itself.) For the Linux 2.2.x kernel driver, the value is a sum of
- bits: 1 to
- enable general debug messages, 2 to request that the contents of
- received packets be printed, and 4 to request that the contents of
- transmitted packets be printed. On most systems, messages printed by
- the kernel are logged by syslog(1) to a file as directed in the
- /etc/syslog.conf configuration file.
- .TP
- .B ktune
- Enables pppd to alter kernel settings as appropriate. Under Linux,
- pppd will enable IP forwarding (i.e. set /proc/sys/net/ipv4/ip_forward
- to 1) if the \fIproxyarp\fR option is used, and will enable the
- dynamic IP address option (i.e. set /proc/sys/net/ipv4/ip_dynaddr to
- 1) in demand mode if the local address changes.
- .TP
- .B lcp\-echo\-failure \fIn
- If this option is given, pppd will presume the peer to be dead
- if \fIn\fR LCP echo\-requests are sent without receiving a valid LCP
- echo\-reply. If this happens, pppd will terminate the
- connection. Use of this option requires a non-zero value for the
- \fIlcp\-echo\-interval\fR parameter. This option can be used to enable
- pppd to terminate after the physical connection has been broken
- (e.g., the modem has hung up) in situations where no hardware modem
- control lines are available.
- .TP
- .B lcp\-echo\-interval \fIn
- If this option is given, pppd will send an LCP echo\-request frame to
- the peer every \fIn\fR seconds. Normally the peer should respond to
- the echo\-request by sending an echo\-reply. This option can be used
- with the \fIlcp\-echo\-failure\fR option to detect that the peer is no
- longer connected.
- .TP
- .B lcp\-max\-configure \fIn
- Set the maximum number of LCP configure-request transmissions to
- \fIn\fR (default 10).
- .TP
- .B lcp\-max\-failure \fIn
- Set the maximum number of LCP configure-NAKs returned before starting
- to send configure-Rejects instead to \fIn\fR (default 10).
- .TP
- .B lcp\-max\-terminate \fIn
- Set the maximum number of LCP terminate-request transmissions to
- \fIn\fR (default 3).
- .TP
- .B lcp\-restart \fIn
- Set the LCP restart interval (retransmission timeout) to \fIn\fR
- seconds (default 3).
- .TP
- .B linkname \fIname\fR
- Sets the logical name of the link to \fIname\fR. Pppd will create a
- file named \fBppp\-\fIname\fB.pid\fR in /var/run (or /etc/ppp on some
- systems) containing its process ID. This can be useful in determining
- which instance of pppd is responsible for the link to a given peer
- system. This is a privileged option.
- .TP
- .B local
- Don't use the modem control lines. With this option, pppd will ignore
- the state of the CD (Carrier Detect) signal from the modem and will
- not change the state of the DTR (Data Terminal Ready) signal. This is
- the opposite of the \fBmodem\fR option.
- .TP
- .B logfd \fIn
- Send log messages to file descriptor \fIn\fR. Pppd will send log
- messages to at most one file or file descriptor (as well as sending
- the log messages to syslog), so this option and the \fBlogfile\fR
- option are mutually exclusive. The default is for pppd to send log
- messages to stdout (file descriptor 1), unless the serial port is
- already open on stdout.
- .TP
- .B logfile \fIfilename
- Append log messages to the file \fIfilename\fR (as well as sending the
- log messages to syslog). The file is opened with the privileges of
- the user who invoked pppd, in append mode.
- .TP
- .B login
- Use the system password database for authenticating the peer using
- PAP, and record the user in the system wtmp file. Note that the peer
- must have an entry in the /etc/ppp/pap\-secrets file as well as the
- system password database to be allowed access. See also the
- \fBenable\-session\fR option.
- .TP
- .B master_detach
- If multilink is enabled and this pppd process is the multilink bundle
- master, and the link controlled by this pppd process terminates, this
- pppd process continues to run in order to maintain the bundle. If the
- \fBmaster_detach\fR option has been given, pppd will detach from its
- controlling terminal in this situation, even if the \fBnodetach\fR
- option has been given.
- .TP
- .B maxconnect \fIn
- Terminate the connection when it has been available for network
- traffic for \fIn\fR seconds (i.e. \fIn\fR seconds after the first
- network control protocol comes up).
- .TP
- .B maxfail \fIn
- Terminate after \fIn\fR consecutive failed connection attempts. A
- value of 0 means no limit. The default value is 10.
- .TP
- .B modem
- Use the modem control lines. This option is the default. With this
- option, pppd will wait for the CD (Carrier Detect) signal from the
- modem to be asserted when opening the serial device (unless a connect
- script is specified), and it will drop the DTR (Data Terminal Ready)
- signal briefly when the connection is terminated and before executing
- the connect script. On Ultrix, this option implies hardware flow
- control, as for the \fIcrtscts\fR option. This is the opposite of the
- \fBlocal\fR option.
- .TP
- .B mp
- Enables the use of PPP multilink; this is an alias for the `multilink'
- option. This option is currently only available under Linux.
- .TP
- .B mppe\-stateful
- Allow MPPE to use stateful mode. Stateless mode is still attempted first.
- The default is to disallow stateful mode.
- .TP
- .B mpshortseq
- Enables the use of short (12-bit) sequence numbers in multilink
- headers, as opposed to 24-bit sequence numbers. This option is only
- available under Linux, and only has any effect if multilink is
- enabled (see the multilink option).
- .TP
- .B mrru \fIn
- Sets the Maximum Reconstructed Receive Unit to \fIn\fR. The MRRU is
- the maximum size for a received packet on a multilink bundle, and is
- analogous to the MRU for the individual links. This option is
- currently only available under Linux, and only has any effect if
- multilink is enabled (see the multilink option).
- .TP
- .B ms\-dns \fI<addr>
- If pppd is acting as a server for Microsoft Windows clients, this
- option allows pppd to supply one or two DNS (Domain Name Server)
- addresses to the clients. The first instance of this option specifies
- the primary DNS address; the second instance (if given) specifies the
- secondary DNS address. (This option was present in some older
- versions of pppd under the name \fBdns\-addr\fR.)
- .TP
- .B ms\-wins \fI<addr>
- If pppd is acting as a server for Microsoft Windows or "Samba"
- clients, this option allows pppd to supply one or two WINS (Windows
- Internet Name Services) server addresses to the clients. The first
- instance of this option specifies the primary WINS address; the second
- instance (if given) specifies the secondary WINS address.
- .TP
- .B multilink
- Enables the use of the PPP multilink protocol. If the peer also
- supports multilink, then this link can become part of a bundle between
- the local system and the peer. If there is an existing bundle to the
- peer, pppd will join this link to that bundle, otherwise pppd will
- create a new bundle. See the MULTILINK section below. This option is
- currently only available under Linux.
- .TP
- .B name \fIname
- Set the name of the local system for authentication purposes to
- \fIname\fR. This is a privileged option. With this option, pppd will
- use lines in the secrets files which have \fIname\fR as the second
- field when looking for a secret to use in authenticating the peer. In
- addition, unless overridden with the \fIuser\fR option, \fIname\fR
- will be used as the name to send to the peer when authenticating the
- local system to the peer. (Note that pppd does not append the domain
- name to \fIname\fR.)
- .TP
- .B noaccomp
- Disable Address/Control compression in both directions (send and
- receive).
- .TP
- .B noauth
- Do not require the peer to authenticate itself. This option is
- privileged.
- .TP
- .B nobsdcomp
- Disables BSD-Compress compression; \fBpppd\fR will not request or
- agree to compress packets using the BSD-Compress scheme.
- .TP
- .B noccp
- Disable CCP (Compression Control Protocol) negotiation. This option
- should only be required if the peer is buggy and gets confused by
- requests from pppd for CCP negotiation.
- .TP
- .B nocrtscts
- Disable hardware flow control (i.e. RTS/CTS) on the serial port.
- If neither the \fIcrtscts\fR nor the \fInocrtscts\fR nor the
- \fIcdtrcts\fR nor the \fInocdtrcts\fR option is given, the hardware
- flow control setting for the serial port is left unchanged.
- .TP
- .B nocdtrcts
- This option is a synonym for \fInocrtscts\fR. Either of these options will
- disable both forms of hardware flow control.
- .TP
- .B nodefaultroute
- Disable the \fIdefaultroute\fR option. The system administrator who
- wishes to prevent users from creating default routes with pppd
- can do so by placing this option in the /etc/ppp/options file.
- .TP
- .B nodeflate
- Disables Deflate compression; pppd will not request or agree to
- compress packets using the Deflate scheme.
- .TP
- .B nodetach
- Don't detach from the controlling terminal. Without this option, if a
- serial device other than the terminal on the standard input is
- specified, pppd will fork to become a background process.
- .TP
- .B noendpoint
- Disables pppd from sending an endpoint discriminator to the peer or
- accepting one from the peer (see the MULTILINK section below). This
- option should only be required if the peer is buggy.
- .TP
- .B noip
- Disable IPCP negotiation and IP communication. This option should
- only be required if the peer is buggy and gets confused by requests
- from pppd for IPCP negotiation.
- .TP
- .B noipv6
- Disable IPv6CP negotiation and IPv6 communication. This option should
- only be required if the peer is buggy and gets confused by requests
- from pppd for IPv6CP negotiation.
- .TP
- .B noipdefault
- Disables the default behaviour when no local IP address is specified,
- which is to determine (if possible) the local IP address from the
- hostname. With this option, the peer will have to supply the local IP
- address during IPCP negotiation (unless it specified explicitly on the
- command line or in an options file).
- .TP
- .B noipx
- Disable the IPXCP and IPX protocols. This option should only be
- required if the peer is buggy and gets confused by requests from pppd
- for IPXCP negotiation.
- .TP
- .B noktune
- Opposite of the \fIktune\fR option; disables pppd from changing system
- settings.
- .TP
- .B nolock
- Opposite of the \fIlock\fR option; specifies that pppd should not
- create a UUCP-style lock file for the serial device. This option is
- privileged.
- .TP
- .B nolog
- Do not send log messages to a file or file descriptor. This option
- cancels the \fBlogfd\fR and \fBlogfile\fR options.
- .TP
- .B nomagic
- Disable magic number negotiation. With this option, pppd cannot
- detect a looped-back line. This option should only be needed if the
- peer is buggy.
- .TP
- .B nomp
- Disables the use of PPP multilink. This option is currently only
- available under Linux.
- .TP
- .B nomppe
- Disables MPPE (Microsoft Point to Point Encryption). This is the default.
- .TP
- .B nomppe\-40
- Disable 40-bit encryption with MPPE.
- .TP
- .B nomppe\-128
- Disable 128-bit encryption with MPPE.
- .TP
- .B nomppe\-stateful
- Disable MPPE stateful mode. This is the default.
- .TP
- .B nompshortseq
- Disables the use of short (12-bit) sequence numbers in the PPP
- multilink protocol, forcing the use of 24-bit sequence numbers. This
- option is currently only available under Linux, and only has any
- effect if multilink is enabled.
- .TP
- .B nomultilink
- Disables the use of PPP multilink. This option is currently only
- available under Linux.
- .TP
- .B nopcomp
- Disable protocol field compression negotiation in both the receive and
- the transmit direction.
- .TP
- .B nopersist
- Exit once a connection has been made and terminated. This is the
- default unless the \fIpersist\fR or \fIdemand\fR option has been
- specified.
- .TP
- .B nopredictor1
- Do not accept or agree to Predictor\-1 compression.
- .TP
- .B noproxyarp
- Disable the \fIproxyarp\fR option. The system administrator who
- wishes to prevent users from creating proxy ARP entries with pppd can
- do so by placing this option in the /etc/ppp/options file.
- .TP
- .B noremoteip
- Allow pppd to operate without having an IP address for the peer. This
- option is only available under Linux. Normally, pppd will request the
- peer's IP address, and if the peer does not supply it, pppd will use
- an arbitrary address in the 10.x.x.x subnet.
- With this option, if the peer does
- not supply its IP address, pppd will not ask the peer for it, and will
- not set the destination address of the ppp interface. In this
- situation, the ppp interface can be used for routing by creating
- device routes, but the peer itself cannot be addressed directly for IP
- traffic.
- .TP
- .B notty
- Normally, pppd requires a terminal device. With this option, pppd
- will allocate itself a pseudo-tty master/slave pair and use the slave
- as its terminal device. Pppd will create a child process to act as a
- `character shunt' to transfer characters between the pseudo-tty master
- and its standard input and output. Thus pppd will transmit characters
- on its standard output and receive characters on its standard input
- even if they are not terminal devices. This option increases the
- latency and CPU overhead of transferring data over the ppp interface
- as all of the characters sent and received must flow through the
- character shunt process. An explicit device name may not be given if
- this option is used.
- .TP
- .B novj
- Disable Van Jacobson style TCP/IP header compression in both the
- transmit and the receive direction.
- .TP
- .B novjccomp
- Disable the connection-ID compression option in Van Jacobson style
- TCP/IP header compression. With this option, pppd will not omit the
- connection-ID byte from Van Jacobson compressed TCP/IP headers, nor
- ask the peer to do so.
- .TP
- .B papcrypt
- Indicates that all secrets in the /etc/ppp/pap\-secrets file which are
- used for checking the identity of the peer are encrypted, and thus
- pppd should not accept a password which, before encryption, is
- identical to the secret from the /etc/ppp/pap\-secrets file.
- .TP
- .B pap\-max\-authreq \fIn
- Set the maximum number of PAP authenticate-request transmissions to
- \fIn\fR (default 10).
- .TP
- .B pap\-restart \fIn
- Set the PAP restart interval (retransmission timeout) to \fIn\fR
- seconds (default 3).
- .TP
- .B pap\-timeout \fIn
- Set the maximum time that pppd will wait for the peer to authenticate
- itself with PAP to \fIn\fR seconds (0 means no limit).
- .TP
- .B pass\-filter \fIfilter\-expression
- Specifies a packet filter to applied to data packets being sent or
- received to determine which packets should be allowed to pass.
- Packets which are rejected by the filter are silently discarded. This
- option can be used to prevent specific network daemons (such as
- routed) using up link bandwidth, or to provide a very basic firewall
- capability.
- The \fIfilter\-expression\fR syntax is as described for tcpdump(1),
- except that qualifiers which are inappropriate for a PPP link, such as
- \fBether\fR and \fBarp\fR, are not permitted. Generally the filter
- expression should be enclosed in single-quotes to prevent whitespace
- in the expression from being interpreted by the shell. Note that it
- is possible to apply different constraints to incoming and outgoing
- packets using the \fBinbound\fR and \fBoutbound\fR qualifiers. This
- option is currently only available under Linux, and requires that the
- kernel was configured to include PPP filtering support (CONFIG_PPP_FILTER).
- .TP
- .B password \fIpassword\-string
- Specifies the password to use for authenticating to the peer. Use
- of this option is discouraged, as the password is likely to be visible
- to other users on the system (for example, by using ps(1)).
- .TP
- .B persist
- Do not exit after a connection is terminated; instead try to reopen
- the connection. The \fBmaxfail\fR option still has an effect on
- persistent connections.
- .TP
- .B plugin \fIfilename
- Load the shared library object file \fIfilename\fR as a plugin. This
- is a privileged option. If \fIfilename\fR does not contain a slash
- (/), pppd will look in the \fB/usr/lib/pppd/\fIversion\fR directory
- for the plugin, where
- \fIversion\fR is the version number of pppd (for example, 2.4.2).
- .TP
- .B predictor1
- Request that the peer compress frames that it sends using Predictor-1
- compression, and agree to compress transmitted frames with Predictor-1
- if requested. This option has no effect unless the kernel driver
- supports Predictor-1 compression.
- .TP
- .B privgroup \fIgroup\-name
- Allows members of group \fIgroup\-name\fR to use privileged options.
- This is a privileged option. Use of this option requires care as
- there is no guarantee that members of \fIgroup\-name\fR cannot use pppd
- to become root themselves. Consider it equivalent to putting the
- members of \fIgroup\-name\fR in the kmem or disk group.
- .TP
- .B proxyarp
- Add an entry to this system's ARP [Address Resolution Protocol] table
- with the IP address of the peer and the Ethernet address of this
- system. This will have the effect of making the peer appear to other
- systems to be on the local ethernet.
- .TP
- .B pty \fIscript
- Specifies that the command \fIscript\fR is to be used to communicate
- rather than a specific terminal device. Pppd will allocate itself a
- pseudo-tty master/slave pair and use the slave as its terminal
- device. The \fIscript\fR will be run in a child process with the
- pseudo-tty master as its standard input and output. An explicit
- device name may not be given if this option is used. (Note: if the
- \fIrecord\fR option is used in conjunction with the \fIpty\fR option,
- the child process will have pipes on its standard input and output.)
- .TP
- .B receive\-all
- With this option, pppd will accept all control characters from the
- peer, including those marked in the receive asyncmap. Without this
- option, pppd will discard those characters as specified in RFC1662.
- This option should only be needed if the peer is buggy.
- .TP
- .B record \fIfilename
- Specifies that pppd should record all characters sent and received to
- a file named \fIfilename\fR. This file is opened in append mode,
- using the user's user-ID and permissions. This option is implemented
- using a pseudo-tty and a process to transfer characters between the
- pseudo-tty and the real serial device, so it will increase the latency
- and CPU overhead of transferring data over the ppp interface. The
- characters are stored in a tagged format with timestamps, which can be
- displayed in readable form using the pppdump(8) program.
- .TP
- .B remotename \fIname
- Set the assumed name of the remote system for authentication purposes
- to \fIname\fR.
- .TP
- .B remotenumber \fInumber
- Set the assumed telephone number of the remote system for authentication
- purposes to \fInumber\fR.
- .TP
- .B refuse\-chap
- With this option, pppd will not agree to authenticate itself to the
- peer using CHAP.
- .TP
- .B refuse\-mschap
- With this option, pppd will not agree to authenticate itself to the
- peer using MS\-CHAP.
- .TP
- .B refuse\-mschap\-v2
- With this option, pppd will not agree to authenticate itself to the
- peer using MS\-CHAPv2.
- .TP
- .B refuse\-eap
- With this option, pppd will not agree to authenticate itself to the
- peer using EAP.
- .TP
- .B refuse\-pap
- With this option, pppd will not agree to authenticate itself to the
- peer using PAP.
- .TP
- .B require\-chap
- Require the peer to authenticate itself using CHAP [Challenge
- Handshake Authentication Protocol] authentication.
- .TP
- .B require\-mppe
- Require the use of MPPE (Microsoft Point to Point Encryption). This
- option disables all other compression types. This option enables
- both 40-bit and 128-bit encryption. In order for MPPE to successfully
- come up, you must have authenticated with either MS\-CHAP or MS\-CHAPv2.
- This option is presently only supported under Linux, and only if your
- kernel has been configured to include MPPE support.
- .TP
- .B require\-mppe\-40
- Require the use of MPPE, with 40-bit encryption.
- .TP
- .B require\-mppe\-128
- Require the use of MPPE, with 128-bit encryption.
- .TP
- .B require\-mschap
- Require the peer to authenticate itself using MS\-CHAP [Microsoft Challenge
- Handshake Authentication Protocol] authentication.
- .TP
- .B require\-mschap\-v2
- Require the peer to authenticate itself using MS\-CHAPv2 [Microsoft Challenge
- Handshake Authentication Protocol, Version 2] authentication.
- .TP
- .B require\-eap
- Require the peer to authenticate itself using EAP [Extensible
- Authentication Protocol] authentication.
- .TP
- .B require\-pap
- Require the peer to authenticate itself using PAP [Password
- Authentication Protocol] authentication.
- .TP
- .B set \fIname\fR=\fIvalue
- Set an environment variable for scripts that are invoked by pppd.
- When set by a privileged source, the variable specified by \fIname\fR
- cannot be changed by options contained in an unprivileged source. See
- also the \fIunset\fR option and the environment described in
- \fISCRIPTS\fR.
- .TP
- .B show\-password
- When logging the contents of PAP packets, this option causes pppd to
- show the password string in the log message.
- .TP
- .B silent
- With this option, pppd will not transmit LCP packets to initiate a
- connection until a valid LCP packet is received from the peer (as for
- the `passive' option with ancient versions of pppd).
- .TP
- .B srp\-interval \fIn
- If this parameter is given and pppd uses EAP SRP\-SHA1 to authenticate
- the peer (i.e., is the server), then pppd will use the optional
- lightweight SRP rechallenge mechanism at intervals of \fIn\fR
- seconds. This option is faster than \fBeap\-interval\fR
- reauthentication because it uses a hash\-based mechanism and does not
- derive a new session key.
- .TP
- .B srp\-pn\-secret \fIstring
- Set the long-term pseudonym-generating secret for the server. This
- value is optional and if set, needs to be known at the server
- (authenticator) side only, and should be different for each server (or
- poll of identical servers). It is used along with the current date to
- generate a key to encrypt and decrypt the client's identity contained
- in the pseudonym.
- .TP
- .B srp\-use\-pseudonym
- When operating as an EAP SRP\-SHA1 client, attempt to use the pseudonym
- stored in ~/.ppp_pseudonym first as the identity, and save in this
- file any pseudonym offered by the peer during authentication.
- .TP
- .B sync
- Use synchronous HDLC serial encoding instead of asynchronous.
- The device used by pppd with this option must have sync support.
- Currently supports Microgate SyncLink adapters
- under Linux and FreeBSD 2.2.8 and later.
- .TP
- .B unit \fInum
- Sets the ppp unit number (for a ppp0 or ppp1 etc interface name) for outbound
- connections.
- .TP
- .B unset \fIname
- Remove a variable from the environment variable for scripts that are
- invoked by pppd. When specified by a privileged source, the variable
- \fIname\fR cannot be set by options contained in an unprivileged
- source. See also the \fIset\fR option and the environment described
- in \fISCRIPTS\fR.
- .TP
- .B updetach
- With this option, pppd will detach from its controlling terminal once
- it has successfully established the ppp connection (to the point where
- the first network control protocol, usually the IP control protocol,
- has come up).
- .TP
- .B usehostname
- Enforce the use of the hostname (with domain name appended, if given)
- as the name of the local system for authentication purposes (overrides
- the \fIname\fR option). This option is not normally needed since the
- \fIname\fR option is privileged.
- .TP
- .B usepeerdns
- Ask the peer for up to 2 DNS server addresses. The addresses supplied
- by the peer (if any) are passed to the /etc/ppp/ip\-up script in the
- environment variables DNS1 and DNS2, and the environment variable
- USEPEERDNS will be set to 1. In addition, pppd will create an
- /etc/ppp/resolv.conf file containing one or two nameserver lines with
- the address(es) supplied by the peer.
- .TP
- .B user \fIname
- Sets the name used for authenticating the local system to the peer to
- \fIname\fR.
- .TP
- .B vj\-max\-slots \fIn
- Sets the number of connection slots to be used by the Van Jacobson
- TCP/IP header compression and decompression code to \fIn\fR, which
- must be between 2 and 16 (inclusive).
- .TP
- .B welcome \fIscript
- Run the executable or shell command specified by \fIscript\fR before
- initiating PPP negotiation, after the connect script (if any) has
- completed. A value for this option from a privileged source cannot be
- overridden by a non-privileged user.
- .TP
- .B xonxoff
- Use software flow control (i.e. XON/XOFF) to control the flow of data on
- the serial port.
- .SH OPTIONS FILES
- Options can be taken from files as well as the command line. Pppd
- reads options from the files /etc/ppp/options, ~/.ppprc and
- /etc/ppp/options.\fIttyname\fR (in that order) before processing the
- options on the command line. (In fact, the command-line options are
- scanned to find the terminal name before the options.\fIttyname\fR
- file is read.) In forming the name of the options.\fIttyname\fR file,
- the initial /dev/ is removed from the terminal name, and any remaining
- / characters are replaced with dots.
- .PP
- An options file is parsed into a series of words, delimited by
- whitespace. Whitespace can be included in a word by enclosing the
- word in double-quotes ("). A backslash (\e) quotes the following character.
- A hash (#) starts a comment, which continues until the end of the
- line. There is no restriction on using the \fIfile\fR or \fIcall\fR
- options within an options file.
- .SH SECURITY
- .I pppd
- provides system administrators with sufficient access control that PPP
- access to a server machine can be provided to legitimate users without
- fear of compromising the security of the server or the network it's
- on. This control is provided through restrictions on which IP
- addresses the peer may use, based on its authenticated identity (if
- any), and through restrictions on which options a non-privileged user
- may use. Several of pppd's options are privileged, in particular
- those which permit potentially insecure configurations; these options
- are only accepted in files which are under the control of the system
- administrator, or if pppd is being run by root.
- .PP
- The default behaviour of pppd is to allow an unauthenticated peer to
- use a given IP address only if the system does not already have a
- route to that IP address. For example, a system with a
- permanent connection to the wider internet will normally have a
- default route, and thus all peers will have to authenticate themselves
- in order to set up a connection. On such a system, the \fIauth\fR
- option is the default. On the other hand, a system where the
- PPP link is the only connection to the internet will not normally have
- a default route, so the peer will be able to use almost any IP address
- without authenticating itself.
- .PP
- As indicated above, some security-sensitive options are privileged,
- which means that they may not be used by an ordinary non-privileged
- user running a setuid-root pppd, either on the command line, in the
- user's ~/.ppprc file, or in an options file read using the \fIfile\fR
- option. Privileged options may be used in /etc/ppp/options file or in
- an options file read using the \fIcall\fR option. If pppd is being
- run by the root user, privileged options can be used without
- restriction.
- .PP
- When opening the device, pppd uses either the invoking user's user ID
- or the root UID (that is, 0), depending on whether the device name was
- specified by the user or the system administrator. If the device name
- comes from a privileged source, that is, /etc/ppp/options or an
- options file read using the \fIcall\fR option, pppd uses full root
- privileges when opening the device. Thus, by creating an appropriate
- file under /etc/ppp/peers, the system administrator can allow users to
- establish a ppp connection via a device which they would not normally
- have permission to access. Otherwise pppd uses the invoking user's
- real UID when opening the device.
- .SH AUTHENTICATION
- Authentication is the process whereby one peer convinces the other of
- its identity. This involves the first peer sending its name to the
- other, together with some kind of secret information which could only
- come from the genuine authorized user of that name. In such an
- exchange, we will call the first peer the "client" and the other the
- "server". The client has a name by which it identifies itself to the
- server, and the server also has a name by which it identifies itself
- to the client. Generally the genuine client shares some secret (or
- password) with the server, and authenticates itself by proving that it
- knows that secret. Very often, the names used for authentication
- correspond to the internet hostnames of the peers, but this is not
- essential.
- .LP
- At present, pppd supports three authentication protocols: the Password
- Authentication Protocol (PAP), Challenge Handshake Authentication
- Protocol (CHAP), and Extensible Authentication Protocol (EAP). PAP
- involves the client sending its name and a cleartext password to the
- server to authenticate itself. In contrast, the server initiates the
- CHAP authentication exchange by sending a challenge to the client (the
- challenge packet includes the server's name). The client must respond
- with a response which includes its name plus a hash value derived from
- the shared secret and the challenge, in order to prove that it knows
- the secret. EAP supports CHAP-style authentication, and also includes
- the SRP\-SHA1 mechanism, which is resistant to dictionary-based attacks
- and does not require a cleartext password on the server side.
- .LP
- The PPP protocol, being symmetrical, allows both peers to require the
- other to authenticate itself. In that case, two separate and
- independent authentication exchanges will occur. The two exchanges
- could use different authentication protocols, and in principle,
- different names could be used in the two exchanges.
- .LP
- The default behaviour of pppd is to agree to authenticate if
- requested, and to not require authentication from the peer. However,
- pppd will not agree to authenticate itself with a particular protocol
- if it has no secrets which could be used to do so.
- .LP
- Pppd stores secrets for use in authentication in secrets
- files (/etc/ppp/pap\-secrets for PAP, /etc/ppp/chap\-secrets for CHAP,
- MS\-CHAP, MS\-CHAPv2, and EAP MD5-Challenge, and /etc/ppp/srp\-secrets
- for EAP SRP\-SHA1).
- All secrets files have the same format. The secrets files can
- contain secrets for pppd to use in authenticating itself to other
- systems, as well as secrets for pppd to use when authenticating other
- systems to itself.
- .LP
- Each line in a secrets file contains one secret. A given secret is
- specific to a particular combination of client and server - it can
- only be used by that client to authenticate itself to that server.
- Thus each line in a secrets file has at least 3 fields: the name of
- the client, the name of the server, and the secret. These fields may
- be followed by a list of the IP addresses that the specified client
- may use when connecting to the specified server.
- .LP
- A secrets file is parsed into words as for a options file, so the
- client name, server name and secrets fields must each be one word,
- with any embedded spaces or other special characters quoted or
- escaped. Note that case is significant in the client and server names
- and in the secret.
- .LP
- If the secret starts with an `@', what follows is assumed to be the
- name of a file from which to read the secret. A "*" as the client or
- server name matches any name. When selecting a secret, pppd takes the
- best match, i.e. the match with the fewest wildcards.
- .LP
- Any following words on the same line are taken to be a list of
- acceptable IP addresses for that client. If there are only 3 words on
- the line, or if the first word is "\-", then all IP addresses are
- disallowed. To allow any address, use "*". A word starting with "!"
- indicates that the specified address is \fInot\fR acceptable. An
- address may be followed by "/" and a number \fIn\fR, to indicate a
- whole subnet, i.e. all addresses which have the same value in the most
- significant \fIn\fR bits. In this form, the address may be followed
- by a plus sign ("+") to indicate that one address from the subnet is
- authorized, based on the ppp network interface unit number in use.
- In this case, the host part of the address will be set to the unit
- number plus one.
- .LP
- Thus a secrets file contains both secrets for use in authenticating
- other hosts, plus secrets which we use for authenticating ourselves to
- others. When pppd is authenticating the peer (checking the peer's
- identity), it chooses a secret with the peer's name in the first
- field and the name of the local system in the second field. The
- name of the local system defaults to the hostname, with the domain
- name appended if the \fIdomain\fR option is used. This default can be
- overridden with the \fIname\fR option, except when the
- \fIusehostname\fR option is used. (For EAP SRP\-SHA1, see the
- srp\-entry(8) utility for generating proper validator entries to be
- used in the "secret" field.)
- .LP
- When pppd is choosing a secret to use in authenticating itself to the
- peer, it first determines what name it is going to use to identify
- itself to the peer. This name can be specified by the user with the
- \fIuser\fR option. If this option is not used, the name defaults to
- the name of the local system, determined as described in the previous
- paragraph. Then pppd looks for a secret with this name in the first
- field and the peer's name in the second field. Pppd will know the
- name of the peer if CHAP or EAP authentication is being used, because
- the peer will have sent it in the challenge packet. However, if PAP
- is being used, pppd will have to determine the peer's name from the
- options specified by the user. The user can specify the peer's name
- directly with the \fIremotename\fR option. Otherwise, if the remote
- IP address was specified by a name (rather than in numeric form), that
- name will be used as the peer's name. Failing that, pppd will use the
- null string as the peer's name.
- .LP
- When authenticating the peer with PAP, the supplied password is first
- compared with the secret from the secrets file. If the password
- doesn't match the secret, the password is encrypted using crypt() and
- checked against the secret again. Thus secrets for authenticating the
- peer can be stored in encrypted form if desired. If the
- \fIpapcrypt\fR option is given, the first (unencrypted) comparison is
- omitted, for better security.
- .LP
- Furthermore, if the \fIlogin\fR option was specified, the username and
- password are also checked against the system password database. Thus,
- the system administrator can set up the pap\-secrets file to allow PPP
- access only to certain users, and to restrict the set of IP addresses
- that each user can use. Typically, when using the \fIlogin\fR option,
- the secret in /etc/ppp/pap\-secrets would be "", which will match any
- password supplied by the peer. This avoids the need to have the same
- secret in two places.
- .LP
- Authentication must be satisfactorily completed before IPCP (or any
- other Network Control Protocol) can be started. If the peer is
- required to authenticate itself, and fails to do so, pppd will
- terminated the link (by closing LCP). If IPCP negotiates an
- unacceptable IP address for the remote host, IPCP will be closed. IP
- packets can only be sent or received when IPCP is open.
- .LP
- In some cases it is desirable to allow some hosts which can't
- authenticate themselves to connect and use one of a restricted set of
- IP addresses, even when the local host generally requires
- authentication. If the peer refuses to authenticate itself when
- requested, pppd takes that as equivalent to authenticating with PAP
- using the empty string for the username and password. Thus, by adding
- a line to the pap\-secrets file which specifies the empty string for
- the client and password, it is possible to allow restricted access to
- hosts which refuse to authenticate themselves.
- .SH ROUTING
- .LP
- When IPCP negotiation is completed successfully, pppd will inform the
- kernel of the local and remote IP addresses for the ppp interface.
- This is sufficient to create a host route to the remote end of the
- link, which will enable the peers to exchange IP packets.
- Communication with other machines generally requires further
- modification to routing tables and/or ARP (Address Resolution
- Protocol) tables. In most cases the \fIdefaultroute\fR and/or
- \fIproxyarp\fR options are sufficient for this, but in some cases
- further intervention is required. The /etc/ppp/ip\-up script can be
- used for this.
- .LP
- Sometimes it is desirable to add a default route through the remote
- host, as in the case of a machine whose only connection to the
- Internet is through the ppp interface. The \fIdefaultroute\fR option
- causes pppd to create such a default route when IPCP comes up, and
- delete it when the link is terminated.
- .LP
- In some cases it is desirable to use proxy ARP, for example on a
- server machine connected to a LAN, in order to allow other hosts to
- communicate with the remote host. The \fIproxyarp\fR option causes
- pppd to look for a network interface on the same subnet as the remote
- host (an interface supporting broadcast and ARP, which is up and not a
- point-to-point or loopback interface). If found, pppd creates a
- permanent, published ARP entry with the IP address of the remote host
- and the hardware address of the network interface found.
- .LP
- When the \fIdemand\fR option is used, the interface IP addresses have
- already been set at the point when IPCP comes up. If pppd has not
- been able to negotiate the same addresses that it used to configure
- the interface (for example when the peer is an ISP that uses dynamic
- IP address assignment), pppd has to change the interface IP addresses
- to the negotiated addresses. This may disrupt existing connections,
- and the use of demand dialling with peers that do dynamic IP address
- assignment is not recommended.
- .SH MULTILINK
- Multilink PPP provides the capability to combine two or more PPP links
- between a pair of machines into a single `bundle', which appears as a
- single virtual PPP link which has the combined bandwidth of the
- individual links. Currently, multilink PPP is only supported under
- Linux.
- .LP
- Pppd detects that the link it is controlling is connected to the same
- peer as another link using the peer's endpoint discriminator and the
- authenticated identity of the peer (if it authenticates itself). The
- endpoint discriminator is a block of data which is hopefully unique
- for each peer. Several types of data can be used, including
- locally-assigned strings of bytes, IP addresses, MAC addresses,
- randomly strings of bytes, or E\-164 phone numbers. The endpoint
- discriminator sent to the peer by pppd can be set using the endpoint
- option.
- .LP
- In some circumstances the peer may send no endpoint discriminator or a
- non-unique value. The bundle option adds an extra string which is
- added to the peer's endpoint discriminator and authenticated identity
- when matching up links to be joined together in a bundle. The bundle
- option can also be used to allow the establishment of multiple bundles
- between the local system and the peer. Pppd uses a TDB database in
- /var/run/pppd2.tdb to match up links.
- .LP
- Assuming that multilink is enabled and the peer is willing to
- negotiate multilink, then when pppd is invoked to bring up the first
- link to the peer, it will detect that no other link is connected to
- the peer and create a new bundle, that is, another ppp network
- interface unit. When another pppd is invoked to bring up another link
- to the peer, it will detect the existing bundle and join its link to
- it.
- .LP
- If the first link terminates (for example, because of a hangup or a
- received LCP terminate-request) the bundle is not destroyed unless
- there are no other links remaining in the bundle. Rather than
- exiting, the first pppd keeps running after its link terminates, until
- all the links in the bundle have terminated. If the first pppd
- receives a SIGTERM or SIGINT signal, it will destroy the bundle and
- send a SIGHUP to the pppd processes for each of the links in the
- bundle. If the first pppd receives a SIGHUP signal, it will terminate
- its link but not the bundle.
- .LP
- Note: demand mode is not currently supported with multilink.
- .SH EXAMPLES
- .LP
- The following examples assume that the /etc/ppp/options file contains
- the \fIauth\fR option (as in the default /etc/ppp/options file in the
- ppp distribution).
- .LP
- Probably the most common use of pppd is to dial out to an ISP. This
- can be done with a command such as
- .IP
- pppd call isp
- .LP
- where the /etc/ppp/peers/isp file is set up by the system
- administrator to contain something like this:
- .IP
- ttyS0 19200 crtscts
- .br
- connect '/usr/sbin/chat \-v \-f /etc/ppp/chat\-isp'
- .br
- noauth
- .LP
- In this example, we are using chat to dial the ISP's modem and go
- through any logon sequence required. The /etc/ppp/chat\-isp file
- contains the script used by chat; it could for example contain
- something like this:
- .IP
- ABORT "NO CARRIER"
- .br
- ABORT "NO DIALTONE"
- .br
- ABORT "ERROR"
- .br
- ABORT "NO ANSWER"
- .br
- ABORT "BUSY"
- .br
- ABORT "Username/Password Incorrect"
- .br
- "" "at"
- .br
- OK "at&d0&c1"
- .br
- OK "atdt2468135"
- .br
- "name:" "^Umyuserid"
- .br
- "word:" "\eqmypassword"
- .br
- "ispts" "\eq^Uppp"
- .br
- "~\-^Uppp\-~"
- .LP
- See the chat(8) man page for details of chat scripts.
- .LP
- Pppd can also be used to provide a dial-in ppp service for users. If
- the users already have login accounts, the simplest way to set up the
- ppp service is to let the users log in to their accounts and run pppd
- (installed setuid-root) with a command such as
- .IP
- pppd proxyarp
- .LP
- To allow a user to use the PPP facilities, you need to allocate an IP
- address for that user's machine and create an entry in
- /etc/ppp/pap\-secrets, /etc/ppp/chap\-secrets, or /etc/ppp/srp\-secrets
- (depending on which authentication method the PPP implementation on
- the user's machine supports), so that the user's machine can
- authenticate itself. For example, if Joe has a machine called
- "joespc" that is to be allowed to dial in to the machine called
- "server" and use the IP address joespc.my.net, you would add an entry
- like this to /etc/ppp/pap\-secrets or /etc/ppp/chap\-secrets:
- .IP
- joespc server "joe's secret" joespc.my.net
- .LP
- (See srp\-entry(8) for a means to generate the server's entry when
- SRP\-SHA1 is in use.)
- Alternatively, you can create a username called (for example) "ppp",
- whose login shell is pppd and whose home directory is /etc/ppp.
- Options to be used when pppd is run this way can be put in
- /etc/ppp/.ppprc.
- .LP
- If your serial connection is any more complicated than a piece of
- wire, you may need to arrange for some control characters to be
- escaped. In particular, it is often useful to escape XON (^Q) and
- XOFF (^S), using \fIasyncmap a0000\fR. If the path includes a telnet,
- you probably should escape ^] as well (\fIasyncmap 200a0000\fR). If
- the path includes an rlogin, you will need to use the \fIescape ff\fR
- option on the end which is running the rlogin client, since many
- rlogin implementations are not transparent; they will remove the
- sequence [0xff, 0xff, 0x73, 0x73, followed by any 8 bytes] from the
- stream.
- .SH DIAGNOSTICS
- .LP
- Messages are sent to the syslog daemon using facility LOG_DAEMON.
- (This can be overridden by recompiling pppd with the macro
- LOG_PPP defined as the desired facility.) See the syslog(8)
- documentation for details of where the syslog daemon will write the
- messages. On most systems, the syslog daemon uses the
- /etc/syslog.conf file to specify the destination(s) for syslog
- messages. You may need to edit that file to suit.
- .LP
- The \fIdebug\fR option causes the contents of all control packets sent
- or received to be logged, that is, all LCP, PAP, CHAP, EAP, or IPCP packets.
- This can be useful if the PPP negotiation does not succeed or if
- authentication fails.
- If debugging is enabled at compile time, the \fIdebug\fR option also
- causes other debugging messages to be logged.
- .LP
- Debugging can also be enabled or disabled by sending a SIGUSR1 signal
- to the pppd process. This signal acts as a toggle.
- .SH EXIT STATUS
- The exit status of pppd is set to indicate whether any error was
- detected, or the reason for the link being terminated. The values
- used are:
- .TP
- .B 0
- Pppd has detached, or otherwise the connection was successfully
- established and terminated at the peer's request.
- .TP
- .B 1
- An immediately fatal error of some kind occurred, such as an essential
- system call failing, or running out of virtual memory.
- .TP
- .B 2
- An error was detected in processing the options given, such as two
- mutually exclusive options being used.
- .TP
- .B 3
- Pppd is not setuid-root and the invoking user is not root.
- .TP
- .B 4
- The kernel does not support PPP, for example, the PPP kernel driver is
- not included or cannot be loaded.
- .TP
- .B 5
- Pppd terminated because it was sent a SIGINT, SIGTERM or SIGHUP
- signal.
- .TP
- .B 6
- The serial port could not be locked.
- .TP
- .B 7
- The serial port could not be opened.
- .TP
- .B 8
- The connect script failed (returned a non-zero exit status).
- .TP
- .B 9
- The command specified as the argument to the \fIpty\fR option could
- not be run.
- .TP
- .B 10
- The PPP negotiation failed, that is, it didn't reach the point where
- at least one network protocol (e.g. IP) was running.
- .TP
- .B 11
- The peer system failed (or refused) to authenticate itself.
- .TP
- .B 12
- The link was established successfully and terminated because it was
- idle.
- .TP
- .B 13
- The link was established successfully and terminated because the
- connect time limit was reached.
- .TP
- .B 14
- Callback was negotiated and an incoming call should arrive shortly.
- .TP
- .B 15
- The link was terminated because the peer is not responding to echo
- requests.
- .TP
- .B 16
- The link was terminated by the modem hanging up.
- .TP
- .B 17
- The PPP negotiation failed because serial loopback was detected.
- .TP
- .B 18
- The init script failed (returned a non-zero exit status).
- .TP
- .B 19
- We failed to authenticate ourselves to the peer.
- .SH SCRIPTS
- Pppd invokes scripts at various stages in its processing which can be
- used to perform site-specific ancillary processing. These scripts are
- usually shell scripts, but could be executable code files instead.
- Pppd does not wait for the scripts to finish (except for the ip-pre-up
- script). The scripts are
- executed as root (with the real and effective user-id set to 0), so
- that they can do things such as update routing tables or run
- privileged daemons. Be careful that the contents of these scripts do
- not compromise your system's security. Pppd runs the scripts with
- standard input, output and error redirected to /dev/null, and with an
- environment that is empty except for some environment variables that
- give information about the link. The environment variables that pppd
- sets are:
- .TP
- .B DEVICE
- The name of the serial tty device being used.
- .TP
- .B IFNAME
- The name of the network interface being used.
- .TP
- .B IPLOCAL
- The IP address for the local end of the link. This is only set when
- IPCP has come up.
- .TP
- .B IPREMOTE
- The IP address for the remote end of the link. This is only set when
- IPCP has come up.
- .TP
- .B PEERNAME
- The authenticated name of the peer. This is only set if the peer
- authenticates itself.
- .TP
- .B SPEED
- The baud rate of the tty device.
- .TP
- .B ORIG_UID
- The real user-id of the user who invoked pppd.
- .TP
- .B PPPLOGNAME
- The username of the real user-id that invoked pppd. This is always set.
- .P
- For the ip-down and auth-down scripts, pppd also sets the following
- variables giving statistics for the connection:
- .TP
- .B CONNECT_TIME
- The number of seconds from when the PPP negotiation started until the
- connection was terminated.
- .TP
- .B BYTES_SENT
- The number of bytes sent (at the level of the serial port) during the
- connection.
- .TP
- .B BYTES_RCVD
- The number of bytes received (at the level of the serial port) during
- the connection.
- .TP
- .B LINKNAME
- The logical name of the link, set with the \fIlinkname\fR option.
- .TP
- .B DNS1
- If the peer supplies DNS server addresses, this variable is set to the
- first DNS server address supplied (whether or not the usepeerdns
- option was given).
- .TP
- .B DNS2
- If the peer supplies DNS server addresses, this variable is set to the
- second DNS server address supplied (whether or not the usepeerdns
- option was given).
- .P
- Pppd invokes the following scripts, if they exist. It is not an error
- if they don't exist.
- .TP
- .B /etc/ppp/auth\-up
- A program or script which is executed after the remote system
- successfully authenticates itself. It is executed with the parameters
- .IP
- \fIinterface\-name peer\-name user\-name tty\-device speed\fR
- .IP
- Note that this script is not executed if the peer doesn't authenticate
- itself, for example when the \fInoauth\fR option is used.
- .TP
- .B /etc/ppp/auth\-down
- A program or script which is executed when the link goes down, if
- /etc/ppp/auth\-up was previously executed. It is executed in the same
- manner with the same parameters as /etc/ppp/auth\-up.
- .TP
- .B /etc/ppp/ip\-pre\-up
- A program or script which is executed just before the ppp network
- interface is brought up. It is executed with the same parameters as
- the ip\-up script (below). At this point the interface exists and has
- IP addresses assigned but is still down. This can be used to
- add firewall rules before any IP traffic can pass through the
- interface. Pppd will wait for this script to finish before bringing
- the interface up, so this script should run quickly.
- .TP
- .B /etc/ppp/ip\-up
- A program or script which is executed when the link is available for
- sending and receiving IP packets (that is, IPCP has come up). It is
- executed with the parameters
- .IP
- \fIinterface\-name tty\-device speed local\-IP\-address
- remote\-IP\-address ipparam\fR
- .TP
- .B /etc/ppp/ip\-down
- A program or script which is executed when the link is no longer
- available for sending and receiving IP packets. This script can be
- used for undoing the effects of the /etc/ppp/ip\-up and
- /etc/ppp/ip\-pre\-up scripts. It is
- invoked in the same manner and with the same parameters as the ip\-up
- script.
- .TP
- .B /etc/ppp/ipv6\-up
- Like /etc/ppp/ip\-up, except that it is executed when the link is available
- for sending and receiving IPv6 packets. It is executed with the parameters
- .IP
- \fIinterface\-name tty\-device speed local\-link\-local\-address
- remote\-link\-local\-address ipparam\fR
- .TP
- .B /etc/ppp/ipv6\-down
- Similar to /etc/ppp/ip\-down, but it is executed when IPv6 packets can no
- longer be transmitted on the link. It is executed with the same parameters
- as the ipv6\-up script.
- .TP
- .B /etc/ppp/ipx\-up
- A program or script which is executed when the link is available for
- sending and receiving IPX packets (that is, IPXCP has come up). It is
- executed with the parameters
- .IP
- \fIinterface\-name tty\-device speed network\-number local\-IPX\-node\-address
- remote\-IPX\-node\-address local\-IPX\-routing\-protocol remote\-IPX\-routing\-protocol
- local\-IPX\-router\-name remote\-IPX\-router\-name ipparam pppd\-pid\fR
- .IP
- The local\-IPX\-routing\-protocol and remote\-IPX\-routing\-protocol field
- may be one of the following:
- .IP
- NONE to indicate that there is no routing protocol
- .br
- RIP to indicate that RIP/SAP should be used
- .br
- NLSP to indicate that Novell NLSP should be used
- .br
- RIP NLSP to indicate that both RIP/SAP and NLSP should be used
- .TP
- .B /etc/ppp/ipx\-down
- A program or script which is executed when the link is no longer
- available for sending and receiving IPX packets. This script can be
- used for undoing the effects of the /etc/ppp/ipx\-up script. It is
- invoked in the same manner and with the same parameters as the ipx\-up
- script.
- .SH FILES
- .TP
- .B /var/run/ppp\fIn\fB.pid \fR(BSD or Linux), \fB/etc/ppp/ppp\fIn\fB.pid \fR(others)
- Process-ID for pppd process on ppp interface unit \fIn\fR.
- .TP
- .B /var/run/ppp\-\fIname\fB.pid \fR(BSD or Linux),
- \fB/etc/ppp/ppp\-\fIname\fB.pid \fR(others)
- Process-ID for pppd process for logical link \fIname\fR (see the
- \fIlinkname\fR option).
- .TP
- .B /var/run/pppd2.tdb
- Database containing information about pppd processes, interfaces and
- links, used for matching links to bundles in multilink operation. May
- be examined by external programs to obtain information about running
- pppd instances, the interfaces and devices they are using, IP address
- assignments, etc.
- .B /etc/ppp/pap\-secrets
- Usernames, passwords and IP addresses for PAP authentication. This
- file should be owned by root and not readable or writable by any other
- user. Pppd will log a warning if this is not the case.
- .TP
- .B /etc/ppp/chap\-secrets
- Names, secrets and IP addresses for CHAP/MS\-CHAP/MS\-CHAPv2 authentication.
- As for /etc/ppp/pap\-secrets, this file should be owned by root and not
- readable or writable by any other user. Pppd will log a warning if
- this is not the case.
- .TP
- .B /etc/ppp/srp\-secrets
- Names, secrets, and IP addresses for EAP authentication. As for
- /etc/ppp/pap\-secrets, this file should be owned by root and not
- readable or writable by any other user. Pppd will log a warning if
- this is not the case.
- .TP
- .B ~/.ppp_pseudonym
- Saved client-side SRP\-SHA1 pseudonym. See the \fIsrp\-use\-pseudonym\fR
- option for details.
- .TP
- .B /etc/ppp/options
- System default options for pppd, read before user default options or
- command-line options.
- .TP
- .B ~/.ppprc
- User default options, read before /etc/ppp/options.\fIttyname\fR.
- .TP
- .B /etc/ppp/options.\fIttyname
- System default options for the serial port being used, read after
- ~/.ppprc. In forming the \fIttyname\fR part of this
- filename, an initial /dev/ is stripped from the port name (if
- present), and any slashes in the remaining part are converted to
- dots.
- .TP
- .B /etc/ppp/peers
- A directory containing options files which may contain privileged
- options, even if pppd was invoked by a user other than root. The
- system administrator can create options files in this directory to
- permit non-privileged users to dial out without requiring the peer to
- authenticate, but only to certain trusted peers.
- .SH SEE ALSO
- .BR chat (8),
- .BR pppstats (8)
- .TP
- .B RFC1144
- Jacobson, V.
- \fICompressing TCP/IP headers for low-speed serial links.\fR
- February 1990.
- .TP
- .B RFC1321
- Rivest, R.
- .I The MD5 Message-Digest Algorithm.
- April 1992.
- .TP
- .B RFC1332
- McGregor, G.
- .I PPP Internet Protocol Control Protocol (IPCP).
- May 1992.
- .TP
- .B RFC1334
- Lloyd, B.; Simpson, W.A.
- .I PPP authentication protocols.
- October 1992.
- .TP
- .B RFC1661
- Simpson, W.A.
- .I The Point-to-Point Protocol (PPP).
- July 1994.
- .TP
- .B RFC1662
- Simpson, W.A.
- .I PPP in HDLC-like Framing.
- July 1994.
- .TP
- .B RFC2284
- Blunk, L.; Vollbrecht, J.,
- .I PPP Extensible Authentication Protocol (EAP).
- March 1998.
- .TP
- .B RFC2472
- Haskin, D.
- .I IP Version 6 over PPP
- December 1998.
- .TP
- .B RFC2945
- Wu, T.,
- .I The SRP Authentication and Key Exchange System
- September 2000.
- .TP
- .B draft\-ietf\-pppext\-eap\-srp\-03.txt
- Carlson, J.; et al.,
- .I EAP SRP\-SHA1 Authentication Protocol.
- July 2001.
- .SH NOTES
- Some limited degree of control can be exercised over a running pppd
- process by sending it a signal from the list below.
- .TP
- .B SIGINT, SIGTERM
- These signals cause pppd to terminate the link (by closing LCP),
- restore the serial device settings, and exit. If a connector or
- disconnector process is currently running, pppd will send the same
- signal to its process group, so as to terminate the connector or
- disconnector process.
- .TP
- .B SIGHUP
- This signal causes pppd to terminate the link, restore the serial
- device settings, and close the serial device. If the \fIpersist\fR or
- \fIdemand\fR option has been specified, pppd will try to reopen the
- serial device and start another connection (after the holdoff period).
- Otherwise pppd will exit. If this signal is received during the
- holdoff period, it causes pppd to end the holdoff period immediately.
- If a connector or disconnector process is running, pppd will send the
- same signal to its process group.
- .TP
- .B SIGUSR1
- This signal toggles the state of the \fIdebug\fR option.
- .TP
- .B SIGUSR2
- This signal causes pppd to renegotiate compression. This can be
- useful to re-enable compression after it has been disabled as a result
- of a fatal decompression error. (Fatal decompression errors generally
- indicate a bug in one or other implementation.)
- .SH AUTHORS
- Paul Mackerras (paulus@samba.org), based on earlier work by
- Drew Perkins,
- Brad Clements,
- Karl Fox,
- Greg Christy,
- and
- Brad Parker.
- .SH COPYRIGHT
- Pppd is copyrighted and made available under conditions which provide
- that it may be copied and used in source or binary forms provided that
- the conditions listed below are met. Portions of pppd are covered by
- the following copyright notices:
- .LP
- Copyright (c) 1984-2000 Carnegie Mellon University. All rights
- reserved.
- .br
- Copyright (c) 1993-2004 Paul Mackerras. All rights reserved.
- .br
- Copyright (c) 1995 Pedro Roque Marques. All rights reserved.
- .br
- Copyright (c) 1995 Eric Rosenquist. All rights reserved.
- .br
- Copyright (c) 1999 Tommi Komulainen. All rights reserved.
- .br
- Copyright (C) Andrew Tridgell 1999
- .br
- Copyright (c) 2000 by Sun Microsystems, Inc. All rights reserved.
- .br
- Copyright (c) 2001 by Sun Microsystems, Inc. All rights reserved.
- .br
- Copyright (c) 2002 Google, Inc. All rights reserved.
- .LP
- The copyright notices contain the following statements.
- .LP
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- .LP
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- .LP
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
- .LP
- 3. The name "Carnegie Mellon University" must not be used to
- endorse or promote products derived from this software without
- prior written permission. For permission or any legal
- details, please contact
- .br
- Office of Technology Transfer
- .br
- Carnegie Mellon University
- .br
- 5000 Forbes Avenue
- .br
- Pittsburgh, PA 15213-3890
- .br
- (412) 268-4387, fax: (412) 268-7395
- .br
- tech-transfer@andrew.cmu.edu
- .LP
- 3b. The name(s) of the authors of this software must not be used to
- endorse or promote products derived from this software without
- prior written permission.
- .LP
- 4. Redistributions of any form whatsoever must retain the following
- acknowledgements:
- .br
- "This product includes software developed by Computing Services
- at Carnegie Mellon University (http://www.cmu.edu/computing/)."
- .br
- "This product includes software developed by Paul Mackerras
- <paulus@samba.org>".
- .br
- "This product includes software developed by Pedro Roque Marques
- <pedro_m@yahoo.com>".
- .br
- "This product includes software developed by Tommi Komulainen
- <Tommi.Komulainen@iki.fi>".
- .LP
- CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
- THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
- FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- .LP
- THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
- THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
- SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|