DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

ppphosts(SFF)


ppphosts -- point-to-point link endpoint configuration file

Format

Automatic dialup (outgoing):
local_addr:remote_addr [ uucp=name ] [ parameter ... ]

Manual dialup (outgoing):
local_addr:remote_addr attach=name [ uucp=system ] [ parameter ... ]

Remote access (incoming):
*name [ remote=remote_addr [ local=local_addr ] ] [ parameter ... ]

Dedicated serial (incoming or outgoing):
local_addr:remote_addr staticdev=device [ speed=number ] [ parameters ... ]

Description

The /etc/ppphosts file contains the information about PPP endpoints that the PPP daemon (see pppd(ADMN)) requires to configure PPP links. There are four types of PPP link endpoint: automatic dialup (outgoing), manual dialup (outgoing), remote access (incoming), and dedicated serial (incoming or outgoing). The configuration data required depends on the type of endpoint.

The data items in each entry should be separated by a space or a single tab. A ``#'' indicates the beginning of a comment; subsequent characters in an entry are ignored. An entry can be extended over more than one line by making a ``\'' the last character of all lines of the entry but the last line. An entry can contain up to 2048 characters.

Parameters not shown in the ``Format'' section are optional for all entries, have default values or status, and can be omitted if the default value is acceptable.

For an automatic or manual dialup endpoint, remote_addr:local_addr can be host names or IP addresses. If a hostname is specified, it must be resolvable to an IP address without using the PPP link being built with the entry.

For a remote access endpoint, name must be a valid login name. It is prepended with ``*''.

The following sets of parameters are provided:

Authentication parameters


auth=prot
Perform link authentication. If prot is set to pap, require the peer to use PAP authentication. If prot is set to chap, require the peer to use CHAP authentication. If prot is set to mschap, require the peer to use MSCHAP authentication. By default, no authentication is performed.

authtmout=timeout
Set the time that PPP waits for the peer to authenticate itself to timeout minutes. The default value is 1 minute.

name=hostid
Use the entry whose ``name'' field value is hostid when looking up a local host ID in /etc/pppauth during PAP or CHAP negotiation, If no host ID is specified, the /etc/pppauth entry that begins with ``*'' is used.

Communication parameters


attach=name
Defines a name that can be used with the pppattach command to initiate establishment of a link. This parameter is valid only for manual dialup endpoints. It must appear on the same line as the remote_addr:local_addr details.

bypassframing
Disable on-card framing for an individual link and use in-kernel framing instead. By default, the PPP driver will try to configure on-card framing.

debug=num
Set the amount of debugging information about this link that is logged to syslog(SLIB). If num is 0 (default), no information is logged. If num is 1, information on the following is logged: Link Control Protocol, IP Network Control Protocol, and PAP and CHAP negotiation. If num is 2, PPP negotiation information and all PPP packets are logged in hexadecimal format.

filter=tag
Use the packet filter from /etc/pppfilter identified by tag if packet filtering is required on a link. See packetfilter(SFF).

flow=control
Select the type of flow control to use on a link. If control is set to rtscts, use hardware flow control. If control is set to xonxoff, use software flow control. No flow control is used by default.

old
Remote side uses SCO TCP/IP Release 1.2.0. By default, it is assumed that the remote side does not use SCO TCP/IP Release 1.2.0.

proxy
Have the PPP daemon insert a proxy ARP entry for this link's local and remote IP addresses into the local host's ARP table. The default is not to insert a proxy ARP entry.

speed=number
Set the serial line speed to number bits-per-second (bps). This parameter is valid for dedicated serial links only. Allowed values for number are: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 2400, 4800, 9600 (default), 19200, 38400, 57600, 76800, 115200, 230400, 460800, and 921600.

staticdev=device
Configure the endpoint for a dedicated serial link to use the device named device. This parameter is required for dedicated serial links. It must appear on the same line as the remote_addr:local_addr details.

uucp=system
Use UUCP to connect to the remote host identified by a system name corresponding to an entry in the /usr/lib/uucp/Systems file. This parameter is valid for links from automatic and manual dialup endpoints only. The system name is set to the value of remote_addr if a uucp is not specified.

IP parameters


dns=addr [ dns=addr ]
Enable the PPP service to provide Domain Name Service (DNS) server addresses to clients. Addresses are provided only for incoming links and only if the client requests. addr must be an IP address, and can be specified for primary and secondary servers. If only one address is specified, it serves as both primary and secondary server.

forcefarip
If a remote IP address is configured, several attempts are made to negotiate this address. If these fail, IPCP negotiation will fail and the link will be torn down. If no remote address is configured, this parameter has no effect and the remote host can provide the remote IP address.

This option provides the remote IP address negotiation behavior that was used in previous releases.


