in.dhcpd(1M)




NAME

     in.dhcpd - Dynamic Host Configuration Protocol server


SYNOPSIS

     /usr/lib/inet/in.dhcpd [-denv] [-h  relay_hops]  [-i  inter-
     face,   ...]  [-l  syslog_local_facility]  [-b  automatic  |
     manual] [-o DHCP_offer_time] [-t dhcptab_rescan_interval]

     /usr/lib/inet/in.dhcpd  [-dv]  [-h  relay_hops]  [-i  inter-
     face,...]  [-l  syslog_local_facility] -r IP_address | host-
     name, ...


DESCRIPTION

     in.dhcpd is a daemon that responds to  Dynamic  Host  Confi-
     guration  Protocol  (DHCP)  requests and optionally to BOOTP
     protocol requests. The daemon forks a copy  of  itself  that
     runs  as  a  background process. It must be run as root. The
     daemon has two run modes, DHCP server (with  optional  BOOTP
     compatibility mode) and BOOTP relay agent mode.

     The first line  in  the  SYNOPSIS  section  illustrates  the
     options  available in the DHCP/BOOTP server mode. The second
     line in the SYNOPSIS section illustrates the options  avail-
     able when the daemon is run in BOOTP relay agent mode.

     The DHCP and BOOTP protocols are used to provide  configura-
     tion parameters to Internet hosts. Client machines are allo-
     cated their IP addresses as well as other host configuration
     parameters through this mechanism.

     The DHCP/BOOTP daemon manages two types of DHCP data tables:
     the dhcptab configuration table and the DHCP network tables.

     See dhcptab(4) regarding the dhcptab configuration table and
     dhcp_network(4) regarding the DHCP network tables.

     The dhcptab  contains  macro  definitions  defined  using  a
     termcap-like  syntax which permits network administrators to
     define  groups  of  DHCP  configuration  parameters  to   be
     returned  to  clients.  However,  a DHCP/BOOTP server always
     returns hostname, network broadcast address, network  subnet
     mask,  and  IP maximum transfer unit (MTU) if requested by a
     client attached to the same network as the  server  machine.
     If  those options have not been explicitly configured in the
     dhcptab, in.dhcpd returns reasonable default values.

     The dhcptab is read at startup, upon  receipt  of  a  SIGHUP
     signal,  or  periodically  as  specified by the -t option. A
     SIGHUP (sent using the command pkill -HUP  in.dhcpd)  causes
     the DHCP/BOOTP daemon to reread the dhcptab within an inter-
     val from 0-60 seconds (depending on where the DHCP daemon is
     in  its  polling  cycle). For busy servers, users should run
     /etc/init.d/dhcp stop, followed by /etc/init.d/dhcp start to
     force the dhcptab to be reread.

     The DHCP network tables contain mappings of client  identif-
     iers  to IP addresses. These tables are named after the net-
     work they support and the datastore used to maintain them.

     The DHCP network tables  are  consulted  during  runtime.  A
     client  request  received  from  a network for which no DHCP
     network table exists is ignored.

     This command  may  change  in  future  releases  of  Solaris
     software.  Scripts,  programs,  or  procedures that use this
     command might need modification  when  upgrading  to  future
     Solaris  software releases.The command line options provided
     with the in.dhcpd daemon are used only for the current  ses-
     sion,  and  include  only some of the server options you can
     set. The dhcpsvc.conf(4) contains  all  the  server  default
     settings,  and can be modified by using the dhcpmgr utility.
     See dhcpsvc.conf(4) for more details.


