System Administration Guide: IP Services

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:

  1. 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.

  2. 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.

  3. 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. Oracle 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 an Oracle Solaris client, see How to Enable an Oracle Solaris DHCPv4 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 Oracle 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:

Configure the client to request a different name. See How to Enable an Oracle Solaris DHCPv4 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.