Monday, October 15, 2012

Cisco fails to relay DHCP requests

After a multiple hour outage of DHCP services to one of our departments we finally determined the issue to be a DHCP relay (helper) problem (bug) after a router/switch upgrade.

In this example our layer3 SVI was anchored on a Cisco 3750 running:

c3750-advipservicesk9-mz.122-25.SEE1.

To address some memory issues in this release we upgraded to:

c3750-ipservicesk9-mz.122-55.SE6.bin

After this change anyone with a layer 3 interface behind this device could no longer get DHCP services.   We spanned the uplink from this switch to the DHCP server and saw the discover and offer packets.   When we spanned links that faced our clients we would see the discover packets only.   

This narrowed the problem down to something local to the switch.   

We are always hesitant to run "debug" anything on Cisco device, however, once we put the switch into debug mode, the problem was obvious:

DHCP server packet debugging is on.
switch#term mon

02:06:19: DHCPD: option 47 is malformed (option length 0).
02:06:19: DHCPD: invalid DHCP options - unable to parse
02:06:20: DHCPD: option 47 is malformed (option length 0).
02:06:20: DHCPD: invalid DHCP options - unable to parse
02:06:20: DHCPD: option 47 is malformed (option length 0).
02:06:20: DHCPD: invalid DHCP options - unable to parse
02:06:20: DHCPD: option 47 is malformed (option length 0).
02:06:20: DHCPD: invalid DHCP options - unable to parse


In our ISC dhcpd.conf file we had this following option configured in one of our scopes:


option netbios-scope ""

I am not sure why this option was there or who configured, but either way it was, and probably has been for a very long time.   This subnet never gets changed.

We removed the option, reloaded the server, and everything started working as expected.   

No comments:

Post a Comment

Followers