Courseiva
DHCPPrivileged EXEC

show ip dhcp pool

Displays the configuration and utilization statistics of a DHCP pool, used to verify pool settings and address allocation status.

Definition: show ip dhcp pool is a Cisco IOS privileged exec command. Displays the configuration and utilization statistics of a DHCP pool, used to verify pool settings and address allocation status.

Overview

The 'show ip dhcp pool' command is a critical diagnostic tool in Cisco IOS that displays the configuration and utilization statistics of a DHCP pool. It is used to verify pool settings, monitor address allocation, and troubleshoot DHCP-related issues. This command provides a snapshot of the pool's operational state, including the number of addresses allocated, the lease expiration details, and the pool's utilization percentage.

Understanding this command is essential for network engineers managing DHCP services on Cisco routers or switches acting as DHCP servers. The command operates in Privileged EXEC mode, requiring enable access. It does not modify the running configuration but provides real-time statistics.

When troubleshooting DHCP, this command is often the first step to check if the pool is correctly configured and if addresses are being assigned. Alternatives include 'show ip dhcp binding' for detailed lease information and 'debug ip dhcp server events' for real-time packet-level debugging. The command fits into a broader workflow: after configuring a DHCP pool, use 'show ip dhcp pool' to confirm the pool exists and has the expected parameters; during troubleshooting, use it to check if the pool is exhausted or misconfigured.

Important IOS behavior: the output is buffered and may not reflect real-time changes immediately; the command requires privilege level 15 or equivalent. The output includes fields such as 'Pool name', 'Subnet size', 'Number of addresses', 'Lease time', and 'Utilization'. Understanding these fields helps in capacity planning and fault isolation.

Syntax·Privileged EXEC
show ip dhcp pool

When to Use This Command

  • Verify that a DHCP pool has been configured correctly with the intended subnet, default gateway, and DNS servers.
  • Check how many IP addresses from a pool are currently leased versus available to troubleshoot address exhaustion.
  • Confirm that a DHCP pool is enabled and active after making configuration changes.
  • Audit DHCP pool utilization to plan for subnet expansion or reallocation.

Parameters

ParameterSyntaxDescription
pool-nameWORDOptional name of a specific DHCP pool to display. If omitted, all configured pools are shown. Use this to filter output for a particular pool. Common mistake: misspelling the pool name or using case-sensitive names.

Command Examples

View DHCP pool statistics

show ip dhcp pool
Pool POOL1 :
 Utilization mark (high/low)    : 100 / 0
 Subnet size (first/next)        : 24 / 24 
 Total addresses                 : 254
 Leased addresses                : 45
 Pending event                   : none
 1 subnet is currently in the pool :
 Current index        IP address range                    Leased addresses
 192.168.1.46         192.168.1.1 - 192.168.1.254         45

Pool name: POOL1. Utilization mark: high/low thresholds for alerts. Subnet size: prefix length of first and subsequent subnets. Total addresses: 254 usable IPs. Leased addresses: 45 currently assigned. Pending event: none (no pending operations). Subnet table shows current index (next IP to assign), IP range, and leased count.

View DHCP pool with multiple subnets

show ip dhcp pool
Pool POOL2 :
 Utilization mark (high/low)    : 100 / 0
 Subnet size (first/next)        : 24 / 24 
 Total addresses                 : 508
 Leased addresses                : 120
 Pending event                   : none
 2 subnets are currently in the pool :
 Current index        IP address range                    Leased addresses
 10.0.0.50            10.0.0.1 - 10.0.0.254               60
 10.0.1.30            10.0.1.1 - 10.0.1.254               60

Pool POOL2 has two subnets. Total addresses: 508 (254+254). Leased addresses: 120 total across both subnets. Each subnet shows its own current index, range, and leased count. This is useful when a pool spans multiple subnets.

Understanding the Output

The output begins with the pool name. 'Utilization mark' shows high and low percentages that trigger alerts (default 100/0). 'Subnet size' indicates the prefix length of the first subnet and subsequent subnets if auto-expansion is enabled.

'Total addresses' is the sum of all usable IPs across all subnets in the pool. 'Leased addresses' shows how many are currently assigned to clients. 'Pending event' indicates if any DHCP events are queued (e.g., database updates).