OPTIONS

     The following options are supported:

     -b  automatic | manual
           This option enables BOOTP compatibility mode, allowing
           the  DHCP  server  to  respond  to BOOTP clients.  The
           option argument  specifies  whether  the  DHCP  server
           should   automatically  allocate  permanent  lease  IP
           addresses to requesting BOOTP clients if  the  clients
           are   not   registered  in  the  DHCP  network  tables
           (automatic) or respond only to BOOTP clients who  have
           been  manually registered in the DHCP network tables (
           manual). This option only affects DHCP server mode.

     -d    Debugging mode. The daemon  remains  as  a  foreground
           process, and displays verbose messages as it processes
           DHCP and/or BOOTP datagrams. Messages are displayed on
           the  current  TTY.   This  option  can be used in both
           DHCP/BOOTP server mode and BOOTP relay agent mode.

     -h relay_hops
           Specifies the maximum number of relay agent hops  that
           can  occur  before  the  daemon  drops  the DHCP/BOOTP
           datagram. The default number of relay agent hops is 4.
           This  option  affects  both DHCP/BOOTP server mode and
           BOOTP relay agent mode.

     -i interface, ...
           Selects the network interfaces that the daemon  should
           monitor  for  DHCP/BOOTP datagrams. The daemon ignores
           DHCP/BOOTP  datagrams  on   network   interfaces   not
           specified  in this list. This option is only useful on
           machines that have  multiple  network  interfaces.  If
           this  option is not specified, then the daemon listens
           for DHCP/BOOTP datagrams on  all  network  interfaces.
           The option argument consists of a comma-separated list
           of interface names. It affects both DHCP/BOOTP  server
           and BOOTP relay agent run modes.

     -l syslog_local_facility
           The presence of this option turns on transaction  log-
           ging  for  the  DHCP  server or BOOTP relay agent. The
           value specifies the syslog local facility (an  integer
           from  0 to 7 inclusive) the DHCP daemon should use for
           tagging the transactions. Using  a  facility  separate
           from   the  LOG_DAEMON  facility  allows  the  network
           administrator to capture these transactions separately
           from  other  DHCP  daemon  events for such purposes as
           generating transaction reports.  See  syslog(3C),  for
           details   about  local  facilities.  Transactions  are
           logged using a record with 9 space-separated fields as
           follows:

           1. Protocol:

                Relay mode:     "BOOTP"
                Server mode:    "BOOTP" or "DHCP" based upon client
                                     type.

           2. Type:

              Relay mode:     "RELAY-CLNT", "RELAY-SRVR"
              Server mode:    "ASSIGN", "EXTEND", "RELEASE",
                                  "DECLINE", "INFORM", "NAK" "ICMP-ECHO."

           3. Transaction time: absolute time  in  seconds  (unix
              time)

           4. Lease time:

              Relay mode:     Always 0.
              Server mode:    0 for ICMP-ECHO events, absolute time in
                                  seconds (unix time)  otherwise

           5. Source IP address: Dotted Internet form

              Relay mode:     Relay interface IP on RELAY-CLNT,
                                     INADDR_ANY on RELAY-SRVR.

              Server mode:    Client IP.

           6. Destination IP address: Dotted Internet form

              Relay mode:     Client IP on RELAY-CLNT, Server IP on
                                                        RELAY-SRVR.
              Server mode:    Server IP.

           7. Client Identifier: Hex representation (0-9, A-F)

              Relay mode:     MAC address
              Server mode:    BOOTP - MAC address; DHCP - client id

           8. Vendor Class identifier (white space  converted  to
              periods (.)).

              Relay mode:     Always "N/A"
              Server mode:    Vendor class ID tokenized by
                                     converting white space characters
                                     to periods (.)

           9. MAC address: Hex representation (0-9, A-F)

              Relay mode:     MAC address
              Server mode:    MAC address

     The format of this  record  is  subject  to  change  between
     releases.

     Transactions are logged to the console if daemon is in debug
     mode (-d).

     Logging transactions impact daemon performance.

           It is suggested that you periodically rotate the  DHCP
           transaction  log file to keep it from growing until it
           fills the filesystem. This can be done  in  a  fashion
           similar  to  that  used for the general system message
           log /var/adm/messages and is best  accomplished  using
           the facilities provided by logadm(1M).

     -n    Disable automatic duplicate IP address detection. When
           this  option  is  specified,  the DHCP server does not
           attempt to verify that an IP address it  is  about  to
           offer  a  client  is  not in use. By default, the DHCP
           server pings an IP address before  offering  it  to  a
           DHCP/BOOTP  client,  to verify that the address is not
           in use by another machine.

     -o DHCP_offer_time
           Specifies the number of seconds the DHCP server should
           cache  the  offers it has extended to discovering DHCP
           clients. The default setting is 10  seconds.  On  slow
           network  media, this value can be increased to compen-
           sate for slow network performance. This option affects
           only DHCP server mode.

     -r IP_address | hostname, ...
           This option enables BOOTP relay agent mode. The option
           argument   specifies  a  comma-separated  list  of  IP
           addresses or hostnames of DHCP  or  BOOTP  servers  to
           which  the  relay  agent is to forward BOOTP requests.
           When the daemon is started  in  this  mode,  any  DHCP
           tables  are  ignored,  and the daemon simply acts as a
           BOOTP relay agent.

           A BOOTP relay agent listens to UDP port 68,  and  for-
           wards  BOOTP  request packets received on this port to
           the destinations specified on  the  command  line.  It
           supports  the  BROADCAST flag described in RFC 1542. A
           BOOTP relay agent can run  on  any  machine  that  has
           knowledge  of local routers, and thus does not have to
           be an Internet gateway machine.

           Note that the proper entries must be made to the  net-
           masks database so that the DHCP server being served by
           the BOOTP relay agents can identify the subnet mask of
           the  foreign  BOOTP/DHCP  client's  network.  See net-
           masks(4) for the format and use of this database.

     -t dhcptab_rescan_interval
           Specifies the interval in minutes that the DHCP server
           should  use to schedule the automatic rereading of the
           dhcptab information. Typically,  you  would  use  this
           option  if  the  changes to the dhcptab are relatively
           frequent. Once the contents of the dhcptab  have  sta-
           bilized,  you  can turn off this option to avoid need-
           less reinitialization of the server.

     -v    Verbose mode. The daemon displays more  messages  than
           in the default mode. Note that verbose mode can reduce
           daemon efficiency due to the  time  taken  to  display
           messages. Messages are displayed to the current TTY if
           the debugging option is used; otherwise, messages  are
           logged  to  the  syslogd  facility. This option can be
           used in both DHCP/BOOTP server mode  and  BOOTP  relay
           agent mode.


