sun.com docs.sun.com My Sun Worldwide Sites

Previous Previous     Contents     Index     Next Next

Troubleshooting DHCP Client Configuration Problems

The problems that you might encounter with a DHCP client fall into the following categories:

Problems Communicating With the DHCP Server

This section describes problems that you might encounter as you add DHCP clients to the network.

After you enable the client software and reboot the system, the client tries to reach the DHCP server to obtain its network configuration. If the client fails to reach the server, you might see error messages such as the following:

DHCP or BOOTP server not responding 

Before you can determine the problem, you must gather diagnostic information from both the client and the server. To gather information, you can perform the following tasks:

  1. How to Run the DHCP Client in Debugging Mode

  2. How to Run the DHCP Server in Debugging Mode

  3. How to Use snoop to Monitor DHCP Network Traffic

You can do these things separately or concurrently.

The information that you gather can help you determine if the problem is with the client, server, or a relay agent. Then, you can find a solution.

ProcedureHow to Run the DHCP Client in Debugging Mode

If the client is not a Solaris DHCP client, refer to the client's documentation for information about how to run the client in debugging mode.

If you have a Solaris DHCP client, use the following steps.

  1. Become superuser on the DHCP client system.

  2. Kill the DHCP client daemon.

    # pkill -x dhcpagent

  3. Restart the daemon in debugging mode.

    # /sbin/dhcpagent -d1 -f &

    The -d switch puts the DHCP client in debugging mode with level 1 verbosity. The -f switch causes output to be sent to the console instead of to syslog.

  4. Configure the interface to start DHCP negotiation.

    # ifconfig interface dhcp start

    Replace interface with the name of the network interface of the client, such as ge0.

    When run in debugging mode, the client daemon displays messages to your screen while performing DHCP requests. See Output from DHCP Client in Debugging Mode for information about client debugging mode output.

ProcedureHow to Run the DHCP Server in Debugging Mode

  1. Become superuser on the server system.

  2. Stop the DHCP server temporarily.

    # svcadm disable -t svc:/network/dhcp-server

    You can also use DHCP Manager or dhcpconfig to stop the server.

  3. Restart the daemon in debugging mode.

    # /usr/lib/inet/in.dhcpd -d -v

    You should also use any in.dhcpd command-line options that you normally use when you run the daemon. For example, if you run the daemon as a BOOTP relay agent, include the -r option with the in.dhcpd -d -v command.

    When run in debugging mode, the daemon displays messages to your screen while processing DHCP or BOOTP requests. See Output from the DHCP Server in Debugging Mode for information about server debugging mode output.

ProcedureHow to Use snoop to Monitor DHCP Network Traffic

  1. Become superuser on the DHCP server system.

  2. Start snoop to begin tracing network traffic across the server's network interface.

    # /usr/sbin/snoop -d interface -o snoop-output-filename udp port 67 or udp port 68

    For example, you might type the following command:

    #  /usr/sbin/snoop -d hme0 -o /tmp/snoop.output udp port 67 or udp port 68

    snoop continues to monitor the interface until you stop snoop by pressing Control-C after you have the information that you need.

  3. Boot the client system, or restart the dhcpagent on the client system.

    How to Run the DHCP Client in Debugging Mode describes how to restart dhcpagent.

  4. On the server system, use snoop to display the output file with the contents of network packets:

    # /usr/sbin/snoop -i snoop-output-filename -x0 -v

    For example, you might type the following command:

    # /usr/sbin/snoop -i /tmp/snoop.output -x0 -v
See Also

See DHCP snoop Output for information about interpreting the output.

Output from DHCP Client in Debugging Mode

The following example shows normal output when a DHCP client in debugging mode sends its DHCP request and receives its configuration information from a DHCP server.

Example 17-1 Normal Output from the DHCP Client in Debugging Mode

/sbin/dhcpagent: debug: set_packet_filter: set filter 0x27fc8 (DHCP filter) 
/sbin/dhcpagent: debug: init_ifs: initted interface hme0 
/sbin/dhcpagent: debug: insert_ifs: hme0: sdumax 1500, optmax 1260, hwtype 1, hwlen 6 
/sbin/dhcpagent: debug: insert_ifs: inserted interface hme0 
/sbin/dhcpagent: debug: register_acknak: registered acknak id 5 
/sbin/dhcpagent: debug: unregister_acknak: unregistered acknak id 5 
/sbin/dhcpagent: debug: set_packet_filter: set filter 0x26018 (ARP reply filter)
/sbin/dhcpagent: info: setting IP netmask on hme0 to 255.255.192.0 
/sbin/dhcpagent: info: setting IP address on hme0 to 10.23.3.233 
/sbin/dhcpagent: info: setting broadcast address on hme0 to 10.23.63.255 
/sbin/dhcpagent: info: added default router 10.23.0.1 on hme0 
/sbin/dhcpagent: debug: set_packet_filter: set filter 0x28054 (blackhole filter) 
/sbin/dhcpagent: debug: configure_if: bound ifsp->if_sock_ip_fd 
/sbin/dhcpagent: info: hme0 acquired lease, expires Tue Aug 10 16:18:33 2006 
/sbin/dhcpagent: info: hme0 begins renewal at Tue Aug 10 15:49:44 2006 
/sbin/dhcpagent: info: hme0 begins rebinding at Tue Aug 10 16:11:03 2006

If the client cannot reach the DHCP server, you might see debugging mode output that is similar to the output shown in the following example.

Example 17-2 Output Indicating a Problem from the DHCP Client in Debugging Mode

/sbin/dhcpagent: debug: set_packet_filter: set filter 0x27fc8 (DHCP filter)
/sbin/dhcpagent: debug: init_ifs: initted interface hme0 
/sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply
/sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply
/sbin/dhcpagent: debug: select_best: no valid OFFER/BOOTP reply
 

If you see this message, the client request never reached the server, or the server cannot send a response to the client. Run snoop on the server as described in How to Use snoop to Monitor DHCP Network Traffic to determine if packets from the client have reached the server.

Previous Previous     Contents     Index     Next Next
Company Info Contact Terms of Use Privacy Copyright 1994-2007 Sun Microsystems, Inc.