Resolving Cisco Switch & Router ‘DHCP Server Pool Exhausted-Empty’ Error – Client IP Assignment Failure (2024)

Resolving Cisco Switch & Router ‘DHCP Server Pool Exhausted-Empty’ Error – Client IP Assignment Failure (1)In previous articles, we showed how it is possible to configure a Cisco router or Catalyst switch to provide DHCP server services to network clients. Everything usually works without a problem, however there are times when the Cisco DHCP server stops assigning IP addresses and we need to look into the issue and resolve it as quickly as possible. System messages such as ‘POOL EXHAUSTED’, ‘ASSIGNMENT FAILURE’ & ‘address pool Guest-VLAN is empty’ provide some basic information, however further investigation is required to identify the real cause.

Small-sized networks usually have DHCP services configured on their Cisco router, while large-sized networks (with multiple VLANs) assign DHCP services to their backbone layer-3 switch (Catalyst 6500, 4500, 3750 etc). The good news is that configuration and debugging commands are identical for both Cisco Catalyst switches and Cisco routers.

Debugging DHCP Server On Cisco Catalyst Switch & Cisco Router

The first symptoms of DHCP server issues are users nagging that they cannot connect to the network because they haven’t got an IP address, and that’s where the fun begins.

Assuming no configuration changes have been made to the Cisco DHCP server, the best way to troubleshoot the problem is to enable debugging on the dhcp server. The debug ip dhcp events & debug ip dhcp server packets are useful debugging commands that will help us identify what is happening:

4507R+E# debug ip dhcp server packets
4507R+E# debug ip dhcp server events
Nov 6 13:46:26.742: DHCPD: Sending notification of DISCOVER:
Nov 6 13:46:26.742: DHCPD: htype 1 chaddr 34bb.1f9b.17f9
Nov 6 13:46:26.742: DHCPD: giaddr = 192.168.7.10
Nov 6 13:46:26.742: DHCPD: interface = Vlan7
Nov 6 13:46:26.742: DHCPD: class id 426c61636b4265727279
Nov 6 13:46:26.742: DHCPD: out_vlan_id 0
Nov 6 13:46:26.742: DHCPD: Sending notification of DISCOVER:
Nov 6 13:46:26.742: DHCPD: htype 1 chaddr 34bb.1f9b.17f9
Nov 6 13:46:26.742: DHCPD: giaddr = 192.168.7.10
Nov 6 13:46:26.742: DHCPD: interface = Vlan7
Nov 6 13:46:26.742: DHCPD: class id 426c61636b4265727279
Nov 6 13:46:26.742: DHCPD: out_vlan_id 0
Nov 6 13:46:26.742: DHCPD: subnet [192.168.7.1,192.168.7.254] in address pool Guest-WiFi-VLAN is empty.
Nov 6 13:46:26.742: DHCPD: Sending notification of ASSIGNMENT FAILURE:
Nov 6 13:46:26.742: DHCPD: htype 1 chaddr 34bb.1f9b.17f9
Nov 6 13:46:26.742: DHCPD: remote id 020a0000c0a8070107000000
Nov 6 13:46:26.742: DHCPD: giaddr = 192.168.7.10
Nov 6 13:46:26.742: DHCPD: interface = Vlan7
Nov 6 13:46:26.742: DHCPD: class id 426c61636b4265727279
Nov 6 13:46:26.742: DHCPD: out_vlan_id 0
Nov 6 13:46:26.742: DHCPD: Sending notification of ASSIGNMENT_FAILURE:
Nov 6 13:46:26.742: DHCPD: due to: POOL EXHAUSTED

The key information provided by our debugging is highlighted in bold. This information tells us that our address pool named Guest-WiFi-VLAN is the DHCP Pool where we have a problem because the pool is empty, which means the DHCP server has no more free IP addresses to assign to new clients.

The next step is to understand why there are no more free IP addresses. A common reason is that there are more clients in the specific VLAN requesting IP addresses, than what the DHCP server can assign. Let’s see if this is the case.

