Problems With Inaccurate DHCP Configuration Information
If a DHCP client receives inaccurate information in its network configuration information, look at the DHCP server data. You must examine the option values in the macros that the DHCP server processes for this client. Examples of inaccurate information might be the wrong NIS domain name or router IP address.
Use the following general guidelines to help you determine the source of the inaccurate information:
Look at the macros defined on the server as described in How to View Macros Defined on a DHCP Server (DHCP Manager). Review the information in Order of Macro Processing, and determine which macros are processed automatically for this client.
Look at the network table to determine what macro (if any) is assigned to the client's IP address as the configuration macro. See Working With IP Addresses in the DHCP Service (Task Map) for more information.
Take note of any options that occur in more than one macro. Make sure the value that you want for an option is set in the last processed macro.
Edit the appropriate macro or macros to assure that the correct value is passed to the client. See Modifying DHCP Macros.
Problems With the DHCP Client-Supplied Host Name
This section describes problems that you might experience with DHCP clients that supply their own host names to be registered with DNS.
DHCP Client Does Not Request a Host Name
If your client is not a Solaris DHCP client, consult the client's documentation to determine how to configure the client to request a host name. For Solaris DHCP clients, see How to Enable a Solaris Client to Request a Specific Host Name.
DHCP Client Does Not Get Requested Host Name
The following list includes describes possible problems a client might have in getting its requested hostname, and suggested solutions.
Problem: Client accepted an offer from a DHCP server that does not issue DNS updates.
Solution: If two DHCP servers are available to the client, the servers should both be configured to provide DNS updates. See Enabling Dynamic DNS Updates by a DHCP Server for information about configuring the DHCP server and the DNS server.
To determine whether the DHCP server is configured to provide DNS updates:
Determine the IP address of the client's DHCP server. On the client system, use snoop or another application for capturing network packets. See How to Use snoop to Monitor DHCP Network Traffic, and perform the procedure on the client instead of the server. In the snoop output, look for the DHCP Server Identifier to get the IP address of the server.
Log in to the DHCP server system to verify that the system is configured to make DNS updates. Type the following command as superuser:
dhcpconfig -P
If UPDATE_TIMEOUT is listed as a server parameter, the DHCP server is configured to make DNS updates.
On the DNS server, look at the /etc/named.conf file. Find the allow-update keyword in the zone section of the appropriate domain. If the server allows DNS updates by the DHCP server, the DHCP server's IP address is listed in the allow-update keyword.
Problem: Client is using FQDN option to specify host name. Solaris DHCP does not currently support the FQDN option because the option is not officially in the DHCP protocol.
Solution: On the server, use snoop or another application for capturing network packets. See How to Use snoop to Monitor DHCP Network Traffic. In the snoop output, look for the FQDN option in a packet from the client.
Configure the client to specify host name using Hostname option. Hostname is option code 12. Refer to client documentation for instructions.
For a Solaris client, see How to Enable a Solaris Client to Request a Specific Host Name
Problem: DHCP server that makes an address offer to the client does not know the client's DNS domain.
Solution: On the DHCP server look for the DNSdmain option with a valid value. Set the DNSdmain option to the correct DNS domain name in a macro that is processed for this client. DNSdmain is usually contained in the network macro. See Modifying DHCP Macros for information about changing values of options in a macro.
Problem: The host name requested by client corresponds to an IP address that is not managed by the DHCP server. The Solaris DHCP server does not perform DNS updates for IP addresses that the server does not manage.
Solution: Check syslog for one of the following messages from the DHCP server:
There is no n.n.n.n dhcp-network table for DHCP client's network.
DHCP network record for n.n.n.n is unavailable, ignoring request.
Configure the client to request a different name. See How to Enable a Solaris Client to Request a Specific Host Name. Choose a name that is mapped to an address managed by the DHCP server. You can see address mappings in DHCP Manager's Addresses tab. Alternatively, choose an address that is not mapped to any IP address.
Problem: The host name requested by client corresponds to an IP address that is currently not available for use. The address might be in use, leased to another client, or under offer to another client.
Solution: Check syslog for the following message from the DHCP server: ICMP ECHO reply to OFFER candidate: n.n.n.n.
Configure the client to choose a name corresponding to a different IP address. Alternatively, reclaim the address from the client that uses the address.
Problem: DNS server is not configured to accept updates from the DHCP server.
Solution: Examine the /etc/named.conf file on the DNS server. Look for the DHCP server's IP address with the allow-update keyword in the appropriate zone section for the DHCP server's domain. If the IP address is not present, the DNS server is not configured to accept updates from the DHCP server.
See How to Enable Dynamic DNS Updating for DHCP Clients for information about configuring the DNS server.
If the DHCP server has multiple interfaces, you might need to configure the DNS server to accept updates from all of the DHCP server's addresses. Enable debugging on the DNS server to see whether the updates are reaching the DNS server. If the DNS server received update requests, examine the debugging mode output to determine why the updates did not occur. See the in.named.1M man page for information about DNS debugging mode.
Problem: DNS updates might not have completed in the allotted time. DHCP servers do not return host names to clients if the DNS updates have not completed by the configured time limit. However, attempts to complete the DNS updates continue.
Solution: Use the nslookup command to determine whether the updates completed successfully. See the nslookup(1M) man page.
For example, suppose the DNS domain is hills.example.org, and the DNS server's IP address is 10.76.178.11. The host name that the client wants to register is cathedral. You could use the following command to determine if cathedral has been registered with that DNS server:
nslookup cathedral.hills.example.org 10.76.178.11
If the updates completed successfully, but not in the allotted time, you need to increase the time out value. See How to Enable Dynamic DNS Updating for DHCP Clients. In this procedure, you should increase the number of seconds to wait for a response from the DNS server before timing out.