EXAMPLES

     Example 1: Starting a DHCP  Server  in  BOOTP  Compatibility
     Mode

     The following command starts a DHCP server in BOOTP compati-
     bility mode, permitting the server to automatically allocate
     permanent IP  addresses  to  BOOTP  clients  which  are  not
     registered in the server's table; limits the server's atten-
     tion to incoming datagrams on network devices le2  and  tr0;
     drops  BOOTP  packets  whose hop count exceeds 2; configures
     the DHCP  server  to  cache  extended  DHCP  offers  for  15
     seconds;  and  schedules  dhcptab  rescans to occur every 10
     minutes:

     # in.dhcpd -i le2,tr0 -h 2 -o 15 -t 10 -b automatic

     Example 2: Starting the Daemon in BOOTP Relay Agent Mode

     The following command starts the daemon in BOOTP relay agent
     mode,  registering  the  hosts  bladerunner  and 10.0.0.5 as
     relay  destinations,  with  debugging  and   verbose   modes
     enabled, and drops BOOTP packets whose hop count exceeds 5:

     # in.dhcpd -d -v -h 5 -r bladerunner,10.0.0.5


FILES

     /etc/inet/dhcpsvc.conf

     /etc/init.d/dhcp

     /etc/init/hosts

     /usr/lib/inet/dhcp/nsu/rfc2136.so.1


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWdhcsu                   |
    |_____________________________|_____________________________|
    | Interface Stability         | Evolving                    |
    |_____________________________|_____________________________|


SEE ALSO


     cron(1M), dhcpmgr(1M), dhtadm(1M),  logadm(1M),  pntadm(1M),
     syslogd(1M),  syslog(3C),  dhcpsvc.conf(4), dhcp_network(4),
     dhcptab(4),      ethers(4),      hosts(4),      netmasks(4),
     nsswitch.conf(4), attributes(5), dhcp(5)

     System Administration Guide: IP Services

     Alexander, S., and R. Droms, DHCP Options and  BOOTP  Vendor
     Extensions,  RFC  2132,  Silicon  Graphics,  Inc.,  Bucknell
     University, March 1997.

     Droms, R., Interoperation Between DHCP and BOOTP, RFC  1534,
     Bucknell University, October 1993.

     Droms, R., Dynamic Host Configuration  Protocol,  RFC  2131,
     Bucknell University, March 1997.

     Wimer, W., Clarifications and Extensions for  the  Bootstrap
     Protocol,  RFC  1542,  Carnegie  Mellon  University, October
     1993.


Man(1) output converted with man2html