Apache Awk Bash C cftp daemontools DHCP djbdns DNS Emacs Email ezmlm Fetchmail find GDB Hardware HTML HTTP Intro ISDN less Make Math mc mirrordir MySQL Peripherals Perl PHP3 pppd qmail Regexps Shell System Tables test To do Typical ucspi-tcp Versions Index TCP/IP slides
 

Defining fixed addresses

To define the host particular.domain as a fixed address under DHCP, edit /etc/dhcp.conf. The hex string following the ethernet keyword is the particular host's MAC. Remember to adjust the range command to account for the used up IP addresses.

host particular {
hardware ethernet 08:00:07:26:c0:A5;
fixed-address particular.domain;
}

DHCP option codes

Each DHCP packet must include a option (0x35) defining the message type.

DHCP Options and BOOTP Vendor Extensions
Hexadecimal code index
0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0xff
Pad Option 0x00
The pad option can be used to cause subsequent fields to align on word boundaries.
The code for the pad option is 0, and its length is 1 octet.
Code
0
End Option 0xff
The end option marks the end of valid information in the vendor field. Subsequent octets should be filled with pad options.
The code for the end option is 255, and its length is 1 octet.
Code
255
Subnet Mask 0x01
The subnet mask option specifies the client's subnet mask as per RFC 950 .
If both the subnet mask and the router option are specified in a DHCP reply, the subnet mask option MUST be first.
The code for the subnet mask option is 1, and its length is 4 octets.
Code Len Subnet Mask
1 4 m1 m2 m3 m4
Time Offset 0x02
The time offset field specifies the offset of the client's subnet in seconds from Coordinated Universal Time (UTC). The offset is expressed as a signed 32-bit integer.
The code for the time offset option is 2, and its length is 4 octets.
Code Len Time Offset
2 4 n1 n2 n3 n4
Router Option 0x03
The router option specifies a list of IP addresses for routers on the client's subnet. Routers SHOULD be listed in order of preference.
The code for the router option is 3. The minimum length for the router option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Address ...
3 n a1 a2 a3 a4 a1 a2 a3 a4 ...
Time Server Option 0x04
The time server option specifies a list of RFC 868 time servers available to the client. Servers SHOULD be listed in order of preference.
The code for the time server option is 4. The minimum length for this option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Address ...
4 n a1 a2 a3 a4 a1 a2 a3 a4 ...
Name Server Option 0x05
The name server option specifies a list of IEN 116 name servers available to the client. Servers SHOULD be listed in order of preference.
The code for the name server option is 5. The minimum length for this option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Address ...
5 n a1 a2 a3 a4 a1 a2 a3 a4 ...
Domain Name Server Option 0x06
The domain name server 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 preference.
The code for the domain name server option is 6. The minimum length for this option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Address ...
6 n a1 a2 a3 a4 a1 a2 a3 a4 ...
Log Server Option 0x07
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.
The code for the log server option is 7. The minimum length for this option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Address ...
7 n a1 a2 a3 a4 a1 a2 a3 a4 ...
Cookie Server Option 0x08
The cookie server option specifies a list of RFC 865 cookie servers available to the client. Servers SHOULD be listed in order of preference.
The code for the log server option is 8. The minimum length for this option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Address ...
8 n a1 a2 a3 a4 a1 a2 a3 a4 ...
LPR Server Option 0x09
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.
The code for the LPR server option is 9. The minimum length for this option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Address ...
9 n a1 a2 a3 a4 a1 a2 a3 a4 ...
Impress Server Option 0x0a
The Impress server option specifies a list of Imagen Impress servers available to the client. Servers SHOULD be listed in order of preference.
The code for the Impress server option is 10. The minimum length for this option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Address ...
10 n a1 a2 a3 a4 a1 a2 a3 a4 ...
Resource Location Server Option 0x0b
This option specifies a list of RFC 887 Resource Location servers available to the client. Servers SHOULD be listed in order of preference.
The code for this option is 11. The minimum length for this option is 4 octets, and the length MUST always be a multiple of 4.
Code Len Address 1 Address 2 Address ...
11 n a1 a2 a3 a4 a1 a2 a3 a4 ...
Host Name Option 0x0c
This option specifies the name of the client. The name may or may not be qualified with the local domain name (see section 3.17 for the preferred way to retrieve the domain name). See RFC 1035 for character set restrictions.
The code for this option is 12, and its minimum length is 1.
Code Len Host Name
12 n h1 h2 h3 h4 h5 h6 ...
Boot File Size Option 0x0d
This option specifies the length in 512-octet blocks of the default boot image for the client. The file length is specified as an unsigned 16-bit integer.
The code for this option is 13, and its length is 2.
Code Len File Size
13 2 l1 l2
Merit Dump File 0x0e
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 string consisting of characters from the NVT ASCII character set.
The code for this option is 14. Its minimum length is 1.
Code Len Dump File Pathname
14 n n1 n2 n3 n4 ...
Domain Name 0x0f
This option specifies the domain name that client should use when resolving hostnames via the Domain Name System.
The code for this option is 15. Its minimum length is 1.
Code Len Domain Name
15 n d1 d2 d3 d4 ...
Swap Server 0x10
This specifies the IP address of the client's swap server.
The code for this option is 16 and its length is 4.
Code Len Swap Server Address
16 n a1 a2 a3 a4
Root Path 0x11
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 character set.
The code for this option is 17. Its minimum length is 1.
Code Len Root Disk Pathname
17 n n1 n2 n3 n4 ...
Extensions Path 0x12
A string to specify a file, retrievable via TFTP, which contains information which can be interpreted in the same way as the 64-octet vendor-extension field within the BOOTP response, with the following exceptions:
  • the length of the file is unconstrained
  • all references to Tag 18 (i.e., instances of the BOOTP Extensions Path field) within the file are ignored.