First, we take a look at the configured IP address range for that VLAN/Pool. Note that our Guest VLAN is assigned to VLAN7:

4507R+E# show run
...output omitted....
!
ip dhcp excluded-address 192.168.7.1 192.168.7.20
!
ip dhcp pool Guest-WiFi-VLAN
network 192.168.7.0 255.255.255.0
default-router 192.168.7.1
dns-server 8.8.8.8 8.8.4.4
lease 0 2
!
…output omitted

Looking at our DHCP server configuration, we’ve reserved the first 20 IP addresses from the Class C network 192.168.7.0, which leaves us with 234 available IP addresses. At the same time, our DHCP server is configured to provide a 2 hour lease (lease 0 2) for each IP address. This means that every 2 hours, the DHCP lease is automatically renewed between the DHCP server and client – assuming the client is still connected to the network. If the client is disconnected from the network when the renewal time arrives, the IP address assigned is then released by the DHCP server, moved back into the VLAN’s DHCP pool and made available for assignment to another client.

Let’s check and see how many clients have been assigned an IP address for VLAN7:

4507R+E# show ip dhcp binding | inc Vlan7
IP address Client-ID/Hardware address Lease expiration Type State Interface
192.168.7.81 019c.65b0.3760.e3 Nov 06 2014 05:19 PM Automatic Active Vlan7
192.168.7.92 012c.2997.58a3.b5 Nov 06 2014 05:42 PM Automatic Active Vlan7
192.168.7.134 0114.8fc6.bd62.f2 Nov 06 2014 04:41 PM Automatic Active Vlan7

We should begin by explaining that the pipe used in the command show ip dhcp binding | inc Vlan7 helps us filter the output that will be provided, so that we only see information that includes the word Vlan7. If we did not include the | inc Vlan7 filter, the command line would return DHCP information for other Vlans – assuming the switch was configured as a DHCP server for them.

The output surprisingly shows us that we have only 3 clients to which IP addresses have been allocated. So the question now is where did all the rest of the 231 (234-3) IP addresses go?

Another useful command to check the DHCP pool usage is the show ip dhcp pool. It provides the overall usage of the pool alongside with the total addresses, leased and excluded addresses:

4507R+E# show ip dhcp pool
Pool Guest-WiFi-VLAN :
Utilization mark (high/low) : 100 / 0
Subnet size (first/next) : 0 / 0
Total addresses : 254
Leased addresses : 3
Excluded addresses : 251
Pending event : none
1 subnet is currently in the pool :
Current index IP address range Leased / Excluded / Total
0.0.0.0 192.168.7.1 - 192.168.7.254 3 / 231 / 254

Here we can again confirm that from the 254 total IP addresses, 251 are excluded and 3 are leased. Note that the Excluded addresses includes the manually excluded and conflicted IP addresses.

The Current index column shows the next IP address that will be assigned by the DHCP server. Under normal operation, we would expect to see and IP address within the 192.168.7.0 network, however the value of 0.0.0.0 means that there are no more available IP addresses to lease.

The next step is to check the DHCP server for possible conflicts using the show ip dhcp conflict command – we are sure to find something here:

4507R+E# show ip dhcp conflict
IP address Detection method Detection time VRF
192.168.7.59 Ping Sep 10 2014 06:17 AM
192.168.7.62 Ping Sep 10 2014 06:35 AM
192.168.7.21 Gratuitous ARP Sep 10 2014 09:58 AM
192.168.7.67 Gratuitous ARP Sep 10 2014 10:54 AM
192.168.7.69 Gratuitous ARP Sep 10 2014 12:08 PM
192.168.7.96 Gratuitous ARP Sep 10 2014 12:11 PM
192.168.7.100 Ping Sep 10 2014 01:37 PM
192.168.7.129 Gratuitous ARP Sep 11 2014 02:13 AM
192.168.7.156 Gratuitous ARP Sep 11 2014 02:19 AM
192.168.7.164 Gratuitous ARP Sep 11 2014 04:52 AM
192.168.7.158 Gratuitous ARP Sep 11 2014 05:46 AM
192.168.7.230 Gratuitous ARP Sep 11 2014 04:35 PM
192.168.7.236 Gratuitous ARP Sep 11 2014 09:00 PM
…output omitted

