TCP/IP and Data Communications Administration Guide

Client Cannot Reach DHCP Server

Problem

After configuring the DHCP client software and rebooting the client, you are unable to reach a server on the network from the client. All DHCP network commands fail and you see messages that the client is trying to reach the DHCP server and failing.

Typical error messages include:


DHCP or BOOTP server not responding


A request to access nonexistent dhcp_network database: databasename in datastore: datastore.


No more IP addresses for network_address network.

Verification: To pinpoint exactly what the problem is, perform the following actions.

  1. Run the client in debug mode.

  2. Attempt to configure the interface manually to verify that the hardware is functioning.

  3. Run the DHCP server in debug mode.

  4. Use snoop to trace messages sent between the DHCP server and client.

  5. Find out if the problem is on the client or server machines.

  6. Look at the error message and choose a solution from the information below.

Run Client in Debug Mode

Run the client in debug mode. Refer to the documentation for the product you are running.

Solaris 2 Client:

  1. Invoke:


    /sbin/dhcpagent -d3
    

DOS Client

On a PC-NFS DOS client:

  1. Edit the AUTOEXEC.BAT file by replacing SNCLIENT with SNCLIENT /D.

  2. Reboot the client.

Configure the Interface Manually

After dhcpagent has been started in debug mode, you can try to configure an interface manually by typing:


ifconfig interface_name auto_dhcp

Packets that are sent, and any that are received, will be displayed.

Run the Server in Debug Mode

  1. Log in to the root account on a DHCP server on the same subnet as the client.

  2. Kill and restart the DHCP server in debug mode. For example:


    /etc/init.d/dhcp stop
    /usr/lib/inet/in.dhcpd -d -v
    
    Or, if the i option is present, enter the command in the following format:

    /usr/lib/inet/in.dhcpd -i interface_names -d -v
    

Use snoop to Monitor Network Traffic

  1. Log in to the root account on a DHCP server or BOOTP relay agent on the same subnet as the client.

  2. Use the snoop command to trace network traffic. For example:


    snoop -o /tmp/output udp port 67 or udp port 68
    
    or

    snoop -o /tmp/output udp port bootps or udp port bootpc
    
    plus the per-interface argument, if there is one.

  3. Boot the client and watch the network messages on the server.

  4. Type:


    snoop -i /tmp/output -x 0 -v
    
    to view the packet traces.

Look up Error Messages

Look at the output from running the in.dhcpd command in debug mode and use the error message or condition you see to find a solution from the information below.

Problem

You see one of the following error messages:


Datagram received on network device: le0


ICMP ECHO reply to OFFER candidate: ip_address disabling

Verification: Before the DHCP server offers an IP address to a client, it verifies that the IP address is not in use by pinging the IP address. If a client replies, the IP address is in use.

Solution: Make sure the IP addresses you configured are not already in use.

Problem

You see the following error message:


No more IP addresses for network_address network

Verification: There are no available IP addresses in the client's dhcp_network table.

Solution: Use the dhcpconfig command to allocate more IP addresses. If the DHCP daemon is monitoring multiple subnets, be sure the additional IP addresses are for the subnet where the client is located.

Problem

There is a bad client id: id_name in the dhcp_network database.

Verification: The client ID (MAC address) in the dhcp_network table is incorrect.

Solution: If you are using Ethernet, the client ID is 01 followed by the Ethernet address. Make sure that all letters in this address are capitalized. A 00 means the address has not been assigned.

Problem

You see the following error message:


Request to access nonexistent dhcp_network database: database_name in datastore: nisplus_datastore.

Verification: The dhcpconfig script did not create a dhcp_network table for a subnet during the configuration of the DHCP server. This can happen if you set up an isolated LAN, such as a server and two clients, as a test network.

Solution: Use the dhcpconfig command to initialize the dhcp_network table and new IP addresses.

Problem

You receive the error message:


Client client_id is trying to verify unrecorded address ip_address, ignored.

Verification: There are two possible reasons for getting this message:

  1. You can receive this message if your dhcp_network tables have been deleted. If you are using only the Solaris 2 DHCP server, then this is typically the reason.

  2. You can receive it if you are not using NIS+ for datastore, so information is not shared. Make sure that the server is sharing data.

If you have a group of heterogenous servers, then ignore this message.

Solution: Remove old cache files on the client by typing:


ifconfig interface_name dhcp release

Problem

DHCP is started, but some required network services will not start.

Verification: The DHCP server is not supplying the configurations required.

Solution: Find out why the server does not send the parameters that are required. Configure the server to do so.

Problem

DHCP is started, but certain network services, such as NIS and NIS+, report errors or hang. The host cannot communicate with other hosts on the network.

Verification: The dhcpagent command was unable to communicate with DHCP (presumably because DHCP was unavailable) and has used cached data.

Solution: Remove the cache. Type:


ifconfig interface_name dhcp release

Since removing the cache does not solve the problem of getting the proper configuration, the host may have to be configured by hand. At boot time, DHCP should be disabled by removing the trigger file by typing:


rm /etc/dhcp.interface_name

Problem

The client boots and works correctly, but the following message appears:


DHCP renewal on interface_name failed

Verification: DHCP is working, but dhcpagent cannot contact the server to extend the lease.

Solution: Find out why the server is not responding now. This could be because the router value configured in the dhcptab is incorrect or out of date for the client network.

Problem

Messages about failed DHCP renewals are received. Then the following message appears on the console:


DHCP lease expired on interface_name: interface is now down

Network services may hang at this point.

Verification: The lease has expired. The client has not been able to extend the lease after several attempts.

Solution: Find out why the server is not responding. Reboot the client.