This chapter describes tasks useful in administering the Solaris DHCP service, including tasks for the server, BOOTP relay agent, and client. Each task includes a procedure for performing the task in DHCP Manager and a procedure for performing the equivalent task with DHCP service utilities. DHCP service utilities are more fully documented in man pages.
You should have already completed the initial configuration of your DHCP service and initial network before using this chapter. Chapter 10, Configuring DHCP Service discusses DHCP configuration.
The chapter contains the following information:
DHCP Manager is a Java-based graphical interface you can use to perform administration tasks on the DHCP service.
The DHCP Manager window's appearance differs, depending on whether the server on which it is running was configured as a DHCP server or a BOOTP relay agent.
When the server is configured as a DHCP server, DHCP Manager uses a tab-based window, in which you select a tab for the type of information you want to work with. DHCP Manager features the following tabs:
Addresses - Lists all networks and IP addresses placed under DHCP management. From the Addresses tab, you can add or delete networks, and add or delete IP addresses individually or in blocks. You can also modify the properties of individual networks or IP addresses, or make the same property modifications for a block of addresses simultaneously. When you start DHCP Manager, it opens on the Addresses tab.
Macros - Lists all macros available in the DHCP configuration database (dhcptab) and the options contained within them. From the Macros tab, you can create or delete macros, and modify them by adding options and providing values for the options.
Options - Lists all options that have been defined for this DHCP server. Options listed on this tab are not the standard ones defined in the DHCP protocol; the options are extensions to the standard options, having a class of Extended, Vendor, or Site. Standard options cannot be changed in any way so they are not listed here.
The following figure shows the DHCP Manager window as it appears when you start it on a DHCP server.
When the server is configured as a BOOTP relay agent, the DHCP Manager window does not show these tabs because the BOOTP relay agent does not need any of this information. You can only modify the BOOTP relay agent's properties and stop/start the DHCP daemon with DHCP Manager. The following figure shows the DHCP Manager window as it appears when you start it on a system configured as a BOOTP relay agent.
File - Exit DHCP Manager
Edit - Perform management tasks upon networks, addresses, macros, and options
View - Change the look of the tab currently selected
Services - Manage the DHCP daemon
Help - Open your web browser and display help for DHCP Manager
When DHCP Manager is run on a BOOTP relay agent, the Edit and View menus are disabled.
All DHCP service management activities are accomplished through the Edit and Service menus. You use the commands in the Edit menu to create, delete, and modify networks, addresses, macros, and options, depending on which tab is selected. When the Addresses tab is selected, the Edit menu also lists wizards, which are sets of dialogs that make it easy to create networks and multiple IP addresses. The Services menu lists commands for managing the DHCP daemon, enabling you to start/stop, enable/disable, modify the server configuration, and unconfigure the server.
You must run DHCP Manager on a DHCP server system as superuser, but you can display it remotely on another UNIX system using the X Windows remote display feature.
If you are logged in to the DHCP server machine remotely, you can display DHCP Manager on your local machine as follows.
Type the following command:
# /usr/sadm/admin/bin/dhcpmgr & |
The DHCP Manager window opens, displaying the Addresses tab if the server is configured as a DHCP server, or no tabs if the server is configured as a BOOTP relay agent.
Starting and stopping the DHCP service encompasses several degrees of action you can take to affect the operation of the DHCP daemon. You must understand the difference between starting/stopping, enabling/disabling, and configuring/unconfiguring the DHCP service in order to select the correct procedure to obtain the result you want. The terms are explained below.
Starting, stopping, and restarting the DHCP service affects the running of the daemon only at the current session. For example, if you stop the DHCP service, the currently running daemon terminates but restarts when you reboot the system. DHCP data tables are not affected by stopping the service.
Enabling and disabling the DHCP service affects the running of the daemon for current and future sessions. If you disable the DHCP service, the currently running daemon terminates and does not start when you reboot the server. You must enable the DHCP daemon for the automatic start at system boot to occur. DHCP data tables are not affected.
Unconfiguring the DHCP service shuts down the currently running daemon, prevents the daemon from starting on system reboot, and gives you the option of removing the DHCP data tables. Unconfiguration is described in Chapter 10, Configuring DHCP Service.
If a server has multiple network interfaces and you do not want to provide DHCP services on all the networks, see "Monitoring and Ignoring Network Interfaces for DHCP Service".
This section provides the procedures for starting and stopping the DHCP service, and enabling and disabling it.
Start DHCP Manager.
See "How to Start DHCP Manager" for the procedure.
Select one of the following operations:
As root, start dhcpconfig by typing the following command:
# /usr/sbin/dhcpconfig |
Select Unconfigure DHCP or Relay Service by typing 3.
Type Y at the following prompt to disable DHCP:
Unconfigure will stop the DHCP service and remove /etc/default/dhcp. Are you SURE you want to disable the DHCP service? ([Y]/N): Y |
This step is needed only if you previously disabled the server, keeping the data intact.
Become superuser on the server system.
Start dhcpconfig by typing the following command:
# /usr/sbin/dhcpconfig |
Select Configure DHCP Service or Configure BOOTP Relay Agent, as appropriate.
Press Return to accept default values for all prompts until you see the following prompt:
Enable DHCP/BOOTP support of networks you select? ([Y]/N): |
Type Y at the prompt to enable the DHCP service.
Answer the following prompts as shown to avoid prompts for configuring networks.
If you had previously disabled the service while keeping the data intact, you should not need to reconfigure the network information.
### Configure Local Networks ### Configure BOOTP/DHCP on local LAN network: 172.21.0.0? ([Y]/N):N ### Configure Remote Networks ### Would you like to configure BOOTP/DHCP service on remote networks? ([Y]/N):N |
Restart the DHCP service by pressing Return at the following prompt:
Would you like to restart the DHCP service? (recommended) ([Y]/N): |
You can change values for some additional features of the DHCP service, some of which were not offered during the initial configuration with DHCP Manager. If you configured your server with dhcpconfig, you may have been prompted to select values for most of these options. You can use the Modify Service Options dialog box in DHCP Manager or specify options on the in.dhcpd command to change service options.
The following task map shows the tasks related to service options and the procedures to use:
Table 11-1 Modify DHCP Service Options Task Map
Tasks... |
Description |
For Instructions, Go To... |
---|---|---|
Change logging options |
Enable or disable verbose logging, enable or disable logging of DHCP transactions, and select a syslog facility to use for logging DHCP transactions. |
"How to Generate Verbose DHCP Log Messages (DHCP Manager)" "How to Generate Verbose DHCP Log Messages (Command Line)" "How to Enable and Disable DHCP Transaction Logging (DHCP Manager)" "How to Enable and Disable DHCP Transaction Logging for Current Session (Command Line)" "How to Log DHCP Transactions to a Separate Syslog File"
|
Enable or disable duplicate IP address detection |
Enable or disable the DHCP server's checking that an IP address is not already in use before offering it to a client. |
"How to Customize DHCP Server Performance Options (DHCP Manager)" "How to Customize DHCP Server Performance Options (Command Line)" |
Change options for DHCP server's reading of configuration information |
Enable or disable automatic reading of dhcptab at specified intervals, or change the interval between reads |
"How to Customize DHCP Server Performance Options (DHCP Manager)" "How to Customize DHCP Server Performance Options (Command Line)" |
Change the number of relay agent hops |
Increase or decrease the number of networks a request can travel through before being dropped by the DHCP daemon. |
"How to Customize DHCP Server Performance Options (DHCP Manager)" "How to Customize DHCP Server Performance Options (Command Line)" |
Change the length of time an IP address offer is cached |
Increase or decrease the number seconds that the DHCP service will reserve an offered IP address before offering to a new client |
"How to Customize DHCP Server Performance Options (DHCP Manager)" "How to Customize DHCP Server Performance Options (Command Line)" |
The following figure shows DHCP Manager's Modify Services dialog box.
The DHCP service can log DHCP service messages and DHCP transactions to syslog. See the syslogd(1M) and syslog.conf(4) manual pages for more information about syslog.
DHCP service messages logged to syslog include:
Error messages, which notify the administrator of conditions that prevent the DHCP service from fulfilling a request by a client or by the administrator.
Warnings and notices, which notify the administrator of conditions that are abnormal, but do not prevent the DHCP service from fulfilling a request.
You can increase information reporting by using the verbose option for the DHCP daemon. Verbose message output can be useful in troubleshooting DHCP problems. See "How to Generate Verbose DHCP Log Messages (DHCP Manager)".
Another useful troubleshooting technique is transaction logging. Transactions provide information about every interchange between a DHCP server or BOOTP relay and clients. DHCP server transactions include:
ASSIGN -- IP address assignment
EXTEND -- Lease extension
RELEASE -- IP address release
DECLINE -- Client declining address assignment
INFORM -- Client requesting network configuration parameters but not an IP address
NAK -- Server does not acknowledge a client's request to use a previously used IP address
ICMP_ECHO -- Server detects potential IP address for offering is already in use by another host.
BOOTP relay transactions include:
RELAY-CLNT -- Message being relayed from the DHCP client to a DHCP server
RELAY-SRVR -- Message being relayed from the DHCP server to the DHCP client
Transaction logging is disabled by default. When enabled, transaction logging uses the local0 syslog facility by default. DHCP transaction messages are generated with a syslog severity level of notice, so by default transactions are logged to the file where other notices are logged. However, because they use a local facility, the transaction messages can be logged separately from other notices if you edit the syslog.conf file to specify a separate log file.
You can disable or enable transaction logging, and specify a different syslog facility, from 0 through 7, as explained in "How to Enable and Disable DHCP Transaction Logging (DHCP Manager)". If you edit the server system's syslog.conf file, you can also instruct syslogd to store the DHCP transaction messages in a separate file, as explained in "How to Log DHCP Transactions to a Separate Syslog File".
Choose Modify from the Services menu.
Select Verbose Log Messages.
Select Restart Server if it is not already selected.
Click OK.
Verbose mode can reduce daemon efficiency because of the time taken to display messages.
Become superuser on the DHCP server system.
Type the following commands to stop the DHCP daemon and restart it in verbose mode:
# /etc/init.d/dhcp stop # /usr/lib/inet/in.dhcpd -v options |
where options are any other options you normally use to start the daemon.
The daemon runs in verbose mode for this session only.
Verbose mode can reduce daemon efficiency because of the time taken to display messages.
This procedure enables/disables transaction logging for all subsequent DHCP server sessions.
Choose Modify from the Service menu.
Select Log Transactions to Syslog Facility.
To disable transaction logging, deselect this option.
(Optional) Select a local facility from 0 to 7 to use for logging transactions.
By default, DHCP transactions are logged to the location where system notices are logged, which depends on how syslogd is configured. If you want the DHCP transactions to be logged to a file separate from other system notices, see "How to Log DHCP Transactions to a Separate Syslog File".
Message files can quickly become very large when transaction logging is enabled.
Select Restart Server if it is not already selected.
Click OK.
Become superuser on the DHCP server system.
Type the following commands:
# /etc/init.d/dhcp stop # /usr/lib/inet/in.dhcpd -l syslog-local-facility |
where syslog-local-facility is a number from 0 through 7. If you omit this option, 0 is used by default. See "How to Enable and Disable DHCP Transaction Logging (DHCP Manager)".
To disable transaction logging, omit the -l option when starting in.dhcpd.
By default, DHCP transactions are logged to the location where system notices are logged, which depends on how syslogd is configured. If you want the DHCP transactions to be logged to a file separate from other system notices, see "How to Log DHCP Transactions to a Separate Syslog File".
Message files can quickly become very large when transaction logging is enabled.
Become superuser on the DHCP server system.
Type the following to start dhcpconfig:
# /usr/sbin/dhcpconfig |
Select Configure DHCP Service.
Press Return for the following prompts to accept the default values, which may differ from the values shown here:
Would you like to stop the DHCP service? (recommended) ([Y]/N): ### DHCP Service Configuration ### ### Configure DHCP Database Type and Location ### Enter datastore (files or nisplus) [nisplus]: Enter absolute path to datastore directory [dhcp.test.]: Warning: Setting NIS_GROUP to admin.dhcp.test. |
Type Y for the following prompts as shown:
### Common daemon option setup ### Would you like to specify nondefault daemon options (Y/[N]):Y Do you want to enable transaction logging? (Y/[N]):Y |
Type a number from 0 through 7 at the following prompt:
Which syslog local facility [0-7] do you wish to log to? [0]: |
By default, DHCP transactions are logged to the location where system notices are logged, which depends on how syslogd is configured. If you want the DHCP transactions to be logged to a file separate from other system notices, see "How to Log DHCP Transactions to a Separate Syslog File".
Message files can quickly become very large when transaction logging is enabled.
Become superuser on the DHCP server system.
Edit the /etc/syslog.conf file on the server system and add a line having the following format:
localn.notice path-to-logfile |
where n is the syslog facility number you specified for transaction logging, and path-to-logfile is the complete path to the file to use for logging transactions.
For example, you might add the following line:
local0.notice /var/log/dhcpsrvc |
See syslog.conf(4) man page for more information about the syslog.conf file.
You can change options which affect the performance of the DHCP service. These options are described in the following table.
Table 11-2 Options Affecting DHCP Server Performance
The following procedures describe how to change these options.
To change the number of BOOTP relay agents a request can pass through, type the number of Maximum Number of Relay Agent Hops.
To have the DHCP server verify that an IP address is not in use before offering it to a client, select Detect Duplicate IP Addresses.
To have the DHCP server read dhcptab at specified intervals, select Reload dhcptab Every n Minutes, and type the number of minutes for the interval.
To change the length of time the server holds an IP address open after making an offer, type the number of seconds in the field Cache Offers for n Seconds.
Select Restart Server if it is not already selected.
Click OK.
Changing options using this procedure affect only the current server session. If the DHCP server system is rebooted, the DHCP server starts using the settings specified during server configuration. If you want to change settings to apply to all future sessions, you must run dhcpconfig and answer the prompts as described in "How to Configure a DHCP Server (dhcpconfig) ".
Become superuser on the DHCP server system.
Type the following command:
# /etc/init.d/dhcp stop # /usr/lib/inet/in.dhcpd options |
Specifies the maximum number of relay agent hops that can occur before the daemon drops the DHCP/BOOTP datagram.
Disables automatic duplicate IP address detection. This is not recommended.
Specifies the interval in minutes that the DHCP server should use to schedule the automatic rereading of the dhcptab information.
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.
For example, the following command sets the hop count to 2, disables duplicate IP address detection, sets the rescan interval to 30 minutes, and sets the offer time to 20 seconds.
# /usr/lib/inet/in.dhcp -h 2 -n -t 30 -o 20 |
When you configure a DHCP server, you must also configure at least one network in order to use the DHCP service. You can add more networks at any time.
The following task map lists tasks you need to perform when working with DHCP networks and the procedures used to carry them out.
Table 11-3 Working with DHCP Networks Task Map
Tasks... |
Description |
For Instructions, Go To |
---|---|---|
Enable or disable DHCP service on server network interfaces |
The default behavior is to monitor all network interfaces for DHCP requests, but you can change this. | |
Add a new network to the DHCP service |
Place a network under DHCP management, for the purpose of managing IP addresses on the network. | |
Change parameters of a DHCP-managed network |
Modify the information that is passed to clients of a particular network. |
"How to Modify Configuration of a DHCP Network (DHCP Manager)" |
Delete a network from the DHCP service |
Remove a network so that IP addresses on the network are no longer managed by DHCP |
By default both dhcpconfig and DHCP Manager's Configuration Wizard configure the DHCP server to monitor all the server system's network interfaces. If you add a new network interface to the server system, the DHCP server automatically monitors the new interface when you boot the system. You can then add any networks that will be monitored through the network interface.
However, DHCP Manager also allows you to specify which network interfaces the DHCP service should monitor and which it should ignore. You might want to ignore an interface if you do not want to offer DHCP service on that network.
If you specify that any interface should be ignored, and then install a new interface, the DHCP server ignores the new interface unless you add it to the list of monitored interfaces in DHCP Manager.
The dhcpconfig utility does not allow you to ignore a network interface.
This section includes procedures for ignoring a network interface and monitoring a new network interface using DHCP Manager's Modify Service Options dialog box, which is shown in the following figure.
Choose Modify from the Service menu.
The Modify Service Options dialog box is displayed.
Select the Interfaces tab.
In the Monitored Interfaces list, select the network interface that should not receive DHCP service.
Click the right arrow button to move the network interface listing to the Ignored Interfaces list.
Click OK.
Choose Modify from the Service menu.
The Modify Service Options dialog box is displayed.
Select the Interfaces tab.
In the Ignored Interfaces list, select the network interface that should receive DHCP service.
Click the left arrow button to move the network interface listing to the Monitored Interfaces list.
Click OK.
The first network, usually the local one on the primary interface, is configured when you configure the server with the DHCP Configuration Wizard. This section describes the procedures for placing additional networks under DHCP management using DHCP Manager's Network Wizard.
For information about adding networks using command lines, see "Configuring Networks Using dhcpconfig".
The following figure shows the initial dialog box for the DHCP Network Wizard.
When you configure a new network, DHCP Manager creates the following:
Network table in the data store. The new network is shown in the network list on the Addresses tab of DHCP Manager.
Network macro containing information needed by clients that reside on this network. The macro's name matches the IP address of the network.
Adding a new network with commands requires you to know the labels of the standard DHCP options, or tokens, used to pass information to the clients. See the dhcptab(4) manual page for information about the standard DHCP options.
Click the Addresses tab in DHCP Manager.
Choose Network Wizard from the Edit menu.
Select options or type requested information based on the decisions you made during the planning phase.
Planning is described in "Planning for Remote Network Configuration".
If you have difficulty with the wizard, click Help in the wizard window to open your web browser and display help for the DHCP Network Wizard.
Click Finish to complete the network configuration when you have finished entering the requested information.
The Network Wizard creates a network macro whose name matches the IP address of the network. If you click the Macros tab and select the network macro, you can confirm that the information you provided in the wizard has been inserted as values for options contained in the macro.
The Network Wizard creates an empty network table, which is listed in the left pane of the window. You must add addresses for the network before the network's IP addresses can be managed under DHCP.
After you add a network to the DHCP service, you can modify the configuration information you originally supplied only by modifying the network macro used to pass information to the clients on the network.
The following figure shows the Macros tab of the DHCP Manager.
Select the Macros tab.
All macros defined for this DHCP server are listed in the left pane.
Select the network macro matching the network whose configuration you want to change.
The network macro name is the network IP address.
Choose Properties from the Edit menu.
The Macro Properties dialog box opens, displaying a table of the options included in the macro.
Select the option you want to modify.
The option name and value are displayed in text fields near the top of the dialog box.
Type the new value for the option and click Modify.
You can also add options here by clicking Select in the dialog box. See "Modifying DHCP Macros" for more general information about modifying macros.
Select Notify DHCP Server of Change and click OK.
The change is made to the dhcptab and the DHCP server is signaled to reread thedhcptab and put the changes into effect.
Determine which macro includes information for all clients of the network.
The network macro's name should match the network IP address.
If you don't know which macro includes this information, you can display the dhcptab database to list all macros, using the command dhtadm -P.
Type a command of the following format to change the value of the option you want to change:
# dhtadm -M -m macro-name -e 'symbol=value' |
For example, to change the 172.25.62.0 macro's lease time to 57600 seconds and NIS domain to sem.west.com, type the following:
# dhtadm -M -m 172.25.62.0 -e 'LeaseTim=57600' # dhtadm -M -m 172.25.62.0 -e 'NISdmain=sem.west.com' |
Type the following command as root to make the DHCP daemon reread dhcptab:
# pkill -HUP in.dhcpd |
DHCP Manager enables you to remove multiple networks at once. You have the option to automatically remove the hosts table entries associated with the DHCP-managed IP addresses on those networks as well. The following figure shows DHCP Manager's Delete Networks dialog box.
The pntadm command requires you to delete each IP address entry from a network before deleting that network. You can delete only one network at a time.
Select the Addresses tab.
Choose Delete Networks from the Edit menu.
The Delete Networks dialog box opens.
In the Keep Networks list, select the networks you want to delete.
Press the Control key while clicking with the mouse to select multiple networks, or press the Shift key while clicking to select a range of networks.
Click the right arrow button to move the selected networks to the Delete Networks list.
If you want to remove the host table entries for the DHCP-managed addresses on this network, select Delete Host Table Entries.
Click OK.
Note that this procedure deletes the addresses on the network before removing the network. This ensures that the hostnames are removed from the hosts file.
Become superuser on the server system.
Type a command following this format to remove an IP address and its hostname from the name service:
# pntadm -D -yIP-address |
For example, to remove address 172.25.52.1, type the following:
# pntadm -D -y 172.25.52.1 |
The -y option specifies to delete the hostname.
Repeat the pntadm -D -y command for each address in the network.
You might want to create a script to do this is you are deleting many addresses.
After all addresses are deleted, type the following to delete the network from the DHCP service.
# pntadm -R network-IP-address |
For example, to remove network 172.25.52.0, type the following:
# pntadm -R 172.25.52.0 |
To support BOOTP clients on your DHCP server, you must set up your DHCP server to be BOOTP compatible. You can register BOOTP clients in the DHCP server's database or reserve a number of IP addresses for allocation to BOOTP clients, depending how you set up BOOTP compatibility.
You can set up support for BOOTP clients in one of the following ways:
Automatic BOOTP support - Any BOOTP client on a DHCP-managed network, or on a network connected by a BOOTP relay agent to a DHCP-managed network can obtain an IP address from the server. This requires you to reserve a pool of addresses for exclusive use by BOOTP clients. This option may be more useful if the server must support a large number of BOOTP clients.
Manual BOOTP support - Only those BOOTP clients that have been manually registered with the DHCP service will receive a response from the server. This requires you to bind a client's ID to a particular IP address that has been marked for BOOTP clients. This option is useful for a small number of BOOTP clients, or in the event that you want to restrict the BOOTP clients that can use the server.
BOOTP addresses are permanently assigned, whether or not you explicitly assign them a permanent lease.
The following task map lists tasks you need to perform to support BOOTP clients and the procedures used to carry them out.
Table 11-4 BOOTP Support Task Map
Tasks.... |
Description |
For Instructions, Go To |
---|---|---|
Set up automatic BOOTP support |
Provide IP address for any BOOTP client on a DHCP-managed network, or on a network connected by a relay agent to a DHCP-managed network. | |
Set up manual BOOTP support |
Provide IP address for only those BOOTP clients that have been manually registered with the DHCP service. |
"How to Set Up Support of Registered BOOTP Clients (DHCP Manager)" "How to Set Up Support for Registered BOOTP Clients (Command Line)" |
Select Modify from the Service menu.
The Modify Service Options dialog box opens.
In the BOOTP Compatibility section of the dialog box, select Automatic.
Select Restart Server, if it is not already selected.
Click OK.
Select the Addresses tab in DHCP Manager.
Select addresses that you want to reserve for BOOTP clients.
Select a range of addresses by clicking the first address, pressing the Shift key, and clicking the last address.
Select multiple non-concurrent addresses by pressing the Control key while clicking each address.
Select Properties from the Edit menu.
The Modify Multiple Addresses dialog box opens.
In the BOOTP section, select Assign All Address Only to BOOTP Clients.
All other options should be set to Keep Current Settings.
Click OK.
Any BOOTP client can now obtain an address from this DHCP server.
Select Modify from the Service menu.
The Modify Service Options dialog box opens.
In the BOOTP Compatibility section of the dialog box, select Manual.
Select Restart Server if it is not already selected.
Click OK.
Select the Addresses tab in DHCP Manager.
Select an address you want to assign to a particular BOOTP client.
Choose Properties from the Edit menu.
The Address Properties dialog box opens.
Select the Lease tab.
In the Client ID field, type the client's identifier.
For a BOOTP client running the Solaris operating environment on an Ethernet network, the client ID is a string derived from the client's hexadecimal Ethernet address, preceded by the ARP type for Ethernet (01). For example, a BOOTP client having the Ethernet address 8:0:20:94:12:1e would use the Client ID 0108002094121E. See Table 13-4 for the ARP types.
As superuser on the client machine, type the following to obtain the Ethernet address for the interface: ifconfig -a
Select Reserved to reserve the IP address for this client.
Select Assign Only to BOOTP Clients.
Click OK.
In the Addresses tab, BOOTP is displayed in the Status field, and the client ID you entered is listed in the Client ID field.
Log in to the system as root or become superuser, and type the following:
# /usr/sbin/dhcpconfig |
The text-based DHCP Configuration menu is displayed.
Type 1 and press Return to select Configure DHCP Service.
Answer the following prompts as shown to skip to the BOOTP compatibility options.
If no user input is indicated, press Return to accept the default.
Would you like to stop the DHCP service? (recommended) ([Y]/N) Enter datastore (files or nisplus) [files]: Enter absolute path to datastore directory [/var/dhcp]: Would you like to specify nondefault daemon options (Y/[N]): Would you like to specify nondefault server options (Y/[N]):Y How long (in seconds) should the DHCP server keep outstanding OFFERs? [10]: How often (in minutes) should the DHCP server rescan the dhcptab? [Never]: |
Answer the prompts as follows to enable BOOTP compatibility:
Do you want to enable BOOTP compatibility mode? (Y/[N]):Y Do you want the server to allocate IP addresses to new BOOTP clients? ([Y]/N) |
Answer the following prompts as shown to advance to prompts for creating addresses:
### Initialize dhcptab table ### The dhcptab table already exists. Do you want to merge initialization data with the existing table? (Y/[N]): ### Select Networks For BOOTP/DHCP Support ### Enable DHCP/BOOTP support of networks you select? ([Y]/N): |
If you want to create BOOTP addresses on the local network, continue with the next step.
If you want to create BOOTP addresses on a remote network, skip to Step 7.
Answer the following prompts as shown to create the BOOTP addresses on the local network:
Note this is an example of adding four addresses for network 172.21.0.0. You should substitute appropriate responses for your network.
### Configure Local Networks ### Configure BOOTP/DHCP on local LAN network: 172.21.0.0? ([Y]/N): Do you want hostnames generated and inserted in the nisplus hosts table? (Y/[N]): Enter starting IP address [172.21.0.0]: 172.21.0.15 Enter the number of clients you want to add (x < 65535): 4 BOOTP compatibility with automatic allocation is enabled. Do you want any of your 4 addresses to be BOOTP specific? ([Y]/N): How many (x <= 4): 4 The dhcp network table: 172.21.0.0 already exists. Do you want to add entries to it? ([Y]/N): dhcptab macro "172.21.0.0" already exists. Do you want to merge initialization data with the existing macro? ([Y]/N):N Disable (ping) verification of 172.21.0.0 address(es)? (Y/[N]): / 75% Complete. Configured 4 entries for network 172.21.0.0. |
If you want to create BOOTP addresses on a remote network, answer the prompts as follows:
Note this is an example of adding four addresses for network 172.23.0.0, where clients access the network via LAN connection. You should substitute appropriate responses for your network.
### Configure Remote Networks ### Would you like to configure BOOTP/DHCP service on remote networks? ([Y]/N): Enter Network Address of remote network, or <RETURN> if finished: 172.23.0.0 Do clients access this remote network via LAN or PPP connection? ([L]/P): Do you want hostnames generated and inserted in the nisplus hosts table? (Y/[N]): Enter Router (From client's perspective), or <RETURN> if finished. IP address: Optional: Enter Remote Network's MTU (e.g. ethernet == 1500): Enter starting IP address [172.23.0.0]: 172.23.0.10 Enter the number of clients you want to add (x < 65535): 4 BOOTP compatibility with automatic allocation is enabled. Do you want any of your 4 addresses to be BOOTP specific? ([Y]/N): How many (x <= 4): 4 The dhcp network table: 172.23.0.0 already exists. Do you want to add entries to it? ([Y]/N): dhcptab macro "172.23.0.0" already exists. Do you want to merge initialization data with the existing macro? ([Y]/N):N Disable (ping) verification of 172.23.0.0 address(es)? (Y/[N]): / 75% Complete. Configured 4 entries for network 172.23.0.0. Enter Network Address of remote network, or <RETURN> if finished: |
Type 4 and press Return to exit dhcpconfig.
Log in to the system as root or become superuser, and type the following:
# /usr/sbin/dhcpconfig |
The text-based DHCP Configuration menu is displayed.
Type 1 and press Return to select Configure DHCP Service.
Answer the following prompts as shown to skip to the BOOTP compatibility options.
If no user input is indicated, press Return to accept the default.
Would you like to stop the DHCP service? (recommended) ([Y]/N)Y Enter datastore (files or nisplus) [files]: Enter absolute path to datastore directory [/var/dhcp]: Would you like to specify nondefault daemon options (Y/[N]): Would you like to specify nondefault server options (Y/[N]):Y How long (in seconds) should the DHCP server keep outstanding OFFERs? [10]: How often (in minutes) should the DHCP server rescan the dhcptab? [Never]: |
Answer the BOOTP prompts as follows:
Do you want to enable BOOTP compatibility mode? (Y/[N]):Y Do you want the server to allocate IP addresses to new BOOTP clients? ([Y]/N):N |
Type N to prevent unregistered BOOTP clients from obtaining IP addresses. This is analogous to DHCP Manager's "manual" option.
The dhcptab table already exists. Do you want to merge initialization data with the existing table? (Y/[N]):N Enable DHCP/BOOTP support of networks you select? ([Y]/N):N |
Typing N here avoids prompts for adding networks to the DHCP service.
Would you like to restart the DHCP service? (recommended) ([Y]/N):Y |
Type 4 and press Return to exit dhcpconfig.
Modify or add addresses and reserve them for use by specific BOOTP clients by typing a command using one of the following formats:
To modify an existing address for BOOTP:
# pntadm -M ip-address -i client-id -f BOOTP -e -1 -m macro-name network-ip-address |
For example, to modify the address 172.21.20.33, assign it to a client whose Ethernet hardware address is 8:0:20:89:a1:d2 and set the BOOTP flag, type the following:
# pntadm -M 172.21.20.33 -i 0108002089A1D2 -f BOOTP |
To add a new BOOTP address:
# pntadm -A ip-address -i client-id -f BOOTP -m macro-name network-ip-address |
For example, to add the address 172.21.20.34, assign it to a client whose Ethernet hardware address is 8:0:20:89:a1:d2, set the BOOTP flag, and to have the client receive the contents of the blue2 macro, type the following:
pntadm -A 172.21.20.34 -i 0108002089A1D2 -f BOOTP -m blue2 172.21.0.0 |
You should reserve one BOOTP address for each BOOTP client on the network.
You can use DHCP Manager or the pntadm command to add IP addresses, modify their properties, and remove them from the DHCP service. Before working with IP addresses, you should refer to Table 11-6 to become familiar with IP address properties. The table provides information for users of DHCP Manager and pntadm.
This section does not include procedures for using the pntadm command. However Table 11-6 includes examples of using pntadm to specify IP address properties while adding and modifying IP addresses. Please also refer to the pntadm(1M) man page for more information about pntadm.
The following task map lists tasks you must perform to add, modify, remove IP addresses and the procedures used to carry them out.
Table 11-5 IP Addresses in DHCP Task Map
Tasks |
Description |
For Instructions, Go To... |
---|---|---|
Add single or multiple IP addresses to DHCP service. |
Add IP addresses on networks that are already managed by the DHCP service using DHCP Manager. |
"How to Create a Single IP Address (DHCP Manager)" |
Change properties of an IP address. |
Change any of the IP address properties described in Table 11-6. | |
Remove IP addresses from DHCP service. |
Prevent the use of specified IP addresses by DHCP. |
"How to Mark Addresses Unusable (DHCP Manager)" "How to Delete IP Addresses from DHCP Service (DHCP Manager)" |
Assign consistent address to a DHCP client. |
Set up a client to receive the same IP address each time it requests its configuration. |
"How to Assign a Consistent IP Address to a DHCP Client (DHCP Manager)" |
The following table lists and describes the properties of IP addresses.
Table 11-6 IP Address Properties
Property |
Description |
How to Specify in pntadm Command |
---|---|---|
Network address |
Address of the network that contains the IP address you are working with. The network address is displayed in the Networks list on the Addresses tab in DHCP Manager.
|
The network address must be the last argument on the pntadm command line used to create, modify, or delete an IP address. For example, to add an IP address to network 172.21.0.0 pntadm -A ip-address options 172.21.0.0 |
IP address |
Address you are working with, whether you are creating, modifying, or deleting it. The IP address is displayed in the first column of the DHCP Manager's Addresses tab. |
The IP address must accompany the -A, -M, and -D options to the pntadm command. For example, to modify IP address 172.21.5.12 pntadm -M 172.21.5.12 options 172.21.0.0 |
Client name |
Host name mapped to the IP address in the hosts table. This name may be automatically generated by DHCP Manager or dhcpconfig when addresses are created. If you create a single address, you can supply the name. |
Specify the client name with the -h option. For example, to specify client name carrot12 for 172.21.5.12: pntadm -M 172.21.5.12 -h carrot12 172.21.0.0 |
Owning server |
DHCP server that manages the IP address and is responsible for responding to the DHCP client's request for IP address allocation. |
Specify the owning server name with the -s option. For example to specify server blue2 to own 172.21.5.12: pntadm -M 172.21.5.12 -s blue2 172.21.0.0 |
Configuration macro |
Macro the DHCP server uses to obtain network configuration options from the dhcptab database. Several macros are created automatically when you configure a server and add networks. See "About Macros" for more information about macros. The server macro is selected by default when DHCP Manager or dhcpconfig create addresses. |
Specify the macro name with the -m option. For example, to assign the server macro blue2 to address 172.21.5.12 pntadm -M 172.21.5.12 -m blue2 172.21.0.0 |
Client ID |
Text string derived from the client's hexadecimal hardware address, preceded by the ARP code for the type of network, such as 01 for Ethernet. See Table 13-4 for a full list of ARP hardware codes. For example, a client having the hexadecimal Ethernet address 8:0:20:94:12:1e would use the Client ID 0108002094121E. The client ID is listed in DHCP Manager and pntadm when a client is currently using an address. If you specify a client ID when modifying the properties of an IP address, you manually bind the address to that client for its exclusive use. Tip: As superuser on the client machine, type the following to obtain the Ethernet address for the interface: ifconfig -a |
Specify the client ID with the -i option. For example, to assign client ID 08002094121E to address 172.21.5.12 pntadm -M 172.21.5.12 -i 0108002094121E 172.21.0.0 |
Reserved |
Setting that specifies the address is reserved exclusively for the client indicated by the client ID, and the DHCP server cannot reclaim the address. If you choose this option, you manually assign the address to the client. |
Specify that the address is reserved, or manual, with the -f option. For example, to specify that IP address 172.21.5.12 is reserved for a client: pntadm -M 172.21.5.12 -f MANUAL 172.21.0.0 |
Lease type |
Setting that determines how DHCP manages the use of the IP address by clients. A lease may be dynamic or permanent. See "Dynamic and Permanent Lease Type" for a complete explanation. |
Specify that the address would be permanently assigned with the -f option. Addresses are dynamically leased by default. For example, to specify that IP address 172.21.5.12 has a permanent lease pntadm -M 172.21.5.12 -f PERMANENT 172.21.0.0 |
Lease expiration time |
Date and time when the lease expires, applicable only when a dynamic lease is specified. The date is specified in mm/dd/yyyy format, and is calculated by the DHCP server. |
Specify an absolute lease expiration time with -e. For example, to specify an expiration time of Jaunary 1, 2000: pntadm -M 172.21.5.12 -e 01/01/2000 172.21.0.0 |
BOOTP setting |
Setting that marks the address as reserved for BOOTP clients. See "Supporting BOOTP Clients with DHCP Service" for more information about supporting BOOTP clients. |
Reserve an address for BOOTP clients with -f. For example, to reserve IP address 172.21.5.12 for BOOTP clients: pntadm -M 172.21.5.12 -f BOOTP 172.21.0.0 |
Unusable setting |
Setting that marks the address so it cannot be assigned to any client. |
Mark an address unusable with -f. For example, to mark IP address 172.21.5.12 unusable: pntadm -M 172.21.5.12 -f UNUSABLE 172.21.0.0 |
Before you add addresses, you must add the network that owns them to the DHCP service. See "Adding DHCP Networks" for information about adding networks.
You can add addresses using DHCP Manager or dhcpconfig. If you want to use commands to add addresses, use dhcpconfig as explained in "Configuring Networks Using dhcpconfig".
You can add addresses on networks that are already managed by the DHCP service in several ways using DHCP Manager:
Create a single IP address - Place one new IP address under DHCP management.
Duplicate an existing IP address - Copy the properties of an existing IP address managed by DHCP, and supply a new IP address and client name.
Create a range of multiple IP addresses - Use the Address Wizard to place a series of IP addresses under DHCP management.
The following figure shows the Create Address dialog box. The Duplicate Address dialog box is identical to the Create Address dialog box, except that the text fields display the values for an existing address.
The following figure shows the first dialog of the Address Wizard, used to create a range of IP addresses.
Select the Addresses tab.
Select the network where the new IP address is to be added.
Choose Create from the Edit menu.
The Create Address dialog box opens.
Select or type values for the address settings on the Address and Lease tabs.
See Table 11-6 for information about the settings.
Click OK.
Select the Addresses tab.
Select the network where the new IP address is located.
Select the address whose properties you want to duplicate.
Choose Duplicate from the Edit menu.
Change the IP address and client name for the address.
Most other options should remain the same, but you can change them if necessary.
Click OK.
Select the Addresses tab.
Select the network where the new IP addresses are to be added.
Choose Address Wizard from the Edit menu.
The Address Wizard starts, prompting you to provide values for the IP address properties. See Table 11-6 for more information about the properties. "Making Decisions for IP Address Management" includes more extensive information.
Click the right arrow button as you finish entering information in each screen, and click Finish on the last screen.
The Addresses tab is updated with the new addresses.
After adding IP addresses to the DHCP service, you can modify any of the properties described in Table 11-6 using DHCP Manager or the pntadm -M command. See the pntadm(1M) man page for more information about using pntadm -M.
The following figure shows the Address Properties dialog box that you use to modify IP address properties.
The following figure shows the Modify Multiple Addresses dialog box that you use to modify multiple IP addresses.
Select the Addresses tab.
Select the IP address's network.
Select one or more IP addresses you want to modify.
If you want to modify more than one address, press the Control key while clicking with the mouse to select multiple addresses. You can also press the Shift key while clicking to select a block of addresses.
Choose Properties from the Edit menu.
The Modify Addresses dialog box or the Modify Multiple Address dialog box opens.
Change the appropriate properties.
Refer to Table 11-6 for information about the properties.
Click OK.
At times you might want the DHCP service to stop managing a particular address or group of addresses. The method you use to remove an address from DHCP depends on whether you want the change to be temporary or permanent.
To temporarily prevent the use of addresses, you can mark them unusable in the Address Properties dialog box as described in "Marking IP Addresses Unusable by the DHCP Service".
To permanently prevent the use of addresses by DHCP clients, delete the addresses from the DHCP network tables, as described in "Deleting IP Addresses from DHCP Service".
You can use the pntadm -M command with the -f UNUSABLE option to mark addresses unusable using the command line.
In DHCP Manager, you use the Address Properties dialog box, shown in Figure 11-10, to mark individual addresses, and the Modify Multiple Addresses dialog box, show in Figure 11-11, to mark multiple addresses, as described in the following procedure.
You should delete IP addresses from the DHCP service database if you no longer want the address to be managed by DHCP. You can use the pntadm -D command or DHCP Manager's Delete Address dialog box.
The following figure shows the Delete Address dialog box.
Select the Addresses tab.
Select the IP address's network.
Select one or more IP addresses you want to mark unusable.
If you want to mark more than one address unusable, press the Control key while clicking with the mouse to select multiple addresses. You can also press the Shift key while clicking to select a block of addresses.
Choose Properties from the Edit menu.
The Modify Addresses dialog box or the Modify Multiple Address dialog box opens.
If you are modifying one address, select the Lease tab.
Select Address is Unusable.
If you are editing multiple addresses, select Mark All Addresses Unusable.
Click OK.
Select the Addresses tab.
Select the IP address's network.
Select one or more IP addresses you want to delete.
If you want to delete more than one address, press the Control key while clicking with the mouse to select multiple addresses. You can also press the Shift key while clicking to select a block of addresses.
Choose Delete from the Edit menu.
The Delete Address dialog box opens listing the address you selected so you can confirm the deletion.
If you want to delete the host names from the hosts table, select Delete From Hosts Table.
If the host names were generated by DHCP Manager or dhcpconfig, you might want to delete the names from the hosts table.
Click OK.
The Solaris DHCP service attempts to provide the same IP address to a client that has previously obtained an address through DHCP. However, it is not always possible when dynamic leasing is in use.
Routers, NIS/NIS+, DNS servers, and other hosts critical to the functioning of a network should not use DHCP because they should not rely on the network to obtain their IP addresses. Clients such as print or file servers should have consistent IP addresses as well, but can be set up to receive their network configurations through DHCP.
You can set up a client to receive the same IP address each time it requests its configuration by reserving, or manually assigning, the client's ID to the address you want it to use. You can set up the reserved address to use a dynamic lease to make it easy to track the use of the address, or a permanent lease if you do not require use tracking. However, permanent leases are not recommended because once a client obtains a permanent lease, it does not contact the server again and cannot obtain updated configuration information unless it releases the IP address and restarts the DHCP lease negotiation.
You can use pntadm -M command or DHCP Manager's Address Properties dialog box.
The following figure shows the Lease tab of the Address Properties dialog box used to modify the lease.
Determine the client ID for the client you want to have a permanent IP address.
See the entry for client ID in Table 11-6 for information about determining the client ID.
Select the Addresses tab in DHCP Manager.
Select the appropriate network.
Double-click the IP address you want to the client to use.
The Address Properties window opens.
Select the Lease tab.
In the Client ID field, type the client ID you determined from the client's hardware address.
Select the Reserved option to prevent the IP address from being reclaimed by the server.
In the Lease Policy area of the window, select Dynamic or Permanent assignment.
Select Dynamic if you want the client to negotiate to renew leases, and thus be able to track when the address is being used. (Because you selected Reserved, the address cannot be reclaimed even when using dynamic leasing.) You do not need to enter an expiration date for this lease; the DHCP server calculates the expiration date based on the lease time.
Selecting Permanent is not recommended because you cannot track the use of the IP address unless you enable transaction logging.
DHCP macros are containers of DHCP options. The Solaris DHCP service uses macros to gather together options that should be passed to clients. DHCP Manager and dhcpconfig create a number of macros automatically when you configure the server. See "About Macros" for background information about macros, and Chapter 10, Configuring DHCP Service for information about macros created by default.
You might find that when changes occur on your network, you need to make changes to the configuration information passed to clients. To do this, you need to work with macros by adding, modifying, duplicating, or deleting them.
Working with macros requires knowledge of DHCP standard options, which are described in the dhcptab(4) man page.
The following task map lists tasks for viewing, modifying, adding, and deleting DHCP macros.
Table 11-7 DHCP Macros Task Map
Tasks |
Description |
For Instructions, Go To... |
---|---|---|
View DHCP macros. |
Display a list of all the macros defined on the DHCP server. |
"How to View Macros Defined on a DHCP Server (DHCP Manager)" |
Add DHCP macros. |
Create new macros to support DHCP clients. | |
Modify values passed in macros to DHCP clients. |
Change macros by modifying existing options, adding options to macros, removing options from macros. |
"How to Change Values for Options in a DHCP Macro (DHCP Manager)" |
Delete DHCP macros. |
Remove DHCP macros that are no longer used. |
The following figure shows the Macros tab in the DHCP Manager window.
You can use DHCP Manager or dhtadm -P to display all the macros defined on a DHCP server.
Select the Macros tab.
The Macros area on the left side of the window displays, in alphabetical order, all macros defined on the server. Macros preceded by a folder icon include references to other macros, while macros preceded by a document icon do not reference other macros.
To open a macro folder, click the open/close widget to the left of the folder icon.
The macros included in the selected macro are listed.
To view the contents of a macro, click the macro name and look at the area on the right side of the window.
Options and their assigned values are displayed.
You might need to modify macros when some aspect of your network changes and one or more clients need to know about the change. For example, you might add a router or a NIS server, create a new subnet, or decide to change the lease policy.
When you modify a macro, you must know the name of the DHCP option that corresponds to the parameter you want to change, add, or delete. The standard DHCP options are listed in the DHCP Manager help and in the dhcptab(4) man page.
You can use the dhtadm -M -m command or DHCP Manager to modify macros. See the dhtadm(1M) man page for more information about dhtadm.
The following figure shows DHCP Manager's Macro Properties dialog box.
Select the Macros tab.
Select the macro you want to change.
Choose Properties from the Edit menu.
The Macro Properties dialog box opens.
In the table of Options, select the option you want to change.
The option's name and value are displayed in the Option Name and Option Value fields.
In the Option Value field, select the old value and type the new value for the option.
Click Modify.
The new value is displayed in the options table.
Select Notify DHCP Server of Change.
This selection tells the DHCP server to reread the dhcptab to put the change into effect immediately after you click OK.
Click OK.
Select the Macros tab.
Select the macro you want to change.
Choose Properties from the Edit menu.
The Macro Properties dialog box opens.
In the Option Name field, specify the name of an option using one of the following methods:
Click the Select button next to the Option Name field and select the option you want to add to the macro.
The Select Option dialog box displays an alphabetized list of names of Standard category options and descriptions. If you want to add an option that is not in the Standard category, use the Category list to select the category you want.
See "About Macros" for more information about macro categories.
Type Include if you want to include a reference to an existing macro in the new macro.
Type the value for the option in the Option Value field.
If you typed Include as the option name, you must specify the name of an existing macro in the Option Value field.
Click Add.
The option is added to the bottom of the list of options displayed for this macro. If you want to change the option's position in the list, select the option and click the arrow keys next to the list to move the option up or down.
Select Notify DHCP Server of Change.
This selection tells the DHCP server to reread the dhcptab to put the change into effect immediately after you click OK.
Click OK.
Select the Macros tab.
Select the macro you want to change.
Choose Properties from the Edit menu.
The Macro Properties dialog box opens.
Select the option you want to remove from the macro.
Click Delete.
The option is removed from the list of options for this macro.
Select Notify DHCP Server of Change.
This selection tells the DHCP server to reread the dhcptab to put the change into effect immediately after you click OK.
Click OK.
You may want to add new macros to your DHCP service to support clients with specific needs. You can use the dhtadm -A -m command or DHCP Manager's Create Macro dialog box to add macros. See the dhtadm(1M) man page for more information about dhtadm.
The following figure shows DHCP Manager's Create Macro dialog box.
Select the Macros tab.
Choose Create from the Edit menu.
The Create Macro dialog box opens.
Type a unique name for the macro.
If you use a name that matches a vendor class identifier, network address, or client ID, the macro will be processed automatically for appropriate clients. If you use a different name, the macro can only be processed if it is assigned to a specific IP address or included in another macro that is processed. See "Macro Processing by the DHCP Server" for more detailed information.
Click the Select button next to the Option Name field.
The Select Option dialog box opens, displaying an alphabetized list of names of Standard category options and their descriptions.
If you want to an option that is not in the Standard category, use the Category list to select the category you want.
See "About Options" for more information about option categories.
Select the option you want to add to the macro and click OK.
The Macro Properties dialog box displays the selected option in the Option Name field.
Type the value for the option in the Option Value field.
Click Add.
The option is added to the bottom of the list of options displayed for this macro. If you want to change the option's position in the list, select the option and click the arrow keys next to the list to move the option up or down.
Repeat Step 6 through Step 8 for each option you want to add to the macro.
If you want to rearrange the order of the options, select option names and click the arrow keys to move the names up and down in the list of options.
Select Notify DHCP Server of Change when you are finished adding options.
This selection tells the DHCP server to reread the dhcptab to put the change into effect immediately after you click OK.
Click OK.
You might want to delete a macro from the DHCP service. For example, if you delete a network from the DHCP service, you can also delete the associated server macro because it will no longer be used.
You can use the dhtadm -D -m command or DHCP Manager to delete macros.
Select the Macros tab.
Select the macro you want to delete.
The Delete Macro dialog box opens, prompting you to confirm that you want to delete the specified macro.
Select Notify DHCP Server of Change.
Click OK.
Options are keywords for network configuration parameters that the DHCP server can pass to clients. In the Solaris DHCP service, the only options that you can create, delete, or modify are those that are not specified as standard options in the Solaris DHCP service. For this reason, when you first set up your DHCP service, the Options tab in DHCP Manager is empty until you create options for your site.
If you create options on the DHCP server, you must also add information about the options on the DHCP client. For the Solaris DHCP client, you must edit the /etc/dhcp/inittab file to add entries for the new options. If you have non-Solaris DHCP clients, refer to the documentation for those clients for information about adding new options or symbols. See "About Options" for more information about options in Solaris DHCP.
You can use either DHCP Manager or the dhtadm command to create, modify, or delete options.
Options are called symbols in the DHCP literature. The dhtadm command and man page also refer to options as symbols.
The following task map lists tasks you must perform to create, modify, and delete DHCP options and the procedures needed to carry them out.
Table 11-8 DHCP Options Task Map
Tasks |
Description |
For Instructions, Go To... |
---|---|---|
Create DHCP options. |
Add new options for information not covered by a standard DHCP option. |
"How to Create DHCP Options (DHCP Manager)" |
Modify DHCP options. |
Change properties of DHCP options you have created. | |
Delete DHCP options. |
Remove DHCP options you have created. |
Before creating options, you should be familiar with the option properties listed in the following table.
Table 11-9 DHCP Option Properties
Option Properties |
Description |
---|---|
Category |
The category of an option must be one of the following: Vendor - Options specific to a client's vendor platform, either hardware or software. Site - Options specific to your site. Extend - Newer options that have been added to the DHCP protocol, but not yet implemented as standard options in Solaris DHCP. |
Code |
The code is a unique number you assign to an option; the same code cannot be used for any other option within its option category. The code must be appropriate for the option category: Vendor - Code values of 1-254 for each vendor class Site - Code values of 128-254 Extend - Code values of 77-127 |
Data type |
The data type specifies what kind of data can be assigned as a value for the option. Valid data types are: ASCII - Text string value. BOOLEAN - No value is associated with the Boolean data type. The presence of the option indicates a condition is true, while the absence of the option indicates false. For example, the Hostname option (which is a Standard option and cannot be modified) is a Boolean. If it is included in a macro, it tells the DHCP server that it should consult name services to see if there is a host name associated with the assigned address. IP - One or more IP addresses, in dotted decimal format (xxx.xxx.xxx.xxx). NUMBER - Unsigned number. For example, the MTU option accepts numbers such as 1500. OCTET - Uninterpreted hexadecimal ASCII representation of binary data. For example, a client ID uses the octet data type. |
Granularity |
Specifies how many "instances" of the data type are needed to represent a complete option value. For example, a data type of IP and a granularity of 2 would mean that the option value must contain two IP addresses. A data type of NUMBER may specify a granularity of 1, 2, 4, or 8 octets each. |
Maximum |
The maximum number of values that can be specified for the option. Building on the previous example, a maximum of 2, with a granularity of 2 and a data type of IP Address would mean that the option value could contain a maximum of two pairs of IP addresses. |
Vendor client classes |
This option is available only when the option category is Vendor. It identifies the client class(es) with which the Vendor option is associated. The Class is an ASCII string representing the client machine type and/or operating system, for example, SUNW.Javastation. This type of option makes it possible to define configuration parameters that are passed to all clients of the same class, and only clients of that class. You can specify multiple client classes. Only those DHCP clients with a client class value matching one you specify will receive the options scoped by that class. For IA32-based machines, the Vendor client class is always SUNW.i86pc. For Sparc-based machines, the Vendor client class can be obtained by typing uname -i on the client. To specify the Vendor client class, substitute periods for any commans in the string returned by the uname command. For example, if the string SUNW,Ultra-1 is returned by the uname -i command, you should specify the Vendor client class as SUNW.Ultra-1. |
If you need to pass clients information for which there is not already an existing option in the DHCP protocol, you can create an option. See dhcptab(4) for a list of all the options that are defined in Solaris DHCP before creating your own.
You can use the dhtadm -A -s command or DHCP Manager's Create Option dialog box to create new options.
The following figure shows DHCP Manager's Create Option dialog box.
Select the Options tab.
Choose Create from the Edit menu.
The Create Options dialog box opens.
Type a short descriptive name for the new option.
The name may contain up to eight alphanumeric characters and no spaces.
Type or select values for each setting in the dialog box.
Refer to Table 11-9 for information about each setting.
Select Notify DHCP Server of Change if you are finished creating options.
Click OK.
You can now add the option to macros and assign a value to the option to pass to clients.
Become superuser on the DHCP server system.
Type a command using the following format:
# dhtadm -A -s option-name-d 'category,code,data-type,granularity,maximum' |
is an alphanumeric string of eight characters or less.
is Site, Extend, or Vendor=list-of-classes, and list-of-classes is a space-separated list of vendor client classes to which the option applies. See Table 11-9 for a information about determining the vendor client class.
is a numeric value appropriate to the option category, as explained in Table 11-9
is ASCII, IP, BOOLEAN, NUMBER, or OCTET
is a non-negative number, as explained in Table 11-9
is a non-negative number, as explained in Table 11-9
The following two commands are two examples:
# dhtadm -A -s NewOpt -d 'Site,130,NUMBER,1,1' # dhtadm -A -s NewServ -d 'Vendor=SUNW.Ultra-1 SUNW.SPARCstation10,200,IP,1,1' |
If you have created options for your DHCP service, you can change the properties for an option using either DHCP Manager or the dhtadm command.
You can use thedhtadm -M -s command or DHCP Manager's Option Properties dialog box to modify options.
Note that you should modify the Solaris DHCP client's option information to reflect the same modification you make to the DHCP service. See "Modifying the Solaris DHCP Client's Option Information".
The following figure shows DHCP Manager's Option Properties dialog box.
Select the Options tab.
Select the option whose properties you want to change.
Choose Properties from the Edit menu.
The Option Properties dialog box opens.
Edit the properties as needed.
See Table 11-9 for information about the properties.
Select Notify Server of Change when you are finished with options.
Click OK.
Become superuser on the DHCP server system.
Type a command using the following format:
# dhtadm -M -s option-name-d 'category,code,data-type,granularity,maximum' |
is the option name whose definition you want to change.
is Site, Extend, or Vendor=list-of-classes, and list-of-classes is a space-separated list of vendor client classes to which the option applies. For example, SUNW.Ultra-1 SUNW.i86pc.
is a numeric value appropriate to the option category, as explained in Table 11-9.
is ASCII, IP, BOOLEAN, NUMBER, or OCTET.
is a non-negative number, as explained in Table 11-9.
is a non-negative number, as explained in Table 11-9.
Note that you must specify all of the DHCP option properties with the -d switch, not just the properties you are changing.
The following two commands are two examples:
# dhtadm -M -s NewOpt -d 'Site,135,NUMBER,1,1' # dhtadm -M -s NewServ -d 'Vendor=SUNW.Ultra-1 SUNW.i86pc,200,IP,1,1' |
You cannot delete standard DHCP options, but if you have defined options for your DHCP service, you can delete them using DHCP Manager or the dhtadm command.
Select the Options tab.
Choose Delete from the Edit menu.
The Delete Options dialog box opens.
Confirm the deletion by clicking OK.
Become superuser on the DHCP server system.
Type a command using the following format:
# dhtadm -D -s option-name |
If you add a new DHCP option to your DHCP server, you must add a complementary entry to each DHCP client's option information. If you are using a DHCP client other than the Solaris DHCP client, please refer to that client's documentation for information about adding options or symbols.
On a Solaris DHCP client, you must edit the /etc/default/inittab file and add an entry for each option that you add to the DHCP server. If you later modify the option on the server, you must modify the entry in the client's /etc/default/inittab file accordingly.
Please refer to the dhcp_inittab(4) man page for detailed information about the syntax of the /etc/default/inittab file.
If you added DHCP options to the dhcptags file in a previous release of Solaris DHCP, you must add the options to the /etc/default/inittab file. See "DHCP Option Information" for more information.
You can use DHCP to install the Solaris operating environment on certain client machines on your network. Only Sun Enterprise Ultra machines and Intel machines meeting the hardware requirements for running the Solaris operating environment can use this feature.
The following task map shows the high-level tasks that must be done to allow clients to obtain install parameters using DHCP.
Table 11-10 DHCP Network Install Task Map
Task |
Description |
For Instructions, Go To... |
---|---|---|
Set up an install server. |
Set up a Solaris server to support clients that want to install the Solaris operating environment from the network. |
"Preparing to Install Solaris Software Over the Network" in Solaris 8 Advanced Installation Guide |
Set up client systems for Solaris installation over the network using DHCP. |
Use add_install_client -d to add DHCP network install support for a class of client (such as those of a certain machine type) or a particular client ID. |
"Preparing to Install Solaris Software Over the Network" in Solaris 8 Advanced Installation Guide |
Create DHCP options for install parameters and macros including the options. |
Use DHCP Manager or dhtadm to create new Vendor options and macros which the DHCP server can use to pass installation information to the clients. |
"Creating DHCP Options and Macros for Solaris Install Parameters" |
When you add clients using the add_install_client -d script on the install server, the script reports DHCP configuration information to standard output. This information can be used when you create the options and macros needed to pass network installation information to clients.
To support clients needing to install from the network, you must create Vendor category options to pass information that is needed to correctly install the Solaris operating environment. The following table shows the options you need to create and the properties needed to create them.
Table 11-11 Values for Creating Vendor Category Options for SUNW Clients
Name |
Code |
Data Type |
Granularity |
Maximum |
Vendor Client Classes * |
Description |
---|---|---|---|---|---|---|
SrootOpt |
1 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
NFS mount options for the client's root file system |
SrootIP4 |
2 |
IP address |
1 |
1 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
IP address of root server |
SrootNM |
3 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Host name of root server |
SrootPTH |
4 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to the client's root directory on the root server |
SswapIP4 |
5 |
IP address |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
IP address of swap server |
SswapPTH |
6 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to the client's swap file on the swap server |
SbootFIL |
7 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to the client's boot file |
Stz |
8 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Time zone for client |
SbootRS |
9 |
NUMBER |
2 |
1 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
NFS read size used by stand-alone boot program when loading kernel |
SinstIP4 |
10 |
IP address |
1 |
1 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
IP address of Jumpstart Install server |
SinstNM |
11 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Host name of install server |
SinstPTH |
12 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to installation image on install server |
SsysidCF |
13 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to sysidcfg file, in the format server:/path |
SjumpsCF |
14 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Path to JumpStart configuration file in the format server:/path |
Sterm |
15 |
ASCII text |
1 |
0 |
SUNW.Ultra-1, SUNW.Ultra-30, SUNW.i86pc |
Terminal type |
* The vendor client classes determine what classes of client can use the option. Vendor client classes listed here are suggestions only. You should specify client classes that indicate the actual clients in your network that will be installing from the network. See Table 11-9 for information about determining a client's vendor client class. |
When you have created the options, you can create macros that include those options. The following table lists suggested macros you can create to support Solaris installation for clients.
Table 11-12 Suggested Macros to Support Network Install Clients
Macro Name |
Contains These Options and Macros |
---|---|
Solaris |
SrootIP4, SrootNM, SinstIP4, SinstNM, Sterm |
sparc |
SrootPTH, SinstPTH |
sun4u |
Solaris and sparc macros |
i86pc |
Solaris macro, SrootPTH, SinstPTH, SbootFIL |
SUNW.i86pc * |
i86pc macro |
SUNW.Ultra-1 * |
sun4u macro, SbootFIL |
SUNW.Ultra-30 * |
sun4u macro, SbootFIL macro |
xxx.xxx.xxx.xxx (network address macros) |
BootSrvA option could be added to existing network address macros. The value of BOOTSrvA should indicate the tftboot server. |
* These macro names match the Vendor client classes of the clients that will install from the network. These names are examples of clients you might have on your network. See Table 11-9 for information about determining a client's vendor client class. |
You can create these options and macros using the dhtadm command or DHCP Manager. If you use dhtadm, it might be easiest to create the options and macros by writing a script that uses the dhtadm command repeatedly. This is the recommended approach.
The following section, "Writing a Script That Uses dhtadm to Create Options and Macros", shows a sample script using the dhtadm command. If you prefer to use DHCP Manager, see "Using DHCP Manager to Create Install Options and Macros".
You can create a Korn shell script by adapting the example below to create all the options listed in Table 11-11 and some useful macros. Be sure to change all IP addresses and values contained in quotes to the correct IP addresses, server names, and paths for your network. You should also edit the Vendor= key to indicate the class of clients you have. Use the information reported by add_install_client -d to obtain the data needed to adapt the script.
# Load the Solaris vendor specific options. We'll start out supporting # the Ultra-1, Ultra-30, and i86 platforms. Changing -A to -M would replace # the current values, rather than add them. dhtadm -A -s SrootOpt -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,1,ASCII,1,0' dhtadm -A -s SrootIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,2,IP,1,1' dhtadm -A -s SrootNM -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,3,ASCII,1,0' dhtadm -A -s SrootPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,4,ASCII,1,0' dhtadm -A -s SswapIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,5,IP,1,0' dhtadm -A -s SswapPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,6,ASCII,1,0' dhtadm -A -s SbootFIL -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,7,ASCII,1,0' dhtadm -A -s Stz -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,8,ASCII,1,0' dhtadm -A -s SbootRS -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,9,NUMBER,2,1' dhtadm -A -s SinstIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,10,IP,1,1' dhtadm -A -s SinstNM -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,11,ASCII,1,0' dhtadm -A -s SinstPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,12,ASCII,1,0' dhtadm -A -s SsysidCF -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,13,ASCII,1,0' dhtadm -A -s SjumpsCF -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,14,ASCII,1,0' dhtadm -A -s Sterm -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,15,ASCII,1,0' # Load some useful Macro definitions # Define all Solaris-generic options under this macro named Solaris. dhtadm -A -m Solaris -d \ ':SrootIP4=172.21.0.2:SrootNM="blue2":SinstIP4=172.21.0.2:SinstNM="red5":Sterm="xterm":' # Define all sparc-platform specific options under this macro named sparc. dhtadm -A -m sparc -d ':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":' # Define all sun4u architecture-specific options under this macro named sun4u. (Includes # Solaris and sparc macros.) dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:' # Solaris on IA32-platform-specific parameters are under this macro named i86pc. dhtadm -A -m i86pc -d \ ':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\ :SbootFIL="/platform/i86pc/kernel/unix":' # Solaris on IA32 machines are identified by the "SUNW.i86pc" class. All # clients identifying themselves as members of this class will see these # parameters in the macro called SUNW.i86pc, which includes the i86pc macro. dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:' # Ultra-1 platforms identify themselves as part of the "SUNW.Ultra-1" class. # By default, we boot these machines in 32bit mode. All clients identifying # themselves as members of this class will see these parameters. dhtadm -A -m SUNW.Ultra-1 -d ':SbootFIL="/platform/sun4u/kernel/unix":Include=sun4u:' # Ultra-30 platforms identify themselves as part of the "SUNW.Ultra-30" class. # By default, we will boot these machines in 64bit mode. All clients # identifying themselves as members of this class will see these parameters. dhtadm -A -m SUNW.Ultra-30 -d ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:' # Add our boot server IP to each of the network macros for our topology served # by our DHCP server. Our boot server happens to be the same machine running DHCP server. dhtadm -M -m 172.20.64.64 -e BootSrvA=172.21.0.2 dhtadm -M -m 172.20.64.0 -e BootSrvA=172.21.0.2 dhtadm -M -m 172.20.64.128 -e BootSrvA=172.21.0.2 dhtadm -M -m 172.21.0.0 -e BootSrvA=172.21.0.2 dhtadm -M -m 172.22.0.0 -e BootSrvA=172.21.0.2 # Make sure we return hostnames to our clients. dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_ # The client with this MAC address is a diskless client. Override the root # settings which at the network scope setup for Install with our client's # root directory. dhtadm -A -m 0800201AC25E -d \ ':SrootIP4=172.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/172.23.128.12":' |
Execute the script as superuser to add the options and macros to your dhcptab. When you have done this, network client classes that are listed in the Vendor= string can install from the network using DHCP.
You can create the options listed in Table 11-11 and the macros listed in Table 11-12 using DHCP Manager.
See Figure 11-17 and Figure 11-16 for illustrations of the dialog boxes you use to create options and macros.
Select the Options tab in DHCP Manager.
Choose Create from the Edit menu.
The Create Option dialog box opens.
Type the option name for the first option and type values appropriate for that option.
Use Table 11-11 to look up the option names and values for options you must create. Notice that the Vendor Client Classes are only suggested values. You should create classes to indicate the actual client types that will install using DHCP. See Table 11-9 for information about determining a client's vendor client class.
Click OK when you have entered all the values.
In the Options tab, select the option you just created.
Select Duplicate from the Edit menu.
The Duplicate Option dialog box opens.
Type the name of another option and modify other values appropriately.
The values for code, data type, granularity, and maximum are most likely to need modification. See Table 11-11 for the values.
Repeat Step 4 through Step 7 until you have created all the options.
You can now create macros to pass the options to network install clients, as explained in the following procedure.
Select the Macros tab in DHCP Manager.
Choose Create from the Edit menu.
The Create Macro dialog box opens.
Type the name of a macro.
See Table 11-12 for macro names you might use.
Click the Select button.
The Select Option dialog box opens.
Select Vendor in the Category list.
The Vendor options you created are listed.
Select an option you want to add to the macro and click OK.
Type a value for the option.
See Table 11-11 for the option's data type and refer to the information reported by add_install_client -d.
Repeat Step 4 through Step 7 for each option you want to include.
To include another macro, type Include as the option name and type the macro name as the option value.
Click OK when the macro is complete.