dhcpd.conf(5)() dhcpd.conf(5)() NNAAMMEE dhcpd.conf - dhcpd configuration file DDEESSCCRRIIPPTTIIOONN The dhcpd.conf file contains configuration information for _d_h_c_p_d_(_8_)_, the Dynamic Host Configuration Protocol daemon. A primer on configuring dhcpd is included in dhcpd(8). This document describes the format of the file in detail, and is probably a better reference than a primer. The dhcpd.conf file is a free-form ASCII text file. It is parsed by a recursive-descent parser. Statements in the file may contain extra tabs and newlines for format- ting purposes. Each statement in the file is terminated by a semicolon. Keywords in the file are case- insensitive. There are currently two statements that can meaningfully appear in the file--the _s_u_b_n_e_t statement, and the _h_o_s_t statement. TThhee SSUUBBNNEETT ssttaatteemmeenntt ssuubbnneett _s_u_b_n_e_t_-_n_u_m_b_e_r nneettmmaasskk _n_e_t_m_a_s_k [ _c_l_a_u_s_e_s ]; _s_u_b_n_e_t_-_n_u_m_b_e_r should be an IP address or DNS name which resolves to the subnet number of the subnet being described. _n_e_t_m_a_s_k should be an IP address or DNS name which resolves to the subnet mask of the subnet being described. These are the only required fields in a subnet declaration, although it may be desirable to add one or more of the following clauses. Subnets for which addresses will be dynamically allocated must have one or more addresses reserved for future allo- cation by dhcpd. These addresses are allocated using the _r_a_n_g_e clause. rraannggee [ ddyynnaammiicc--bboooottpp ] _l_o_w_e_s_t_-_a_d_d_r_e_s_s _h_i_g_h_e_s_t_-_a_d_d_r_e_s_s _l_o_w_e_s_t_-_a_d_d_r_e_s_s should be the lowest address in the range that is available to dhcpd for dynamic allocation. _h_i_g_h_- _e_s_t_-_a_d_d_r_e_s_s should be the highest address in the range that is available to dhcpd for dynamic allocation. If there is only one address in a range, it must be specified as both the lowest and highest addresses. As many rraannggee clauses as are needed may be specified in any given ssuubbnneett statement. Include the ddyynnaammiicc--bboooottpp keyword if addresses from this range may be allocated to BOOTP clients with no applicable fixed address. BOOTP clients will be assigned a perma- nent lease. ddeeffaauulltt--lleeaassee--ttiimmee _t_i_m_e 1 dhcpd.conf(5)() dhcpd.conf(5)() _t_i_m_e should be the expiration time in seconds that will be assigned to a lease if the client requesting the lease does not ask for a specific expiration time. This clause may only appear once in each ssuubbnneett statement. mmaaxx--lleeaassee--ttiimmee _t_i_m_e _t_i_m_e should be the maximum expiration time in seconds that will be assigned to a lease if the client requesting the lease asks for a specific expiration time. This clause may only appear once in each ssuubbnneett statement. ooppttiioonn _o_p_t_i_o_n_-_d_e_c_l_a_r_a_t_i_o_n Any number of ooppttiioonn clauses may appear in a subnet state- ment. The syntax of option declarations is described later in this document. TThhee HHOOSSTT ssttaatteemmeenntt hhoosstt _h_o_s_t_n_a_m_e There must be at least one hhoosstt statement for every BOOTP client that is to be served. hhoosstt statements may also be specified for DHCP clients, although this is not required. If it is desirable to be able to boot a DHCP or BOOTP client on more than one subnet with fixed addresses, more than one address may be specified in the ffiixxeedd--aaddddrreessss clause, or more than one hhoosstt statement may be specified. If client-specific boot parameters must change based on the network to which the client is attached, then multiple hhoosstt statements should be used. If a client is to be booted using a fixed address if it's possible, but should be allocated a dynamic address other- wise, then a hhoosstt statement must be specified without a ffiixxeedd--aaddddrreessss clause. _h_o_s_t_n_a_m_e should be a name identify- ing the host. It is for labelling purposes only, and is not used in the BOOTP protocol. hhaarrddwwaarree _h_a_r_d_w_a_r_e_-_t_y_p_e _h_a_r_d_w_a_r_e_-_a_d_d_r_e_s_s In order for a BOOTP client to be recognized, its network hardware address must be declared using a hhaarrddwwaarree clause in the hhoosstt statement. Only one such clause can appear in any host statement. _h_a_r_d_w_a_r_e_-_t_y_p_e must be the name of a physical hardware interface type. Currently, only the eetthheerrnneett type is recognized, although support for ttookkeenn-- rriinngg and ffddddii hardware types will be added soon. The _h_a_r_d_w_a_r_e_-_a_d_d_r_e_s_s should be a set of hexadecimal octets (numbers from 0 through ff) seperated by colons. ffiilleennaammee _f_i_l_e_n_a_m_e 2 dhcpd.conf(5)() dhcpd.conf(5)() If the BOOTP client needs to load a boot file (for exam- ple, a kernel or configuration file), the name of this file may be provided to the client using the ffiilleennaammee clause. The _f_i_l_e_n_a_m_e should be a filename recognizable to whatever file transfer protocol the client can be expected to use to load the file. ffiixxeedd--aaddddrreessss _a_d_d_r_e_s_s [, _a_d_d_r_e_s_s ] BOOTP clients must be assigned fixed IP addresses. DHCP clients may optionally be assigned a fixed address. The ffiixxeedd--aaddddrreessss clause is used to associate one or more fixed IP address with a BOOTP or DHCP client. If more than one address is supplied, the client may be booted on each network for which an address is specified. Multiple addresses on the same network should not be specified. _a_d_d_r_e_s_s should be either an IP address or a DNS name which resolves to a single IP address. ooppttiioonn _o_p_t_i_o_n_-_d_e_c_l_a_r_a_t_i_o_n Any number of ooppttiioonn ccllaauusseess mmaayy aappppeeaarr iinn aa hhoosstt ssttaattee-- mmeenntt.. TThhee ssyynnttaaxx ooff option declarations is described later in this document. If an option clause in a hhoosstt statement conflicts with an option clause in the ssuubbnneett statement for the subnet containing that host, the option clause in the hhoosstt statement is used. OOppttiioonn DDeeccllaarraattiioonnss Option declarations always start with the ooppttiioonn keyword, followed by an option name, followed by option data. The option names and data formats are described below. Many of the options described below which set IP or TCP parame- ters have default values which will generally work per- fectly well, so only those options whose values must be set explicitly should be included in. B subnet or hhoosstt statements. Option data comes in a variety of formats. In order to avoid having to explain the formats along with each option definition below, a number of data types have been defined. The iipp--aaddddrreessss data type can be entered either as an explicit IP address (e.g., 239.254.197.10) or as a domain name (e.g., haagen.isc.org). When entering a domain name, be sure that that domain name resolves to a single IP address. The iinntt3322 data type specifies a signed 32-bit integer. The uuiinntt3322 data type specifies an unsigned 32-bit integer. The iinntt1166 and uuiinntt1166 data types specify signed and unsigned 16-bit integers. The iinntt88 and uuiinntt88 data types 3 dhcpd.conf(5)() dhcpd.conf(5)() specify signed and unsigned 8-bit integers. Unsigned 8-bit integers are also sometimes referred to as octets. The ssttrriinngg data type specifies an NVT ASCII string, which must be enclosed in double quotes - for example, to spec- ify a domain-name option, the syntax would be option domain-name "isc.org" The ffllaagg data type specifies a one-bit (boolean) number. The ddaattaa--ssttrriinngg data type specifies either an NVT ASCII string enclosed in double quotes, or a series of octets specified in hexadecimal, seperated by colons. For exam- ple: option client-identifier "CLIENT-FOO" or option client-identifier 43:4c:49:45:54:2d:46:4f:4f The documentation for the various options mentioned below is taken from the latest IETF draft document on DHCP options. ooppttiioonn ssuubbnneett--mmaasskk _i_p_-_a_d_d_r_e_s_s The subnet mask option specifies the client's subnet mask as per RFC 950. ooppttiioonn ttiimmee--ooffffsseett _i_n_t_3_2 The time-offset option specifies the offset of the client's subnet in seconds from Coordinated Universal Time (UTC). ooppttiioonn rroouutteerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] The routers option specifies a list of IP addresses for routers on the client's subnet. Routers should be listed in order of preference. ooppttiioonn ttiimmee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] The time-server option specifies a list of RFC 868 time servers available to the client. Servers should be listed in order of preference. ooppttiioonn nnaammee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] The name-servers option specifies a list of IEN 116 name servers available to the client. Servers should be listed in order of preference. ooppttiioonn ddoommaaiinn--nnaammee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] 4 dhcpd.conf(5)() dhcpd.conf(5)() The domain-name-servers option specifies a list of Domain Name System (STD 13, RFC 1035) name servers available to the client. Servers should be listed in order of prefer- ence. ooppttiioonn lloogg--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] The log-server option specifies a list of MIT-LCS UDP log servers available to the client. Servers should be listed in order of preference. ooppttiioonn ccooookkiiee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] The cookie server option specifies a list of RFC 865 cookie servers available to the client. Servers should be listed in order of preference. ooppttiioonn llpprr--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] The LPR server option specifies a list of RFC 1179 line printer servers available to the client. Servers should be listed in order of preference. ooppttiioonn iimmpprreessss--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] The impress-server option specifies a list of Imagen Impress servers available to the client. Servers should be listed in order of preference. ooppttiioonn rreessoouurrccee--llooccaattiioonn--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] This option specifies a list of RFC 887 Resource Location servers available to the client. Servers should be listed in order of preference. ooppttiioonn hhoosstt--nnaammee _s_t_r_i_n_g This option specifies the name of the client. The name may or may not be qualified with the local domain name (it is preferable to use the domain-name option to specify the domain name). See RFC 1035 for character set restric- tions. ooppttiioonn bboooott--ssiizzee _u_i_n_t_1_6 This option specifies the length in 512-octet blocks of the default boot image for the client. ooppttiioonn mmeerriitt--dduummpp _s_t_r_i_n_g This option specifies the path-name of a file to which the client's core image should be dumped in the event the client crashes. The path is formatted as a character 5 dhcpd.conf(5)() dhcpd.conf(5)() string consisting of characters from the NVT ASCII charac- ter set. ooppttiioonn ddoommaaiinn--nnaammee _s_t_r_i_n_g This option specifies the domain name that client should use when resolving hostnames via the Domain Name System. ooppttiioonn sswwaapp--sseerrvveerr _i_p_-_a_d_d_r_e_s_s This specifies the IP address of the client's swap server. ooppttiioonn rroooott--ppaatthh _s_t_r_i_n_g This option specifies the path-name that contains the client's root disk. The path is formatted as a character string consisting of characters from the NVT ASCII charac- ter set. ooppttiioonn iipp--ffoorrwwaarrddiinngg _f_l_a_g This option specifies whether the client should configure its IP layer for packet forwarding. A value of 0 means disable IP forwarding, and a value of 1 means enable IP forwarding. ooppttiioonn nnoonn--llooccaall--ssoouurrccee--rroouuttiinngg _f_l_a_g This option specifies whether the client should configure its IP layer to allow forwarding of datagrams with non- local source routes (see Section 3.3.5 of [4] for a dis- cussion of this topic). A value of 0 means disallow for- warding of such datagrams, and a value of 1 means allow forwarding. ooppttiioonn ppoolliiccyy--ffiilltteerr _i_p_-_a_d_d_r_e_s_s _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _i_p_-_a_d_d_r_e_s_s _._._. ] This option specifies policy filters for non-local source routing. The filters consist of a list of IP addresses and masks which specify destination/mask pairs with which to filter incoming source routes. Any source routed datagram whose next-hop address does not match one of the filters should be discarded by the client. See STD 3 (RFC1122) for further information. ooppttiioonn mmaaxx--ddggrraamm--rreeaasssseemmbbllyy _u_i_n_t_1_6 This option specifies the maximum size datagram that the client should be prepared to reassemble. The minimum value legal value is 576. 6 dhcpd.conf(5)() dhcpd.conf(5)() ooppttiioonn ddeeffaauulltt--iipp--ttttll _u_i_n_t_8 This option specifies the default time-to-live that the client should use on outgoing datagrams. ooppttiioonn ppaatthh--mmttuu--aaggiinngg--ttiimmeeoouutt _u_i_n_t_3_2 This option specifies the timeout (in seconds) to use when aging Path MTU values discovered by the mechanism defined in RFC 1191. ooppttiioonn ppaatthh--mmttuu--ppllaatteeaauu--ttaabbllee _u_i_n_t_1_6 [, _u_i_n_t_1_6 _._._. ] This option specifies a table of MTU sizes to use when performing Path MTU Discovery as defined in RFC 1191. The table is formatted as a list of 16-bit unsigned integers, ordered from smallest to largest. The minimum MTU value cannot be smaller than 68. ooppttiioonn iinntteerrffaaccee--mmttuu _u_i_n_t_1_6 This option specifies the MTU to use on this interface. The minimum legal value for the MTU is 68. ooppttiioonn aallll--ssuubbnneettss--llooccaall _f_l_a_g This option specifies whether or not the client may assume that all subnets of the IP network to which the client is connected use the same MTU as the subnet of that network to which the client is directly connected. A value of 1 indicates that all subnets share the same MTU. A value of 0 means that the client should assume that some subnets of the directly connected network may have smaller MTUs. ooppttiioonn bbrrooaaddccaasstt--aaddddrreessss _i_p_-_a_d_d_r_e_s_s This option specifies the broadcast address in use on the client's subnet. Legal values for broadcast addresses are specified in section 3.2.1.3 of STD 3 (RFC1122). ooppttiioonn ppeerrffoorrmm--mmaasskk--ddiissccoovveerryy _f_l_a_g This option specifies whether or not the client should perform subnet mask discovery using ICMP. A value of 0 indicates that the client should not perform mask discov- ery. A value of 1 means that the client should perform mask discovery. ooppttiioonn mmaasskk--ssuupppplliieerr _f_l_a_g This option specifies whether or not the client should respond to subnet mask requests using ICMP. A value of 0 indicates that the client should not respond. A value of 1 means that the client should respond. 7 dhcpd.conf(5)() dhcpd.conf(5)() ooppttiioonn rroouutteerr--ddiissccoovveerryy _f_l_a_g This option specifies whether or not the client should solicit routers using the Router Discovery mechanism defined in RFC 1256. A value of 0 indicates that the client should not perform router discovery. A value of 1 means that the client should perform router discovery. ooppttiioonn rroouutteerr--ssoolliicciittaattiioonn--aaddddrreessss _i_p_-_a_d_d_r_e_s_s This option specifies the address to which the client should transmit router solicitation requests. ooppttiioonn ssttaattiicc--rroouutteess _i_p_-_a_d_d_r_e_s_s _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _i_p_-_a_d_d_r_e_s_s _._._. ] This option specifies a list of static routes that the client should install in its routing cache. If multiple routes to the same destination are specified, they are listed in descending order of priority. The routes consist of a list of IP address pairs. The first address is the destination address, and the second address is the router for the destination. The default route (0.0.0.0) is an illegal destination for a static route. To specify the default route, use the rroouutteerrss option. ooppttiioonn ttrraaiilleerr--eennccaappssuullaattiioonn _f_l_a_g This option specifies whether or not the client should negotiate the use of trailers (RFC 893 [14]) when using the ARP protocol. A value of 0 indicates that the client should not attempt to use trailers. A value of 1 means that the client should attempt to use trailers. ooppttiioonn aarrpp--ccaacchhee--ttiimmeeoouutt _u_i_n_t_3_2 This option specifies the timeout in seconds for ARP cache entries. ooppttiioonn iieeeeee880022--33--eennccaappssuullaattiioonn _f_l_a_g This option specifies whether or not the client should use Ethernet Version 2 (RFC 894) or IEEE 802.3 (RFC 1042) encapsulation if the interface is an Ethernet. A value of 0 indicates that the client should use RFC 894 encapsula- tion. A value of 1 means that the client should use RFC 1042 encapsulation. ooppttiioonn ddeeffaauulltt--ttccpp--ttttll _u_i_n_t_8 This option specifies the default TTL that the client 8 dhcpd.conf(5)() dhcpd.conf(5)() should use when sending TCP segments. The minimum value is 1. ooppttiioonn ttccpp--kkeeeeppaalliivvee--iinntteerrvvaall _u_i_n_t_3_2 This option specifies the interval (in seconds) that the client TCP should wait before sending a keepalive message on a TCP connection. The time is specified as a 32-bit unsigned integer. A value of zero indicates that the client should not generate keepalive messages on connec- tions unless specifically requested by an application. ooppttiioonn ttccpp--kkeeeeppaalliivvee--ggaarrbbaaggee _f_l_a_g This option specifies the whether or not the client should send TCP keepalive messages with a octet of garbage for compatibility with older implementations. A value of 0 indicates that a garbage octet should not be sent. A value of 1 indicates that a garbage octet should be sent. ooppttiioonn nniiss--ddoommaaiinn _s_t_r_i_n_g This option specifies the name of the client's NIS (Sun Network Information Services) domain. The domain is for- matted as a character string consisting of characters from the NVT ASCII character set. ooppttiioonn nniiss--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] This option specifies a list of IP addresses indicating NIS servers available to the client. Servers should be listed in order of preference. ooppttiioonn nnttpp--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] This option specifies a list of IP addresses indicating NTP (RFC 1035) servers available to the client. Servers should be listed in order of preference. ooppttiioonn nneettbbiiooss--nnaammee--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] The NetBIOS name server (NBNS) option specifies a list of RFC 1001/1002 NBNS name servers listed in order of prefer- ence. ooppttiioonn nneettbbiiooss--dddd--sseerrvveerr _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] The NetBIOS datagram distribution server (NBDD) option specifies a list of RFC 1001/1002 NBDD servers listed in order of preference. ooppttiioonn nneettbbiiooss--nnooddee--ttyyppee _u_i_n_t_8 9 dhcpd.conf(5)() dhcpd.conf(5)() The NetBIOS node type option allows NetBIOS over TCP/IP clients which are configurable to be configured as described in RFC 1001/1002. The value is specified as a single octet which identifies the client type. A value of 1 corresponds to a NetBIOS B-node; a value of 2 corre- sponds to a P-node; a value of 4 corresponds to an M-node; a value of 8 corresponds to an H-node. ooppttiioonn nneettbbiiooss--ssccooppee _s_t_r_i_n_g The NetBIOS scope option specifies the NetBIOS over TCP/IP scope parameter for the client as specified in RFC 1001/1002. See RFC1001, RFC1002, and RFC1035 for charac- ter-set restrictions. ooppttiioonn ffoonntt--sseerrvveerrss _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] This option specifies a list of X Window System Font servers available to the client. Servers should be listed in order of preference. ooppttiioonn xx--ddiissppllaayy--mmaannaaggeerr _i_p_-_a_d_d_r_e_s_s [, _i_p_-_a_d_d_r_e_s_s _._._. ] This option specifies a list of systems that are running the X Window System Display Manager and are available to the client. Addresses should be listed in order of pref- erence. ooppttiioonn ddhhccpp--cclliieenntt--iiddeennttiiffiieerr _d_a_t_a_-_s_t_r_i_n_g This option can be used to specify the a DHCP client iden- tifier in a host declaration, so that dhcpd can find the host record by matching against the client identifier. SSEEEE AALLSSOO dhcpd.conf(5), dhcpd.leases(5) AAUUTTHHOORR ddhhccppdd((88)) was written by Ted Lemon under a contract with Vixie Labs. Funding for this project was provided by the Internet Software Corporation. Informa- tion about the Internet Software Consortium can be found at hhttttpp::////wwwwww..iisscc..oorrgg//iisscc.. 10