This chapter lists information useful regarding DHCP. It explains the relationships between files and the commands that use the files, but does not explain how to use the commands. The commands are linked to their man pages, so you can find information on a command by clicking on it.
The following table lists the commands you might find useful in managing DHCP on your network.
Table 13-1 Commands Used in DHCPCommand Man Page | Command Description |
---|---|
dhtadm(1M) |
Used to make changes to the options and macros in the dhcptab file. This command is most useful in scripts that you create to automate changes you need to make to your DHCP information. Use dhtadm with the -P option and pipe it through the grep command for a quick way to search for particular option values in the data base. |
pntadm(1M) | Used to make changes to the DHCP network tables that map client IDs to IP addresses and optionally associate configuration information with IP addresses. |
dhcpconfig(1M) | Used to configure and unconfigure DHCP servers and BOOTP relay agents. dhcpconfig uses dhtadm and pntadm to create and make changes to dhcptab and DHCP network tables. |
in.dhcpd(1M) | The DHCP server daemon. This command is used by /etc/init.d/dhcp, the DHCP service startup and shutdown script. You can start in.dhcpd with non-default options, such as -d for debugging. |
dhcpmgr(1M) | The DHCP Manager, a graphical tool used to configure and manage the DHCP service. DHCP Manager is the recommended Solaris DHCP management tool. |
ifconfig(1M) | Used at system boot to assign IP addresses to network interfaces, configure network interface parameters or both. On a Solaris DHCP client, ifconfig starts DHCP to get the parameters (including the IP address) needed to configure a network interface. |
dhcpinfo(1) | Used by system startup scripts on client machines to obtain information (such as hostname) from the DHCP client daemon (dhcpagent) . You can also use dhcpinfo in scripts or at the command line to obtain specified parameter values. |
snoop(1M) | Used to capture and display the contents of packets being passed across the network. snoop is useful for troubleshooting problems with the DHCP service. |
dhcpagent(1M) | The DHCP client daemon, which implements the client side of the DHCP protocol. |
The following table lists files associated with Solaris DHCP.
Table 13-2 Files Used by DHCP Daemons and Commands
File Man Pages |
Description |
---|---|
Table of configuration information recorded as options with assigned values, which are then grouped into macros. The dhcptab file's location is determined by the data store you use for DHCP information. |
|
Maps IP addresses to client IDs and configuration options. DHCP network tables are named according to the IP address of the network, such as 172.21.32.0. There is no file called dhcp_network. The location of DHCP network tables is determined by the data store you use for DHCP information. |
|
Records DHCP daemon startup options and the location and type of data store used by DHCP service. The file is located in the /etc/default directory. |
|
Specifies the location of name service databases and the order in which to search them when looking up various kinds of information. The nsswitch.conf file is consulted when you configure a DHCP server in order to obtain accurate configuration information. The file is located in the /etc directory. |
|
Contains information used by the DNS resolver. During DHCP server configuration, this file is consulted for information about the DNS domain and DNS server. The file is located in the /etc directory. |
|
dhcp.interface |
Indicates that DHCP is to be used on the client's network interface specified in the file name, such as dhcp.qe0. The dhcp.interface file might contain commands that are passed as options to the ifconfig interface dhcp start option command used to start DHCP on the client. The file is located in the /etc directory. |
interface.dhc |
Contains the configuration parameters obtained from DHCP for the given network interface. The client caches the current configuration information in /etc/dhcp/interface.dhc when the interface's IP address lease is dropped. The next time DHCP starts on the interface, the client requests to use the cached configuration if the lease has not expired. If the DHCP server denies the request, the client begins the standard DHCP lease negotiation process. |
dhcpagent |
Sets parameter values for the dhcpagent client daemon. The path to the file is /etc/default/dhcpagent. See the file itself or the daemon's dhcpagent(1M) man page for information about the parameters. |
Defines aspects of DHCP option codes, such as the data type, and assigns mnemonic labels. The information in the /etc/dhcp/inittab file is used by dhcpinfo to provide more meaningful information to human readers of the information. This file replaces the /etc/dhcp/dhcptags file. "DHCP Option Information" provides more information about this replacement. |
Historically, DHCP option information has been stored in several places in Solaris DHCP, including the server's dhcptab file, the client's dhcptags file, and internal tables of in.dhcpd, snoop, dhcpinfo, and dhcpmgr. In an effort to begin consolidating option information, the Solaris 8 DHCP product has introduced the /etc/dhcp/inittab file. See dhcp_inittab(4) for detailed information about the file.
The inittab file is currently used on the Solaris DHCP client as a replacement for the dhcptags file. The dhcptags file was used to obtain information about option codes received in its DHCP packet. The inittab file now provides this information. In future releases, the in.dhcpd, snoop, and dhcpmgr programs on the DHCP server might use this file as well.
Most sites using Solaris DHCP are not affected by this change. Your site is affected only if you are upgrading to Solaris 8, you previously created new DHCP options and modified the /etc/dhcp/dhcptags file, and want to retain the changes. When you upgrade, the upgrade log will notify you that your dhcptags file was modified and that you should make changes to the inittab file.
The inittab file contains more information than the dhcptags file, and the syntax used is different.
A sample dhcptags entry is:
33 StaticRt - IPList Static_Routes
where 33 is the numeric code that is passed in the DHCP packet, StaticRt is the option name, IPList indicates the expected data is a list of IP addresses, and Static_Routes is a more descriptive name.
The inittab file consists of one-line records describing each option. The format is similar to the format for defining symbols in dhcptab. The syntax of the inittab is described in the following table.
Table 13-3 DHCP inittab Syntax
A sample inittab entry is:
StaticRt Standard, 33, IP, 2, 0, sdmi
This entry describes an option named StaticRt, which is in the Standard category and is option code 33. The expected data is a potentially infinite number of pairs of IP addresses because the type is IP, granularity is 2, and maximum is infinite (0). The consumers of this option are sdmi: snoop, in.dhcpd, dhcpmgr, and dhcpinfo.
If you previously added entries to your dhcptags file, you must add corresponding entries to the new inittab file. The following example shows how a sample dhcptags entry might be expressed in inittab format.
Suppose you had added the following dhcptags entry for fax machines connected to the network:
128 FaxMchn - IP Fax_Machine
The code 128 means that it must be in the site category, the option name is FaxMchn, the data type is IP.
The corresponding inittab entry might be:
FaxMchn SITE, 128, IP, 1, 1, sdmi
The granularity of 1 and maximum of 1 indicate that one IP address is expected for this option.
The ARP (Address Resolution Protocol) assignment for the network hardware is specified at the beginning of a client ID in DHCP network tables. Use the following table to determine what code to use in your client ID.
The codes are assigned by the Internet Assigned Numbers Authority (IANA) in the ARP registrations section of the Assigned Numbers standard at http://www.iana.com/numbers.html.
Table 13-4 ARP Types
Code |
Hardware Type |
---|---|
1 |
Ethernet (10Mb) |
2 |
Experimental Ethernet (3Mb) |
3 |
Amateur Radio AX.25 |
4 |
Proteon ProNET Token Ring |
5 |
Chaos |
6 |
IEEE 802 |
7 |
ARCNET |
8 |
Hyperchannel |
9 |
Lanstar |
10 |
Autonet Short Address |
11 |
LocalTalk |
12 |
LocalNet (IBM PCNet or SYTEK LocalNET) |
13 |
Ultra link |
14 |
SMDS |
15 |
Frame Relay |
16 |
Asynchronous Transmission Mode (ATM) |
17 |
HDLC |
18 |
Fibre Channel |
19 |
Asynchronous Transmission Mode (ATM) |
20 |
Serial line |
21 |
Asynchronous Transmission Mode (ATM) |
22 |
MIL-STD-188-220 |
23 |
Metricom |
24 |
IEEE 1394.1995 |
25 |
MAPOS |
26 |
Twinaxial |
27 |
EUI-64 |
28 |
HIPARP |