To save space, we had to remove the rest of the command’s output. Surprisingly enough, we found that all 231 IP addresses were listed in the dhcp conflict table. As shown above, the IP addresses are listed by date of conflict with the older entries shown first.

Understanding The DHCP Conflict Table & Cisco DHCP Server Functionality

Before a Cisco DHCP server hands out an IP address to a client, it always ARPs and then pings the address to be handed out to make sure no one is using it.

When a Cisco DHCP server discovers a conflict, it will place the IP address into the conflict table stating the address was conflicting and how it came to that conclusion, as noted under the Detection method column.

If for any reason the client who is already using the IP address that is about to be handed out by the Cisco DHCP server, does not respond to the ping from the DHCP server, the DHCP server will lease out the IP address since it cannot identify any conflict issues.

The first thing the client will do once the IP address assignment is complete, is to send out a gratuitous ARP message with its new IP address. If not reply is received, then it is safe to assume no one else is using it. However if it does receive a gratuitous ARP reply, then it will indicate that another device on the network is already using that address.

Assuming a gratuitous ARP reply is received, the client will send a DECLINE message to the DHCP server, rejecting the IP address it was just assigned. Since Cisco DHCP server has seen two gratuitous ARP messages and discovered there is a conflict, it will move the IP address into its conflict table and assign the next available IP address to the client.

Clearing The IP DHCP Conflict Table

When the DHCP server detects there is a conflict of an IP address before or right after it is assigned to a client, it will automatically remove the IP address from the DHCP pool and move it to the DHCP conflict table. The IP address in question will remain there until an administrator sees and clears the DHCP conflict table.

If DHCP conflicts are occurring frequently, it is only a matter of time until all available IP addresses are moved to the DHCP conflict table and the DHCP Pool is left empty with no IP addresses to hand out.

We can clear the DHCP conflict table by using the clear ip dhcp conflict * command. This will instruct the DHCP server to clear the conflict table and return all IP addresses to the DHCP Pool. In case we have multiple VLANs and Pools, the command will affect them as well:

4507R+E# clear ip dhcp conflict *
4507R+E# show ip dhcp conflict
IP address Detection method Detection time VRF

4507R+E#

Issuing the show ip dhcp conflict command confirms that there are no more IP addresses in the table.

The show ip dhcp pool command will now show all previously conflicted IP addresses, available to be handed out to our clients.

YouChat, Networking Enthusiast and Cisco Expert

As a networking enthusiast and Cisco expert, I have extensive experience in configuring and troubleshooting Cisco routers and Catalyst switches to provide DHCP server services to network clients. I have hands-on experience with debugging DHCP server issues, identifying the root cause of problems, and resolving them efficiently. My expertise extends to both small-sized networks with DHCP services configured on Cisco routers and large-sized networks with multiple VLANs assigning DHCP services to backbone layer-3 switches like the Cisco Catalyst 6500, 4500, and 3750 series.

Debugging DHCP Server Issues on Cisco Catalyst Switch & Cisco Router

When encountering issues with the Cisco DHCP server, it's crucial to enable debugging to identify the underlying problems. The symptoms of DHCP server issues often manifest as users reporting connectivity problems due to not receiving an IP address. Enabling debugging commands such as debug ip dhcp server packets and debug ip dhcp server events provides valuable insights into the DHCP server's behavior and the specific issues it encounters [[1]].

The key information obtained from the debugging output indicates that the address pool named Guest-WiFi-VLAN is empty, signifying that the DHCP server has no more free IP addresses to assign to new clients. This prompts the need to investigate further to understand why there are no available IP addresses [[1]].