The subnet list shows each subnet's 'Current index' (the next IP to be assigned), the IP address range, and the number of leased addresses in that subnet. A high lease count relative to total addresses may indicate exhaustion. Watch for 'Pending event' as it can signal delays in address assignment.

Configuration Scenarios

Configure a basic DHCP pool for a small office LAN

A small office network with 50 hosts needs DHCP services. The router acts as the DHCP server, providing IP addresses from the 192.168.1.0/24 subnet, default gateway, and DNS server.

Topology

Router(Gi0/0)---192.168.1.0/24---(Hosts)

Steps

  1. 1.Step 1: Enter global configuration mode: Router> enable, Router# configure terminal
  2. 2.Step 2: Create a DHCP pool named OFFICE_POOL: Router(config)# ip dhcp pool OFFICE_POOL
  3. 3.Step 3: Define the network and subnet mask: Router(dhcp-config)# network 192.168.1.0 255.255.255.0
  4. 4.Step 4: Set the default gateway: Router(dhcp-config)# default-router 192.168.1.1
  5. 5.Step 5: Set the DNS server: Router(dhcp-config)# dns-server 8.8.8.8
  6. 6.Step 6: Set lease time to 7 days: Router(dhcp-config)# lease 7
  7. 7.Step 7: Exit DHCP config and verify: Router(dhcp-config)# end, Router# show ip dhcp pool OFFICE_POOL
Configuration
! DHCP pool configuration
ip dhcp pool OFFICE_POOL
 network 192.168.1.0 255.255.255.0
 default-router 192.168.1.1
 dns-server 8.8.8.8
 lease 7
!

Verify: Use 'show ip dhcp pool OFFICE_POOL' to verify. Expected output includes pool name, subnet size, number of addresses, lease time, and utilization statistics.

Watch out: Forgetting to exclude static addresses (e.g., router interface) from the pool using 'ip dhcp excluded-address'. This can cause IP conflicts.

Configure a DHCP pool with manual bindings for a server farm

A data center has a server farm requiring static IP assignments via DHCP based on MAC addresses. The pool must reserve specific IPs for critical servers while dynamically assigning others.

Topology

Router(Gi0/0)---10.0.0.0/24---(Servers)

Steps

  1. 1.Step 1: Enter global configuration mode: Router> enable, Router# configure terminal
  2. 2.Step 2: Create a DHCP pool named SERVER_FARM: Router(config)# ip dhcp pool SERVER_FARM
  3. 3.Step 3: Define the network: Router(dhcp-config)# network 10.0.0.0 255.255.255.0
  4. 4.Step 4: Set default gateway: Router(dhcp-config)# default-router 10.0.0.1
  5. 5.Step 5: Exclude addresses for static assignments: Router(config)# ip dhcp excluded-address 10.0.0.1 10.0.0.10
  6. 6.Step 6: Create manual bindings for servers: Router(dhcp-config)# host 10.0.0.11 255.255.255.0, Router(dhcp-config)# hardware-address aaaa.bbbb.cccc
  7. 7.Step 7: Repeat for other servers, then exit and verify: Router(dhcp-config)# end, Router# show ip dhcp pool SERVER_FARM
Configuration
! DHCP pool with manual bindings
ip dhcp excluded-address 10.0.0.1 10.0.0.10
!
ip dhcp pool SERVER_FARM
 network 10.0.0.0 255.255.255.0
 default-router 10.0.0.1
 host 10.0.0.11 255.255.255.0
 hardware-address aaaa.bbbb.cccc
 host 10.0.0.12 255.255.255.0
 hardware-address dddd.eeee.ffff
!

Verify: Use 'show ip dhcp pool SERVER_FARM' to see the pool statistics. Use 'show ip dhcp binding' to verify manual bindings are active.

Watch out: Manual bindings require the 'host' command inside the pool; forgetting to specify the subnet mask or using an incorrect MAC address format (should be dotted hex) will cause the binding to fail.

Troubleshooting with This Command