forcenearip
If a local IP address is configured, several attempts are made to negotiate this address. If these fail, IPCP negotiation will fail and the link will be torn down. If no local address is configured, this parameter has no effect and the remote host can provide the local IP address.

This option provides the remote IP address negotiation behavior that was used in previous releases.


getdns
Request that the remote host provide addresses for DNS servers. This parameter is valid only for clients.

getfarip
Request that the remote host provide the remote IP address, overriding any locally configured value. If, after two requests, the remote will not provide a remote IP address, an existing locally configured remote address will be negotiated.

getnearip
Request that the remote host provide the local IP address, overriding any locally configured value. If, after two requests, the remote will not provide a local IP address, an existing locally configured local address will be negotiated.

mask=netmask
Set the subnet mask of the interface to netmask. If not specified, the default value is ``255.255.255.0''.

maxslot=slot
Set the number of Van Jacobson header compression slots. The value of slot must be from 3 to 16. The default value is 16.

noipaddr
Do not initiate IP address negotiation with the remote host. IP address negotiation can still occur if the remote host initiates it.

If this parameter is specified for an endpoint for remote access, the remote=remote_addr and local=local_addr parameters must also be specified.

By default, RFC 1332 IP address negotiation is initiated unless the rfc1172addr parameter is specified.


noslotcomp
Disable compression of slot IDs for Van Jacobson TCP/IP header compression. The default is to use VJ header compression.

novj
Do not initiate VJ TCP/IP header compression negotiation. By default, VJ TCP/IP header compression negotiation is initiated.

providefarip
Use IPCP negotiation with the remote host to request that it uses the configured remote IP address. If the remote host refuses this request or if no remote address is configured, the remote host can provide a remote address. If neither end of the link can provide the remote address, IPCP negotiation will fail and the link will be torn down.

providefarip is the default behavior for negotiating a remote IP address. If more than one of the parameters forcefarip, getfarip, or providefarip is specified, this will be interpreted as specifying providefarip.


providenearip
Use IPCP negotiation with the remote host to request that it uses the configured local IP address. If the remote host refuses this request or if no local address is configured, the remote host can provide a local address. If neither end of the link can provide the local address, IPCP negotiation will fail and the link will be torn down.

providenearip is the default behavior for negotiating a local IP address. If more than one of the parameters forcenearip, getnearip, or providenearip is specified, this will be interpreted as specifying providenearip.


remote=remote_addr [ local=local_addr ]
These parameters are used for specifying endpoints for remote access only. Use them in either of the following two ways:

rfc1172addr
Use RFC 1172 IP address negotiation.

By default, RFC 1332 IP address negotiation is initiated provided that the noipaddr parameter is not specified.


wins=addr [ wins=addr ]
Enable the PPP service to provide Windows Internet Naming Service (WINS) server addresses. Addresses are provided only for incoming links and only if the client requests. addr must be an IP address, and can be specified for primary and secondary servers. If only one address is specified, it serves as both primary and secondary server.

Link parameters


accm=num
Set the asynchronous control character map (accm) to num, which must be a hexadecimal number. The default value is 0. The value of num is the initial accm value used by the local system during PPP negotiation. It can be negotiated to a different value.

mru=num
Set the maximum receive units to num. The default value is 1500 bytes.

noaccomp
Do not initiate address-control field compression negotiation. By default, address-control field compression negotiation is initiated.

nomgc
Do not initiate magic number negotiation By default, magic number negotiation is initiated.

noprotcomp
Do not initiate protocol field compression negotiation. By default, protocol field compression negotiation is initiated.

sh_hook=[program]
Invoke program to change an interface's static route if its IP address changes when it is brought up or deleted. This parameter is used for automatic dialup only.

By default, if sh_hook is not specified, pppd invokes the program /etc/ppphook.sh with these arguments:

event interface old_src old_dest new_src new_dest \
[ primary_dns secondary_dns ]

event is one of add, delete, down, or up. interface is the name of the interface; this argument is empty if the interface is deleted. old_src and old_dest are the old source and destination IP addresses. new_src and new_dest are the new source and destination IP addresses. If DNS addresses have been negotiated, primary_dns and secondary_dns are added to the list of arguments.

If the sh_hook parameter is present but no program argument is specified, this prevents any program being invoked.

Timer parameters


conf=num
Set the maximum number of PPP configure-request retries. The default value is 5.

idle=idle_time
Set the maximum link inactivity duration before automatic link shutdown to idle_time in minutes. The default value is ``forever''.

nak=num
Set the maximum number of PPP configure-nak retries to num. The default value is 10.

reqtmout=timeout
Set the amount of time to wait for a response to sent PPP configure-request and termination-request packets before resending to timeout in seconds. The default value is 3 seconds.

retry=num
set the UUCP retry number to num. This parameter is valid only for automatic and manual dialup. The default value is 2.

term=num
Set the maximum number of PPP termination-request retries to num. The default value is 2.