Checking DHCP Pool Usage and Address Allocation

To understand the allocation and utilization of IP addresses within the DHCP pool, it's essential to examine the configured IP address range for the specific VLAN/Pool. The show ip dhcp binding command provides information about the IP addresses that have been allocated to clients, allowing for a clear view of the address allocation status [[1]].

Additionally, the show ip dhcp pool command offers a comprehensive overview of the DHCP pool usage, including the total addresses, leased addresses, and excluded addresses. This command helps in confirming the utilization of IP addresses and identifying any potential conflicts or issues with address allocation [[1]].

Resolving DHCP Address Conflicts and Pool Exhaustion

The presence of DHCP conflicts, where IP addresses are listed in the conflict table, can lead to the exhaustion of available IP addresses in the DHCP pool. Understanding the DHCP conflict table and the functionality of the Cisco DHCP server in handling conflicts is crucial for effective troubleshooting [[1]].

In cases of frequent DHCP conflicts, it becomes imperative to clear the DHCP conflict table using the clear ip dhcp conflict command. This action allows the DHCP server to return all IP addresses to the DHCP pool, ensuring that previously conflicted IP addresses become available for assignment to clients [[1]].

By effectively managing DHCP conflicts and addressing pool exhaustion, network administrators can ensure the smooth operation of DHCP services and seamless connectivity for network clients.

I hope this information provides a comprehensive understanding of the concepts and procedures related to debugging and resolving DHCP server issues on Cisco Catalyst switches and routers. If you have any further questions or need additional details, feel free to ask!

Resolving Cisco Switch & Router ‘DHCP Server Pool Exhausted-Empty’ Error – Client IP Assignment Failure (2024)

FAQs

How do I fix DHCP server failure? ›

How to Fix DHCP Errors
  1. Run the Windows Network Troubleshooter. The easiest way to fix internet connection issues is by letting Windows automatically fix the internet settings. ...
  2. Check the DHCP adapter settings. ...
  3. Check the DHCP router settings. ...
  4. Contact IT support.
Dec 28, 2021

How to troubleshoot DHCP on Cisco switch? ›

Solution
  1. Check the adapter settings on the host. ...
  2. Verify whether the IP address pool (for the host "vrf") has been created on the DHCP server.
  3. Verify whether the DHCP server runs out of addresses to lease for that particular IP pool.
Jun 3, 2019

How to remove DHCP pool from Cisco router? ›

Also how do you delete the DHCP Pool? Just disable DHCP on the device. Router#clear ip dhcp bind * will clear all dhcp entries. Some will come back quickly.

What are the two most common reasons for DHCP failure? ›

A DHCP error can be triggered by two things. The first reason can lie within the configuration on your computer or device that allows a DHCP server to assign it an IP. The second reason is the configuration of the DHCP server itself.

What is the root cause of DHCP failure? ›

DHCP may fail to configure the client properly, either because DHCP could not communicate with a server, or because, although configuration responses were received, they were incorrect. Problems can also occur later in the life of a DHCP lease if the client cannot renew its IP addresses.

How do I reset my DHCP IP address? ›

Renew my IP address on Windows (PC)
  1. Go to the Windows Start Menu, type cmd, and press Enter.
  2. Type ipconfig/renew and press Enter. A new IP address should be displayed next to IPv4 Address.
  3. Close any open Internet applications. Open System Preferences.
  4. Click TCP/IP at the top of the window, then click Renew DHCP Lease.
Oct 26, 2020

What do I do if my DHCP client is not getting IP DHCP server? ›

Procedure
  1. Check whether a fault occurs on the link between the client and the DHCP server. ...
  2. Verify that DHCP is enabled. ...
  3. Check whether DHCP address allocation mode is set on the interface of the device. ...
  4. Check whether addresses in the global address pool and the IP address of the interface are on the same network segment.
Apr 12, 2024

How do I force DHCP to get a new IP? ›

