Solaris DHCP Server
The Solaris DHCP server can also be configured to perform the following additional functions:
DHCP Server Management
As superuser, you can start, stop, and configure the DHCP server with DHCP Manager or with command-line utilities described in DHCP Command-Line Utilities. Generally, the DHCP server is configured to start automatically when the system boots, and to stop when the system is shut down. You should not need to start and stop the server manually under normal conditions.
DHCP Data Store
All the data used by the Solaris DHCP server is maintained in a data store. The data store might consist of plain text files, NIS+ tables, or binary-format files. While configuring the DHCP service, you choose the type of data store to be used. The section Choosing the DHCP Data Store describes the differences between the types of data stores. You can convert a data store from one format to another by using DHCP Manager or the dhcpconfig command.
You can also move data from one DHCP server's data store to another server's data store. You can use export and import utilities that work with the data stores, even if the servers are using different data store formats. You can export and import the entire content of a data store, or just some of the data within it, using DHCP Manager or the dhcpconfig command.
Note - Any database or file format can be used for DHCP data storage if you develop your own code module to provide an interface between Solaris DHCP (server and management tools) and the database. .
Within the Solaris DHCP data store are two types of tables. You can view and manage the contents if these tables by using either DHCP Manager or the command-line utilities. The data tables are as follows:
The dhcptab Table
The dhcptab table contains all the information that clients can obtain from the DHCP server. The DHCP server scans the dhcptab table each time it starts. The file name of the dhcptab table varies according to the data store used. For example, the dhcptab table created by the NIS+ data store SUNWnisplus is SUNWnisplus1_dhcptab.
The DHCP protocol defines a number of standard items of information that can be passed to clients. These items are referred to as parameters, symbols, or options. Options are defined in the DHCP protocol by numeric codes and text labels, but without values. Some commonly used standard options are shown in the following table.
Table 12-1 Sample DHCP Standard Options
Some options are automatically assigned values when you provide information during server configuration. You can also explicitly assign values to other options at a later time. Options and their values are passed to the client to provide configuration information. For example, the option/value pair, DNSdmain=Georgia.Peach.COM, sets the client's DNS domain name to Georgia.Peach.COM.
Options can be grouped with other options in containers known as macros, which makes it easier to pass information to a client. Some macros are created automatically during server configuration and contain options that were assigned values during configuration. Macros can also contain other macros.
The format of the dhcptab table is described in the dhcptab(4) man page. In DHCP Manager, all the information shown in the Options and Macros tabs comes from the dhcptab table. See About DHCP Options for more information about options. See About DHCP Macros for more information about macros.
Note that the dhcptab table should not be edited manually. You should use either the dhtadm command or DHCP Manager to create, delete, or modify options and macros.
DHCP Network Tables
A DHCP network table maps client identifiers to IP addresses and the configuration parameters associated with each address. The format of the network tables is described in the dhcp_network(4) man page. In DHCP Manager, all the information shown in the Addresses tab comes from the network tables.
DHCP Manager is a graphical user interface (GUI) tool you can use to perform all management duties associated with the DHCP service. You can use it to manage the server as well as the data the server uses. You must be superuser when you run DHCP Manager.
You can use DHCP Manager with the server in the following ways:
DHCP Manager enables you to manage the IP addresses, network configuration macros, and network configuration options in the following ways:
DHCP Manager allows you to manage the DHCP data stores in the following ways:
DHCP Manager includes extensive online help for procedures you can perform with the tool. For more information, see About DHCP Manager.
DHCP Command-Line Utilities
All DHCP management functions can be performed by using command-line utilities. You can run the utilities if you are logged in as superuser or as a user assigned to the DHCP Management profile. See Setting Up User Access to DHCP Commands.
The following table lists the utilities and describes the purpose of each utility.
Table 12-2 DHCP Command-Line Utilities
Role-Based Access Control for DHCP Commands
Security for the dhcpconfig, dhtadm, and pntadm commands is determined by role-based access control (RBAC) settings. By default, the commands can be run only by superuser. If you want to use the commands under another user name, you must assign the user name to the DHCP Management profile as described in Setting Up User Access to DHCP Commands.
DHCP Server Configuration
DHCP Manager server configuration dialog boxes prompt you for essential information needed to enable and run the DHCP server on one network. Some default values are obtained from existing system files. If you have not configured the system for the network, there are no default values. DHCP Manager prompts for the following information:
You can also configure the DHCP server using the dhcpconfig command. This utility automatically gathers information from existing system files to provide a useful initial configuration. Therefore, you must ensure that the files are correct before running dhcpconfig. See the dhcpconfig(1M) man page for information about the files that dhcpconfig uses to obtain information.
IP Address Allocation
Network Configuration Information
You determine what information to provide to DHCP clients. When you configure the DHCP server, you provide essential information about the network. Later, you can add more information that you want to provide to clients.
The DHCP server stores network configuration information in the dhcptab table, in the form of option/value pairs and macros. Options are keywords for network data that you want to supply to clients. Values are assigned to options and passed to clients in DHCP messages. For example, the NIS server address is passed by way of an option called NISservs. The NISservs option has a value that is equal to a list of IP addresses, which is assigned by the DHCP server. Macros provide a convenient way to group together any number of options that you want to supply to clients. You can use DHCP Manager to create macros to group options and to assign values to the options. If you prefer a command-line tool, you can use dhtadm, the DHCP configuration table management utility, to work with options and macros.
About DHCP Options
In Solaris DHCP, an option is a piece of network information to be passed to a client. The DHCP literature also refers to options as symbols or tags. An option is defined by a numeric code and a text label. An option receives a value when it is used in the DHCP service.
The DHCP protocol defines a large number of standard options for commonly specified network data: Subnet, Router, Broadcst, NIS+dom, Hostname, and LeaseTim are a few examples. A complete list of standard options is shown in the dhcp_inittab(4) man page. You cannot modify the standard option keywords in any way. However, you can assign values to the options that are relevant to your network when you include the options in macros.
You can create new options for data that is not represented by the standard options. Options you create must be classified in one of three categories:
Chapter 15, Administering DHCP (Tasks) includes procedures for creating, modifying, and deleting DHCP options.
About DHCP Macros
In the Solaris DHCP service, a macro is a collection of network configuration options and the values that you assign to them. Macros are created to group options together to be passed to specific clients or types of clients. For example, a macro intended for all clients of a particular subnet might contain option/value pairs for subnet mask, router IP address, broadcast address, NIS+ domain, and lease time.
Macro Processing by the DHCP Server
When the DHCP server processes a macro, it places the network options and values defined in the macro in a DHCP message to a client. The server processes some macros automatically for clients of a particular type.
Table 12-3 DHCP Macro Categories for Automatic Processing
A macro with a name that does not use one of the categories listed in Table 12-3 can be processed only if one of the following is true:
Note - When you configure a server, a macro that is named to match the server's name is created by default. This server macro is not processed automatically for any client because it is not named with one of the name types that cause automatic processing. When you later create IP addresses on the server, the IP addresses are mapped to use the server macro by default.
Order of Macro Processing
When a DHCP client requests DHCP services, the DHCP server determines which macros match the client. The server processes the macros, using the macro categories to determine the order of processing. The most general category is processed first, and the most specific category is processed last. The macros are processed in the following order:
A macro that is included in another macro is processed as part of the container macro.
If the same option is included in more than one macro, the value for that option in the macro with the most specific category is used because it is processed last. For example, if a Network address macro contains the lease time option with a value of 24 hours, and a Client ID macro contains the lease time option with a value of 8 hours, the client receives a lease time of 8 hours.
Size Limit for DHCP Macros
The sum total of the values assigned to all the options in a macro must not exceed 255 bytes, including the option codes and length information. This limit is dictated by the DHCP protocol.
The macros that are most likely to be impacted by this limit are macros that are used to pass paths to files on Solaris installation servers. Generally, you should pass the minimum amount of vendor information needed. You should use short path names in options that require path names. If you create symbolic links to long paths, you can pass the shorter link names.