Signaling changes to /etc/ppphosts

Most of the values in the /etc/ppphosts file are used by pppd when it brings up a link. These parameters can be changed at any time and will take effect the next time the link, whose entry has been changed, is brought up. For the following changes to take effect, however, you must send a SIGHUP signal to the pppd process listed in /etc/pppd.pid: When it receives the SIGHUP, pppd rereads the /etc/ppphosts file and tears down and rebuilds the links for dedicated serial, or outgoing dialup entries that have changed since the last time it read the file.

Examples

Typical entry for an automatic dialup endpoint:
   ice_d:local_ppp uucp=ice idle=5 reqtmout=3 conf=10 term=2 nak=10\
            mru=296 accm=0 auth=chap rfc1172addr
Typical entry for a manual dialup endpoint:
   0.0.0.0:0.0.0.0 uucp=ice attach=internet idle=5 reqtmout=3 conf=10\
            term=2 nak=10 mru=296 accm=0 auth=chap rfc1172addr
Example entry for a manual dialup endpoint using a dynamic CHAP entry in /etc/pppauth:
   0.0.0.0:0.0.0.0 uucp=myisp name=MyCHAPname
In this example, there must be a wildcard entry (*) in /etc/pppauth that includes the CHAP secret corresponding to the CHAP name.

Typical entries for a remote access endpoint:

   *nppp idle=1 reqtmout=3 conf=10 term=2 nak=10 noprotcomp\
           noaccomp novj
   

*n2ppp idle=1 reqtmout=3 conf=10 term=2 nak=10 mru=296 noipaddr\ local=128.212.33.90 remote=avogadro

Typical entry for a dedicated serial endpoint:
   ice_s:128.212.33.90 staticdev=tty4a term=2 nak=10 mru=296\
           accm=0

UUCP file configuration

Because links from automatic and manual dialup endpoints are made using UUCP, they require shared information in /etc/ppphosts, /usr/lib/uucp/Systems, and /usr/lib/uucp/Devices. They may also require entries in /etc/hosts if this file is used to resolve host names to IP addresses.

Consider the following file entries for an automatic dialup endpoint that uses locally defined remote and local IP addresses:


In /etc/ppphosts:
ice_d:local_ppp uucp=ice idle=5

In /etc/hosts:
128.2.129.5 ice_d
128.2.130.7 local_ppp

In /usr/lib/uucp/Systems:
ice Any ACU 9600 555-1234 "" \r ogin:--ogin: nppp word: clydenw

In /usr/lib/uucp/Devices:
ACU tty1A - 9600 dialTBIT \T
ACU tty1B - 9600 dialTBIT \T
In this example, the names of the remote host, ``ice_d'', and the local host, ``local_ppp'', in /etc/ppphosts have corresponding entries in the /etc/hosts file so that the names can be resolved to IP addresses.

The uucp name in /etc/ppphosts, ``ice'', has a corresponding entry in /usr/lib/uucp/Systems so that the device type, ``ACU'', and UUCP connection data can be located.

There must be at least one suitable device listed in /usr/lib/uucp/Devices that can be used to obtain a connection to the remote site listed in the Systems file. In this example, two suitable modems are available on ports /dev/tty1A and /dev/tty1B.

Limitations

The network administrator must ensure consistent entries in the /etc/ppphosts, /etc/hosts, /usr/lib/uucp/Systems, and /usr/lib/uucp/Devices files for the PPP hosts.

If the remotely assigned IP address for a local PPP interface is changed by the remote host, TCP/IP applications such as telnet which cause a PPP link to be brought up will use an incorrect source IP address in the header of outgoing IP datagrams. This will cause the applications to time out when the link is brought up. The next attempt to connect to the remote host should succeed because IPCP negotiation will have adjusted the source address of the interface by this time.

A sh_hook script such as /etc/ppphook.sh should not block because pppd waits for the script to complete before processing additional events.

If the inactivity timeout period is set to 1 minute (as controlled by the value of the idle parameter) a PPP link will shut down even though the link is active with network traffic. Setting the value of idle to 2 minutes overcomes this problem.

Files


/etc/hosts
static host name to IP address translation

/etc/ppphosts
PPP link definitions

/usr/lib/uucp/Systems
remote systems accessible using UUCP

/usr/lib/uucp/Devices
devices that can be used to access remote systems

/etc/pppfilter
packet filter definitions

/etc/pppauth
authentication information

/etc/ppppool
pairs of local and remote IP addresses that can be allocated automatically

/etc/pppstack
definitions of third-party PPP stacks for use with smart serial port devices

See also

Devices(F), hosts(SFF), packetfilter(SFF), pppd(ADMN), ppppool(SFF), pppstack(SFF), Systems(F), uucp(C)

RFC 1144, RFC 1172, RFC 1332, RFC 1334, RFC 1548, RFC 2433


© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003