Type ipconfig /release at the prompt window, press Enter, it will release the current IP configuration. Type ipconfig /renew at the prompt window, press Enter, wait for a while, the DHCP server will assign a new IP address for your computer.

How to check DHCP pool in Cisco switch? ›

Showing DHCP Status
  1. Problem. You want to display the status of the DHCP server functions on the router.
  2. Solution. To display the IP address bindings and their associated leases, use the following command: Router1# show ip dhcp binding. ...
  3. Discussion. To display the status of the DHCP service, use the show ip dhcp EXEC command.

How to restart DHCP service in Cisco Switch? ›

On a switch, enter the ip dhcp-client enable command to re-enable the DHCP client. On a router, enter the ip dhcp-client enable command at the interface configuration level to re-enable the DHCP client.

How to configure DHCP on Cisco Switch? ›

Steps to configure DHCP server through CLI.
  1. Login to the device using SSH / TELNET and go to enable mode.
  2. Go into the config mode. ...
  3. Exclude IP addresses from being assigned by DHCP by using the ip dhcp excluded-address FIRST_IP LAST_IP. ...
  4. Create a new DHCP pool with the ip dhcp pool NAME command.

How to configure DHCP pool on Cisco server? ›

Create a new DHCP pool with the ip dhcp pool NAME command. Define a subnet that will be used to assign IP addresses to hosts with the network SUBNET SUBNET_MASK command. Define the default gateway with the default-router IP command. Define the DNS server with the dns-server IP address command.

How do I remove DHCP failover configuration? ›

You can use the Remove-DhcpServerv4Failover cmdlet in PowerShell to remove the failover relationship. You need to specify the name of the primary server and the name or IP address of the secondary server. You can also use the DHCP console in Windows Server to delete the failover relationship from the scope properties.

How do I turn off DHCP failover? ›

The Remove-DhcpServerv4Failover cmdlet removes one or more specified failover relationships. This cmdlet removes the failover relationship from both of the computers that run Dynamic Host Configuration Protocol (DHCP) server services which are part of this failover relationship.

How do I restore my DHCP server? ›

To restore your DHCP server from a backup, you need to use the DHCP console. You can restore your DHCP server from any backup location, as long as you have the DhcpBackup folder and its contents. To do this, open the DHCP console and right-click the server name to select Restore.

How do I reset my DHCP? ›

To do this, you can use the ipconfig command or the DHCP console. To use the ipconfig command, open a Command Prompt on a client device and type ipconfig /release to release its current IP address. Then, type ipconfig /renew to request a new IP address from the DHCP server.

How do I reset my DHCP connection? ›

Windows:
  1. Open a Command Prompt: Start Menu > All Programs > Accessories > Command Prompt.
  2. In the Command Prompt, type: ipconfig /renew. If issuing just the renew command doesn't work, try the following: ipconfig /release. - then - ipconfig /renew.
  3. Your computer will release it's IP address and obtain a new IP.

How do I fix the DHCP on my router? ›

How to enable DHCP on any router
  1. Open a web browser on a laptop or desktop computer, or a mobile device.
  2. Log in to your router's setup page. ...
  3. Go to the network setup or LAN setup section.
  4. Locate the DHCP setting.
  5. Check if it is enabled. ...
  6. Save the changes.
  7. Restart your router for the changes to take effect.
Feb 10, 2023

Top Articles
Latest Posts
Article information

Author: Arline Emard IV

Last Updated:

Views: 5954

Rating: 4.1 / 5 (72 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Arline Emard IV

Birthday: 1996-07-10

Address: 8912 Hintz Shore, West Louie, AZ 69363-0747

Phone: +13454700762376

Job: Administration Technician

Hobby: Paintball, Horseback riding, Cycling, Running, Macrame, Playing musical instruments, Soapmaking

Introduction: My name is Arline Emard IV, I am a cheerful, gorgeous, colorful, joyous, excited, super, inquisitive person who loves writing and wants to share my knowledge and understanding with you.