The code for this option is 18. Its minimum length is 1.
Code Len Extensions Pathname
18 n n1 n2 n3 n4 ...
IP Forwarding Enable/Disable Option 0x13
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.
The code for this option is 19, and its length is 1.
Code Len Value
19 1 0/1
Non-Local Source Routing Enable/Disable Option 0x14
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 RFC 1122 for a discussion of this topic). A value of 0 means disallow forwarding of such datagrams, and a value of 1 means allow forwarding.
The code for this option is 20, and its length is 1.
Code Len Value
20 1 0/1
Policy Filter Option 0x15
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 RFC 1122 for further information.
The code for this option is 21. The minimum length of this option is 8, and the length MUST be a multiple of 8.
Code Len Address 1 Mask 1 Address 2 Mask 2 ...
21 n a1 a2 a3 a4 m1 m2 m3 m4 a1 a2 a3 a4 m1 m2 m3 m4 ...
Maximum Datagram Reassembly Size 0x16
This option specifies the maximum size datagram that the client should be prepared to reassemble. The size is specified as a 16-bit unsigned integer. The minimum value legal value is 576.
The code for this option is 22, and its length is 2.
Code Len Size
22 2 s1 s2
Default IP Time-to-live 0x17
This option specifies the default time-to-live that the client should use on outgoing datagrams. The TTL is specified as an octet with a value between 1 and 255.
The code for this option is 23, and its length is 1.
Code Len TTL
23 1 ttl
Path MTU Aging Timeout Option 0x18
This option specifies the timeout (in seconds) to use when aging Path MTU values discovered by the mechanism defined in RFC 1191 . The timeout is specified as a 32-bit unsigned integer.
The code for this option is 24, and its length is 4.
Code Len Timeout
24 4 t1 t2 t3 t4
Path MTU Plateau Table Option 0x19
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.
The code for this option is 25. Its minimum length is 2, and the length MUST be a multiple of 2.
Code Len Size 1 Size 2 Size...
25 n s1 s2 s1 s2 ...
Interface MTU Option 0x1a
This option specifies the MTU to use on this interface. The MTU is specified as a 16-bit unsigned integer. The minimum legal value for the MTU is 68.
The code for this option is 26, and its length is 2.
Code Len MTU
26 2 m1 m2
All Subnets are Local Option 0x1b
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.
The code for this option is 27, and its length is 1.
Code Len Value
27 1 0/1
Broadcast Address Option 0x1c
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 RFC 1122.
The code for this option is 28, and its length is 4.
Code Len Broadcast Address
28 4 b1 b2 b3 b4
Perform Mask Discovery Option 0x1d
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 discovery. A value of 1 means that the client should perform mask discovery.
The code for this option is 29, and its length is 1.
Code Len Value
29 1 0/1
Mask Supplier Option 0x1e
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.
The code for this option is 30, and its length is 1.
Code Len Value
30 1 0/1
Perform Router Discovery Option 0x1f
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.
The code for this option is 31, and its length is 1.
Code Len Value
31 1 0/1
Router Solicitation Address Option 0x20
This option specifies the address to which the client should transmit router solicitation requests.
The code for this option is 32, and its length is 4.
Code Len Address
32 4 a1 a2 a3 a4
Static Route Option 0x21
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. See the "Router Option" above for information about the router option.
The code for this option is 33. The minimum length of this option is 8, and the length MUST be a multiple of 8.
Code Len Destination 1 Router 1 Destination 2 Router 2 ...
33 n d1 d2 d3 d4 r1 r2 r3 r4 d1 d2 d3 d4 r1 r2 r3 r4 ...
Trailer Encapsulation Option 0x22
This option specifies whether or not the client should negotiate the use of trailers ( RFC 893 ) 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.
The code for this option is 34, and its length is 1.
Code Len Value
34 1 0/1
ARP Cache Timeout Option 0x23
This option specifies the timeout in seconds for ARP cache entries. The time is specified as a 32-bit unsigned integer.
The code for this option is 35, and its length is 4.
Code Len Time
35 4 t1 t2 t3 t4
Ethernet Encapsulation Option 0x24
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 encapsulation. A value of 1 means that the client should use RFC 1042 encapsulation.
The code for this option is 36, and its length is 1.
Code Len Value
36 1 0/1
TCP Default TTL Option 0x25
This option specifies the default TTL that the client should use when sending TCP segments. The value is represented as an 8-bit unsigned integer. The minimum value is 1.
The code for this option is 37, and its length is 1.
Code Len TTL
37 1 n
TCP Keepalive Interval Option 0x26
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 connections unless specifically requested by an application.
The code for this option is 38, and its length is 4.
Code Len Time
38 4 t1 t2 t3 t4
TCP Keepalive Garbage Option 0x27
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.
The code for this option is 39, and its length is 1.
Code Len Value
39 1 0/1
Network Information Service Domain Option 0x28
This option specifies the name of the client's NIS domain. The domain is formatted as a character string consisting of characters from the NVT ASCII character set.
The code for this option is 40. Its minimum length is 1.
Code Len NIS Domain Name
40 n n1 n2 n3 n4 ...
Network Information Servers Option 0x29
This option specifies a list of IP addresses indicating NIS servers available to the client. Servers SHOULD be listed in order of preference.
The code for this option is 41. Its minimum length is 4, and the length MUST be a multiple of 4.
Code Len Address 1 Address 2 Address...
41 n a1 a2 a3 a4 a1 a2 a3 a4 ...
Network Time Protocol Servers Option 0x2a
This option specifies a list of IP addresses indicating NTP servers ( RFC 1305 ) available to the client. Servers SHOULD be listed in order of preference.
The code for this option is 42. Its minimum length is 4, and the length MUST be a multiple of 4.
Code Len Address 1 Address 2 Address...
42 n a1 a2 a3 a4 a1 a2 a3 a4 ...
NetBIOS over TCP/IP Name Server Option 0x2c
The NetBIOS name server (NBNS) option specifies a list of RFC 1001 / RFC 1002 NBNS name servers listed in order of preference.
The code for this option is 44. The minimum length of the option is 4 octets, and the length must always be a multiple of 4.
Code Len Address 1 Address 2 Address...
44 n a1 a2 a3 a4 b1 b2 b3 b4 ...
NetBIOS over TCP/IP Datagram Distribution Server Option 0x2d
The NetBIOS datagram distribution server (NBDD) option specifies a list of RFC 1001 / RFC 1002 NBDD servers listed in order of preference.
The code for this option is 45. The minimum length of the option is 4 octets, and the length must always be a multiple of 4.
Code Len Address 1 Address 2 Address...
45 n a1 a2 a3 a4 b1 b2 b3 b4 ...
NetBIOS over TCP/IP Node Type Option 0x2e
The NetBIOS node type option allows NetBIOS over TCP/IP clients which are configurable to be configured as described in RFC 1001 / RFC 1002 . The value is specified as a single octet which identifies the client type as follows:
Value Node Type
0x1 B-node
0x2 P-node
0x4 M-node
0x8 H-node
In the above chart, the notation '0x' indicates a number in base-16 (hexadecimal).
The code for this option is 46. The length of this option is always 1.
Code Len Node Type
46 1 see node type table
NetBIOS over TCP/IP Scope Option 0x2f
The NetBIOS scope option specifies the NetBIOS over TCP/IP scope parameter for the client as specified in RFC 1001 / RFC 1002 . See also RFC 1035 .
The code for this option is 47. The minimum length of this option is 1.
Code Len NetBIOS Scope
47 n s1 s2 s3 s4 ...
X Window System Font Server Option 0x30
This option specifies a list of X Window System RFC 1198 Font servers available to the client. Servers SHOULD be listed in order of preference.
The code for this option is 48. The minimum length of this option is 4 octets, and the length MUST be a multiple of 4.
Code Len Address 1 Address 2 Address...
48 n a1 a2 a3 a4 a1 a2 a3 a4 ...
X Window System Display Manager Option 0x31
This option specifies a list of IP addresses of systems that are running the X Window System Display Manager and are available to the client.
Addresses SHOULD be listed in order of preference.
The code for the this option is 49. The minimum length of this option is 4, and the length MUST be a multiple of 4.
Code Len Address 1 Address 2 Address...
49 n a1 a2 a3 a4 a1 a2 a3 a4 ...
Requested IP Address 0x32
This option is used in a client request (DHCPDISCOVER) to allow the client to request that a particular IP address be assigned.
The code for this option is 50, and its length is 4.
Code Len Address
50 4 a1 a2 a3 a4
IP Address Lease Time 0x33
This option is used in a client request (DHCPDISCOVER or DHCPREQUEST) to allow the client to request a lease time for the IP address. In a server reply (DHCPOFFER), a DHCP server uses this option to specify the lease time it is willing to offer.
The time is in units of seconds, and is specified as a 32-bit unsigned integer.
The code for this option is 51, and its length is 4.
Code Len Lease Time
51 4 t1 t2 t3 t4
Option Overload 0x34
This option is used to indicate that the DHCP "sname" or "file" fields are being overloaded by using them to carry DHCP options. A DHCP server inserts this option if the returned parameters will exceed the usual space allotted for options.
If this option is present, the client interprets the specified additional fields after it concludes interpretation of the standard option fields.
The code for this option is 52, and its length is 1. Legal values for this option are:
Value Meaning
1 the "file" field is used to hold options
2 the "sname" field is used to hold options
3 both fields are used to hold options
Code Len Value
52 1 1/2/3
DHCP Message Type 0x35
This option is used to convey the type of the DHCP message. The code for this option is 53, and its length is 1. Legal values for this option are:
Value Message Type
1 DHCPDISCOVER
2 DHCPOFFER
3 DHCPREQUEST
4 DHCPDECLINE
5 DHCPACK
6 DHCPNAK
7 DHCPRELEASE
Code Len Type
53 1 1-7
Server Identifier 0x36
This option is used in DHCPOFFER and DHCPREQUEST messages, and may optionally be included in the DHCPACK and DHCPNAK messages. DHCP servers include this option in the DHCPOFFER in order to allow the client to distinguish between lease offers. DHCP clients indicate which of several lease offers is being accepted by including this option in a DHCPREQUEST message.
The identifier is the IP address of the selected server.
The code for this option is 54, and its length is 4.
Code Len Address
54 4 a1 a2 a3 a4
Parameter Request List 0x37
This option is used by a DHCP client to request values for specified configuration parameters. The list of requested parameters is specified as n octets, where each octet is a valid DHCP option code as defined in this document.
The client MAY list the options in order of preference. The DHCP server is not required to return the options in the requested order, but MUST try to insert the requested options in the order requested by the client.
The code for this option is 55. Its minimum length is 1.
Code Len Option Codes
55 n c1 c2 ...
Message 0x38
This option is used by a DHCP server to provide an error message to a DHCP client in a DHCPNAK message in the event of a failure. A client may use this option in a DHCPDECLINE message to indicate the why the client declined the offered parameters. The message consists of n octets of NVT ASCII text, which the client may display on an available output device.
The code for this option is 56 and its minimum length is 1.
Code Len Text
56 n c1 c2 ...
Maximum DHCP Message Size 0x39
This option specifies the maximum length DHCP message that it is willing to accept. The length is specified as an unsigned 16-bit integer. A client may use the maximum DHCP message size option in DHCPDISCOVER or DHCPREQUEST messages, but should not use the option in DHCPDECLINE messages.
The code for this option is 57, and its length is 2. The minimum legal value is 576 octets.
Code Len Length
57 2 l1 l2
Renewal (T1) Time Value 0x3a
This option specifies the time interval from address assignment until the client transitions to the RENEWING state.
The value is in units of seconds, and is specified as a 32-bit unsigned integer.
The code for this option is 58, and its length is 4.
Code Len T1 Interval
58 4 t1 t2 t3 t4
Rebinding (T2) Time Value 0x3b
This option specifies the time interval from address assignment until the client transitions to the REBINDING state.
The value is in units of seconds, and is specified as a 32-bit unsigned integer.
The code for this option is 59, and its length is 4.
Code Len T2 Interval
59 4 t1 t2 t3 t4
Class-identifier 0x3c
This option is used by DHCP clients to optionally identify the type and configuration of a DHCP client. The information is a string of n octets, interpreted by servers. Vendors and sites may choose to define specific class identifiers to convey particular configuration or other identification information about a client. For example, the identifier may encode the client's hardware configuration. Servers not equipped to interpret the class-specific information sent by a client MUST ignore it (although it may be reported).
The code for this option is 60, and its minimum length is 1.
Code Len Class-Identifier
60 n i1 i2 ...
Client-identifier 0x3d
This option is used by DHCP clients to specify their unique identifier. DHCP servers use this value to index their database of address bindings. This value is expected to be unique for all clients in an administrative domain.
Identifiers consist of a type-value pair.
It is expected that this field will typically contain a hardware type and hardware address, but this is not required. Current legal values for hardware types are defined in RFC 1340.
The code for this option is 61, and its minimum length is 2.
Code Len Type Client-Identifier
61 n t1 i1 i2 ...

DHCP related links

Last update: Wed, 2 Nov 2005 10:16:21 GMT