Content-type: text/html Man page of joind

joind

Section: Maintenance Commands (8)
Index Return to Main Contents
 

NAME

joind - BOOTP and DHCP server daemon  

SYNOPSIS

/usr/sbin/joind [-f] [-dn] [-ln] [-t minutes]  

OPTIONS

Sets foreground mode. In this mode, joind will not run as a daemon. All messages are written to standard out (stdout) and standard error (stderr), although warnings and errors are still sent to syslog(3) as well. Sets debug level to n. If debug is turned on, log messages are also enabled. Enables warning (n > 0) and log (n > 1) messages. If n is not explicitly given, the value one (1) is assumed (warnings are turned on). Terminates if minutes have passed and no packets have been received. This flag is valid only if joind was started from inetd.  

DESCRIPTION

The joind server is the server that provides configurations to clients on the network using the DHCP or BOOTP protocols; it normally runs as a daemon process, and may be started either from the shell command line interface or by the inetd daemon.

In default mode of operation, joind reads configuration and policy information from files created by xjoin, the graphical user interface tool for administering these databases. It then listens on a well-known port for client hosts requesting configuration either by the DHCP protocol or by the BOOTP protocol.

The joind daemon looks in the /etc/services file to find the port numbers it should use. Two entries are extracted: The BOOTP server listening port. The destination port used to reply to clients.

If the port numbers cannot be determined in this manner, they are assumed to be port 67 for the server and port 68 for the client.

When a request is received from a client on a network that is administered by a joind daemon, it responds with an Internet address that the client can use, and sufficient information to permit the client to boot and configure its TCP/IP stack according to either the DHCP or BOOTP protocols as described in RFC1541 and RFC1497, respectively.

The joind daemon rereads its configuration file when it receives a hangup signal (SIGHUP) or when it receives a BOOTP request packet and detects that the file has been updated. Hosts can be added, deleted, or modified when the configuration file is reread.

The joind server writes informational and error messages in four categories: errors, warnings, information, and debug. Errors are severe, usually unrecoverable events within the server due to resource exhaustion and other unexpected failure of system calls. Warnings are less severe, do not terminate the server, and in most cases describe unusual or incorrect datagrams received from clients, or requests for service that cannot be provided. Informational messages provide a human readable transcription of (correct) actions performed by the server on behalf of client hosts. Debug messages may be generated at various levels of verbosity from zero (not at all) through nine, as controlled by the -d option.

The disposition of messages is (by default) as follows: warning, information, and debug messages are discarded: errors are written to /var/join/log and are sent to the system logger syslog(3) at priority LOG_ERR and with a facility identifier LOG_DAEMON. If warnings were enabled, they are also sent to syslog with the same facility, but at priority LOG_WARNING. The creation and disposition of messages is controlled by the -f, -d, and -l command line flags, and the environment variable JOINLOG.  

BOOTP Information

If you plan to use the joind daemon to support BOOTP requests only, you might want the inetd daemon start joind automatically. To do this, uncomment the following line in the /etc/inetd.conf file: bootps dgram udp wait root /usr/sbin/joind joind This causes joind to be started only when a boot request arrives. If joind does not receive another boot request within fifteen minutes of the last one it received, it exits to conserve system resources.

To run the joind daemon, you must also run the tftpd daemon.

Upon startup, joind first reads its configuration file, /etc/bootptab, and then begins listening for BOOTREQUEST packets.  

RESTRICTIONS

A cluster member should never be a DHCP client. It should always use static addressing.

If a cluster is to support a DHCP server, there can be only one DHCP server for all the cluster members using a common database with failover.

Do not terminate the server with SIGKILL. Doing so leads to data loss, and frequently results in a corrupted database. Use SIGTERM, SIGINT or SIGQUIT instead.

A cluster member should never be a DHCP client. It should always use static addressing.

If a cluster is to support a DHCP server, there can only be one DHCP server for all the cluster members using a common database with failover.

Nonstandard subnet masks for all networks administered by the server must be available either through /etc/join/netmasks or NIS.

The database used by the server does not support multiuser write concurrency. When the server is in operation the entire database is locked against other applications. This means that you cannot use jdbmod or xjdbmod to modify records in the database while the server is running. The converse is also true.

If the naming policy is to be changed (for example, from assigning names by MAC address to assigning names by IP address) you must first, before changing the server policy database, stop the server, dump the name data (using jdbdump), and then reload after the policy file has changed.  

SIGNALS

SIGTERM, SIGINT, SIGQUIT and SIGUSR2 terminate the server in a controlled manner. SIGHUP tells the server to reread its configuration databases. SIGUSR1 dumps database internals.

Never stop the server with SIGKILL. This leads to data loss and corruption of the lease and names databases.  

FILES

By default, joind reads its configuration and policy databases from files in the /etc/join directory. The environment variable JOINCONFIG may be used to select a different directory. These databases may be stored as text or binary. The text files are: Parameters and configuration data for individual clients, client classes, and networks. Networks joind controls, and a pool of IP addresses which are available for the server to assign to clients. A collection of names available on a per-join-server, per domain-name that the server can assign to clients. Parameters governing the behavior of joind, and general policies concerning network administration and their binary counterparts: bootptab.hsh, nets.hsh, namepool.hsh, and server.hsh.

During operation, the server creates dynamic database bindings of IP addresses and names to MAC addresses. The following files are stored under the /var/join directory, unless overridden by the environment variable JOINSPOOL. B-trees Hash indexes.

The joind daemon writes a startup message and other messages previously described in the $JOINSPOOL/log file unless the environment variable JOINLOG is set, in which case the file named by that variable is used (NOTE: this must be an absolute filename, not a directory, nor a path relative filename). The (human readable) log.  

RELATED INFORMATION

Commands: joinc(8), xjoin(8), inetd(8)

System calls: syslog(3)

Files: bootptab(4), namepool(4), nets(4), server.pcy(4)

Information: DHCP(7).

RFC1497, RFC1541, RFC1542, RFC1533, RFC1534 delim off


 

Index

NAME
SYNOPSIS
OPTIONS
DESCRIPTION
BOOTP Information
RESTRICTIONS
SIGNALS
FILES
RELATED INFORMATION

This document was created by man2html, using the manual pages.
Time: 02:40:40 GMT, October 02, 2010