When troubleshooting DHCP issues, 'show ip dhcp pool' is invaluable for identifying pool misconfigurations or exhaustion. A healthy output shows the pool name, subnet size, number of addresses, lease time, and utilization percentage. Key fields to focus on: 'Number of addresses' should match the subnet size; 'Utilization' indicates how many addresses are in use; 'Lease time' should match the configured value.

Problem indicators: if 'Utilization' is 100% and no addresses are available, clients will fail to obtain IPs. If the pool does not appear, it may not be configured or the configuration may be incomplete. Common symptoms this command helps diagnose: clients receiving 169.254.x.x APIPA addresses (pool exhausted or no pool configured), clients getting wrong subnet or gateway (check network and default-router fields), or lease time mismatches.

A step-by-step diagnostic flow: 1) Verify the pool exists with 'show ip dhcp pool'. 2) Check utilization; if high, consider expanding the subnet or reducing lease time. 3) Verify the network statement matches the intended subnet. 4) Check for excluded addresses that may be blocking dynamic allocation. 5) Correlate with 'show ip dhcp binding' to see which clients have leases. 6) Use 'debug ip dhcp server events' to see real-time DHCP exchanges. The command's output can also reveal if the pool is configured but not used due to interface misconfiguration (e.g., no 'ip helper-address' on the client VLAN). In summary, 'show ip dhcp pool' is the first command to run when DHCP fails, providing a quick health check of the server's address pool.

CCNA Exam Tips

1.

CCNA exam may ask you to identify the number of available addresses from the output.

2.

Know that 'Utilization mark' is used for SNMP notifications, not for limiting leases.

3.

Be able to differentiate between 'Leased addresses' and 'Total addresses' to calculate utilization.

4.

The 'Current index' shows the next IP to be assigned, not necessarily the lowest available.

Common Mistakes

Confusing 'Leased addresses' with 'Total addresses' and thinking all addresses are used.

Assuming 'Current index' is the first available IP; it's actually the next IP the router will try to assign, which may be in use.

Forgetting that the pool must be bound to a DHCP server configuration (ip dhcp server) for this command to show meaningful data.

show ip dhcp pool vs show ip dhcp binding

Both 'show ip dhcp pool' and 'show ip dhcp binding' are used for DHCP troubleshooting, but they serve distinct purposes: pool details vs. active lease records. They are commonly confused because both display DHCP-related information, yet one focuses on configuration and utilization statistics of the address pool, while the other shows the dynamic lease table of assigned addresses.

Aspectshow ip dhcp poolshow ip dhcp binding
ScopeDHCP pool configuration and utilizationActive IP address bindings (leases)
Data shownPool name, subnet, lease duration, utilization %IP address, MAC address, lease expiration, type (automatic/manual)
PersistencePool config persists in running configBindings are dynamic, lost on reload or DHCP server restart
Typical useVerify pool settings, address exhaustion, or misconfigurationIdentify which client has which IP, check lease renewals
Output detailSummarizes pool statistics (e.g., total addresses, leased, pending)Lists each active lease individually

Use show ip dhcp pool when you need to verify the pool's configuration, utilization, or address exhaustion status.

Use show ip dhcp binding when you need to see which IP addresses are currently leased to which clients (by MAC) and their lease expiry.

Platform Notes

In IOS-XE, the command syntax and output are identical to classic IOS. However, on newer IOS-XE versions (16.x+), the output may include additional fields like 'Total addresses' and 'Leased addresses' for clarity. On NX-OS, the equivalent command is 'show ip dhcp pool' but with different output formatting; NX-OS also uses 'feature dhcp' to enable the DHCP server.

For ASA, DHCP server functionality is limited; the command 'show dhcpd pool' is used instead, with different syntax. In IOS-XR, DHCP server is not natively supported; instead, use 'show dhcp ipv4 server' or similar. Differences between IOS versions: in 12.x, the output may not show utilization percentage; in 15.x and later, it does.

Also, in some older IOS versions, the pool name is case-sensitive; in newer versions, it is not. Always check the specific IOS documentation for your version.

Related Commands

Practice for the CCNA 200-301

Test your knowledge with practice questions covering all CCNA 200-301 exam domains.

Practice CCNA 200-301 Questions