Cisco – No DHCP ACK from Cisco 897

ciscodhcp

I have a Cisco 897 acting as the DHCP server for a LAN. The problem is that no client is receiving a DHCP ACK.

  • Client sends DHCP discover
  • Cisco responds with DHCP offer (with IP address)
  • Client responds with DHCP Request (with same IP address)
  • No DHCP ACK is seen from the Cisco to confirm the lease
  • Client loops round requesting DHCP address due to no ACK

I have been connecting a MacBook Pro using USB->Ethernet adapter to one of the 8 LAN ports on the 897. I have also tried to connect a Lenovo running Ubuntu to one of 8 LAN/switchports.

Both devices work when wired into a spare 3rd party CPE I have lying around. When either is connected to the Cisco with Wireshark running they both show now DHCP ACK coming from the Cisco.

The Cisco however, does report DHCP ACK in the following debug output:

897VAW-E-K9# debug ip dhcp server events
897VAW-E-K9# debug ip dhcp server packet
897VAW-E-K9# debug ip dhcp server linkage
*Feb  6 2036 16:38:19.403 GMT: DHCPD: client's VPN is .
*Feb  6 2036 16:38:19.403 GMT: DHCPD: No option 125
*Feb  6 2036 16:38:19.403 GMT: DHCPD: Option 125 not present in the msg.
*Feb  6 2036 16:38:19.403 GMT: DHCPD: Sending notification of DISCOVER:
*Feb  6 2036 16:38:19.403 GMT:   DHCPD: htype 1 chaddr 00e0.4c36.114d
*Feb  6 2036 16:38:19.403 GMT:   DHCPD: remote id 020a0000c0a83a0100010001
*Feb  6 2036 16:38:19.403 GMT:   DHCPD: circuit id 00000000
*Feb  6 2036 16:38:19.403 GMT: DHCPD: DHCPDISCOVER received from client 0100.e04c.3611.4d on interface Vlan1.
*Feb  6 2036 16:38:19.403 GMT: DHCPD: Option 125 not present in the msg.
*Feb  6 2036 16:38:19.403 GMT: DHCPD: Seeing if there is an internally specified pool class:
*Feb  6 2036 16:38:19.403 GMT:   DHCPD: htype 1 chaddr 00e0.4c36.114d
*Feb  6 2036 16:38:19.403 GMT:   DHCPD: remote id 020a0000c0a83a0100010001
*Feb  6 2036 16:38:19.403 GMT:   DHCPD: circuit id 00000000
*Feb  6 2036 16:38:19.403 GMT: DHCPD: Found p
897VAW-E-K9#revious server binding
*Feb  6 2036 16:38:19.403 GMT: DHCPD: Sending DHCPOFFER to client 0100.e04c.3611.4d (192.168.58.3).DHCPD: Setting only requested parameters
*Feb  6 2036 16:38:19.403 GMT: DHCPD: child  pool: 192.168.58.0 / 255.255.255.0 (LAN-IPV4)
*Feb  6 2036 16:38:19.403 GMT: DHCPD: pool LAN-IPV4 has no parent.
*Feb  6 2036 16:38:19.403 GMT: DHCPD: child  pool: 192.168.58.0 / 255.255.255.0 (LAN-IPV4)
*Feb  6 2036 16:38:19.403 GMT: DHCPD: pool LAN-IPV4 has no parent.
*Feb  6 2036 16:38:19.403 GMT: DHCPD: child  pool: 192.168.58.0 / 255.255.255.0 (LAN-IPV4)
*Feb  6 2036 16:38:19.403 GMT: DHCPD: pool LAN-IPV4 has no parent.
*Feb  6 2036 16:38:19.403 GMT: DHCPD: Option 125 not present in the msg.
*Feb  6 2036 16:38:19.403 GMT: DHCPD: no option 125
*Feb  6 2036 16:38:19.403 GMT: DHCPD: src nbma addr as zero
*Feb  6 2036 16:38:19.403 GMT: DHCPD: ARP entry exists (192.168.58.3, 00e0.4c36.114d).
*Feb  6 2036 16:38:19.403 GMT: DHCPD: unicasting BOOTREPLY to client 00e0.4c36.114d (192.168.58.3).
*Feb  6 2036 16:38:20.407 GMT: DHCPD: client's VPN is .
*Feb  6 2036 16:38:20.407 GMT: DHCPD: No option 125
*Feb  6 2036 16:38:20.407 GMT: DHCPD: DHCPREQUEST received from client 0100.e04c.3611.4d.
*Feb  6 2036 16:38:20.407 GMT: DHCPD: Option 125 not present in the msg.
*Feb  6 2036 16:38:20.407 GMT: DHCPD: Sending notification of ASSIGNMENT:
*Feb  6 2036 16:38:20.407 GMT:  DHCPD: address 192.168.58.3 mask 255.255.255.0
*Feb  6 2036 16:38:20.407 GMT:   DHCPD: htype 1 chaddr 00e0.4c36.114d
*Feb  6 2036 16:38:20.407 GMT: DHCPD: Appending default domain from pool
*Feb  6 2036 16:38:20.407 GMT: DHCPD: Using hostname 'UKC02X9BEDJG5H.home.' for dynamic update (from hostname option)
*Feb  6 2036 16:38:20.407 GMT: DHCPD: Sending DHCPACK to client 0100.e04c.3611.4d (192.168.58.3).DHCPD: Setting only requested parameters

