[pkg-dhcp-devel] Bug#717078: isc-dhcp-server: OMAPI unreliable for getting current lease

Michael Braun michael-dev at fami-braun.de
Tue Jul 16 14:38:16 UTC 2013


Package: isc-dhcp-server
Version: 4.2.2.dfsg.1-5+deb70u6
Severity: important

Dear Maintainer,

I'm using the isc-dhcp-server for offer my clients static and dynamically allocated IP-adresses in various subnets.
My monitoring system regularly checks the addresses used by the clients against the static allocation table as well as the dhcp server lease table.
For the latter, it uses the OMAPI (CPAN Net::ISC::DHCPd::OMAPI) in the very same way as given in http://search.cpan.org/~jhthorsen/Net-ISC-DHCPd-0.14/lib/Net/ISC/DHCPd/OMAPI.pm , section Synposis.
Most of the time, that gives me a valid state (active) and the correct mac address, but sometimes all fields are empty - but $lease->read still returned true. As the perl wrapper just executes omshell, I suspect isc-dhcp-server to not return the requested data.

The log then shows (I replaced IP, MAC and Client-Name with $SOMEIP/NAME/MAC$ for privacy reasons):

Jul 15 12:02:20 admindb2-dhcp-01 dhcpd: DHCPREQUEST for $SOMEIP$ from $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:02:20 admindb2-dhcp-01 dhcpd: DHCPACK on $SOMEIP$ to $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:04:50 admindb2-dhcp-01 dhcp_update[19310]: XMLRPC: resolveIpToMac($SOMEIP$)
Jul 15 12:04:50 admindb2-dhcp-01 dhcpd: DHCPREQUEST for $SOMEIP$ from $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:04:50 admindb2-dhcp-01 dhcpd: DHCPACK on $SOMEIP$ to $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:04:50 admindb2-dhcp-01 dhcp_update[19310]: XMLRPC: resolveIpToMac($SOMEIP$): read ok, state eq active, hardware_address eq $SOMEMAC$
Jul 15 12:07:20 admindb2-dhcp-01 dhcpd: DHCPREQUEST for $SOMEIP$ from $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:07:20 admindb2-dhcp-01 dhcpd: DHCPACK on $SOMEIP$ to $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:09:50 admindb2-dhcp-01 dhcpd: DHCPREQUEST for $SOMEIP$ from $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:09:50 admindb2-dhcp-01 dhcpd: DHCPACK on $SOMEIP$ to $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:10:16 admindb2-dhcp-01 dhcp_update[22903]: XMLRPC: resolveIpToMac($SOMEIP$)
Jul 15 12:10:16 admindb2-dhcp-01 dhcp_update[22903]: XMLRPC: resolveIpToMac($SOMEIP$): read ok, state eq , hardware_address eq
Jul 15 12:12:20 admindb2-dhcp-01 dhcpd: DHCPREQUEST for $SOMEIP$ from $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:12:20 admindb2-dhcp-01 dhcpd: DHCPACK on $SOMEIP$ to $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:14:51 admindb2-dhcp-01 dhcpd: DHCPREQUEST for $SOMEIP$ from $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:14:51 admindb2-dhcp-01 dhcpd: DHCPACK on $SOMEIP$ to $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:15:34 admindb2-dhcp-01 dhcp_update[25814]: XMLRPC: resolveIpToMac($SOMEIP$)
Jul 15 12:15:34 admindb2-dhcp-01 dhcp_update[25814]: XMLRPC: resolveIpToMac($SOMEIP$): read ok, state eq , hardware_address eq
Jul 15 12:17:22 admindb2-dhcp-01 dhcpd: DHCPREQUEST for $SOMEIP$ from $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:17:22 admindb2-dhcp-01 dhcpd: DHCPACK on $SOMEIP$ to $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:19:52 admindb2-dhcp-01 dhcpd: DHCPREQUEST for $SOMEIP$ from $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:19:52 admindb2-dhcp-01 dhcpd: DHCPACK on $SOMEIP$ to $SOMEMAC$ ($SOMENAME$) via eth0.502
Jul 15 12:20:22 admindb2-dhcp-01 dhcp_update[29065]: XMLRPC: resolveIpToMac($SOMEIP$)
Jul 15 12:20:22 admindb2-dhcp-01 dhcp_update[29065]: XMLRPC: resolveIpToMac($SOMEIP$): read ok, state eq active, hardware_address eq $SOMEMAC$

>From the log one can see, that the client has a valid lease (regularly refreshed), but the server only sometimes returns the state and MAC.
The dhcp_update lines correspond to the call the Net::ISC::DHCPd::OMAPI, each allocating a new process (fork) and a new OMAPI object that just does the single OMAPI query.
The config gives a range setting for the used IP and has default-lease-time 300; max-lease-time 3600; set.

I expected OMAPI to always return the current lease if one exists.

Regards,
 M. Braun

-- System Information:
Debian Release: 7.1
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages isc-dhcp-server depends on:
ii  debconf [debconf-2.0]  1.5.49
ii  debianutils            4.3.2
ii  isc-dhcp-common        4.2.2.dfsg.1-5+deb70u6
ii  libc6                  2.13-38
ii  lsb-base               4.1+Debian8+deb7u1

isc-dhcp-server recommends no packages.

Versions of packages isc-dhcp-server suggests:
pn  isc-dhcp-server-ldap  <none>

-- Configuration Files:
/etc/dhcp/dhcpd.conf changed [not included]

-- debconf information excluded



More information about the pkg-dhcp-devel mailing list