I have stripped the DHCP config on the Cisco right back to the following:

897VAW-E-K9#show run | sec dhcp
ip dhcp excluded-address 192.168.58.1
ip dhcp pool LAN-IPV4
 network 192.168.58.0 255.255.255.224
 default-router 192.168.58.1 
 dns-server 1.1.1.1 1.0.0.1 
 domain-name home.tld
 lease 7

897VAW-E-K9#show run int vlan 1
Building configuration...

Current configuration : 251 bytes
!
interface Vlan1
 description LAN
 ip address 192.168.58.1 255.255.255.224
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 ip nat inside
 ip virtual-reassembly in
 ip verify unicast source reachable-via rx
 no ip route-cache
 ntp disable
end

897VAW-E-K9#show run int gi0
Building configuration...

Current configuration : 123 bytes
!
interface GigabitEthernet0
 switchport mode access
 no ip address
 no cdp enable
 no lldp transmit
 no lldp receive
end

I have also erased the start-up config, rebooted, and tried to apply only the following minimal config:

ip dhcp pool LAN-IPV4
 network 192.168.58.0 255.255.255.224
 default-router 192.168.58.1 
interface Vlan1
 description LAN
 ip address 192.168.58.1 255.255.255.224
interface GigabitEthernet0
 switchport mode access

The results are the same on both laptops, no DHCP ACK is received (according to Wireshark) despite the Cisco DHCP logs claiming to have sent the ACK.

Below the DHCP packets can be seen in Wireshark:
dhcp packets

If I manually assigned an IP to either laptop I can ping the Router and SSH to it just fine, it really is just DHCP that isn't working for some reason.

I have tried with two different IOS images, c800-universalk9-mz.SPA.157-3.M5.bin and c800-universalk9-mz.SPA.159-3.M1.bin, both exhibit the exact same behavior.

The enabled license is advipservices:

897VAW-E-K9#show license feature 
Feature name             Enforcement  Evaluation  Subscription   Enabled  RightToUse 
advipservices            no           yes         no             yes      yes        
advsecurity              no           no          no             no       no         
ios-ips-update           yes          yes         yes            no       yes        
MEM-8XX-512U1GB          yes          yes         no             no       yes 

The Cisco page for this router shows that DHCP server is supported. This router looks exactly like the pictured one, it's a C897VAW-E-K9.

I'm stumped as to why something so simple isn't working.

Bizarrely I've just tried to exclude all IP addresses from the DHCP pool, and now the test laptop which is connected receives a DHCP allocation (Wireshark shows the DHCP ACK from the Cisco) – WTF is going on here?!

897VAW-E-K9(config)#ip dhcp excluded-address 192.168.58.1 192.168.58.254
897VAW-E-K9(config)#do show run | sec dhcp                                 
ip dhcp debug ascii-client-id
ip dhcp excluded-address 192.168.58.1 192.168.58.254
ip dhcp pool LAN-IPV4
 network 192.168.58.0 255.255.255.0
 default-router 192.168.58.1 
 dns-server 1.1.1.1 1.0.0.1 
 domain-name home.tld
 lease 7
ip dhcp snooping
ip dhcp-server query lease retries 1
ip dhcp-server query lease timeout 60
897VAW-E-K9#
*Feb  6 2036 07:19:48.822 GMT: %SYS-5-CONFIG_I: Configured from console by test on console
897VAW-E-K9#ping 192.168.58.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.58.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms

Best Answer

Check that NTP is working properly, as DHCP might need that to function properly!