Option 82, no free leases

Oskar Stenman oskar.stenman at magine.com
Thu Feb 4 22:40:59 UTC 2016


Hi!

I'm trying to get isc-dhcp-server 4.2.2 to give leases based only on the
option-82 value. If we replace a host it should be plug and play, unplug
old host, remove it, install new host, plug it in, and it should
immediately get the same ip + boot the same pxe image as the old host
without any further configuration of the host.

I also tried 4.2.6 and 4.3.3-p1 which i built from source, i even added all
debugging features i could find besides the one depending on dump_packet
since compile breaks when adding that, Either way it's not giving any
usefull information besides the extra output of "Not returning a lease."

I have a subnet and hosts declared like this:

subnet 10.1.13.0 netmask 255.255.255.0 {
  option routers 10.1.13.1;
  option broadcast-address 10.1.13.255;
  ddns-domainname "r13.int.domai";
  ddns-ttl 604800;
  option domain-name "r13.int.domai";
  option domain-name-servers 10.0.0.11, 10.0.0.12;
  next-server 10.0.0.10;
  option ntp-servers xx.yy.zz.63, xx.yy.zz.62, xx.yy.zz.61, xx.yy.zz.60,
xx.yy.zz.59, xx.yy.zz.58;
option pxelinux.pathprefix "/boot/debinstall/debmaint/";
}

group {
   host s1-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s1-ilo.r13.int.domai"; fixed-address 10.1.13.201; option host-name
"s1-ilo"; ddns-hostname "s1-ilo";}
   host s2-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s2-ilo.r13.int.domai"; fixed-address 10.1.13.202; option host-name
"s2-ilo"; ddns-hostname "s2-ilo";}
   host s3-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s3-ilo.r13.int.domai"; fixed-address 10.1.13.203; option host-name
"s3-ilo"; ddns-hostname "s3-ilo";}
   host s4-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s4-ilo.r13.int.domai"; fixed-address 10.1.13.204; option host-name
"s4-ilo"; ddns-hostname "s4-ilo";}
   host s5-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s5-ilo.r13.int.domai"; fixed-address 10.1.13.205; option host-name
"s5-ilo"; ddns-hostname "s5-ilo";}
   host s6-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s6-ilo.r13.int.domai"; fixed-address 10.1.13.206; option host-name
"s6-ilo"; ddns-hostname "s6-ilo";}
   host s7-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s7-ilo.r13.int.domai"; fixed-address 10.1.13.207; option host-name
"s7-ilo"; ddns-hostname "s7-ilo";}
   host s8-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s8-ilo.r13.int.domai"; fixed-address 10.1.13.208; option host-name
"s8-ilo"; ddns-hostname "s8-ilo";}
   host s9-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s9-ilo.r13.int.domai"; fixed-address 10.1.13.209; option host-name
"s9-ilo"; ddns-hostname "s9-ilo";}
   host s10-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s10-ilo.r13.int.domai"; fixed-address 10.1.13.210; option host-name
"s10-ilo"; ddns-hostname "s10-ilo";}
   host s11-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s11-ilo.r13.int.domai"; fixed-address 10.1.13.211; option host-name
"s11-ilo"; ddns-hostname "s11-ilo";}
   host s12-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s12-ilo.r13.int.domai"; fixed-address 10.1.13.212; option host-name
"s12-ilo"; ddns-hostname "s12-ilo";}
   host s13-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s13-ilo.r13.int.domai"; fixed-address 10.1.13.213; option host-name
"s13-ilo"; ddns-hostname "s13-ilo";}
   host s14-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s14-ilo.r13.int.domai"; fixed-address 10.1.13.214; option host-name
"s14-ilo"; ddns-hostname "s14-ilo";}
   host s15-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s15-ilo.r13.int.domai"; fixed-address 10.1.13.215; option host-name
"s15-ilo"; ddns-hostname "s15-ilo";}
   host s16-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s16-ilo.r13.int.domai"; fixed-address 10.1.13.216; option host-name
"s16-ilo"; ddns-hostname "s16-ilo";}
   host s17-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s17-ilo.r13.int.domai"; fixed-address 10.1.13.217; option host-name
"s17-ilo"; ddns-hostname "s17-ilo";}
   host s18-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s18-ilo.r13.int.domai"; fixed-address 10.1.13.218; option host-name
"s18-ilo"; ddns-hostname "s18-ilo";}
   host s19-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s19-ilo.r13.int.domai"; fixed-address 10.1.13.219; option host-name
"s19-ilo"; ddns-hostname "s19-ilo";}
   host s20-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s20-ilo.r13.int.domai"; fixed-address 10.1.13.220; option host-name
"s20-ilo"; ddns-hostname "s20-ilo";}
   host s21-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s21-ilo.r13.int.domai"; fixed-address 10.1.13.221; option host-name
"s21-ilo"; ddns-hostname "s21-ilo";}
   host s22-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s22-ilo.r13.int.domai"; fixed-address 10.1.13.222; option host-name
"s22-ilo"; ddns-hostname "s22-ilo";}
   host s23-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s23-ilo.r13.int.domai"; fixed-address 10.1.13.223; option host-name
"s23-ilo"; ddns-hostname "s23-ilo";}
   host s24-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s24-ilo.r13.int.domai"; fixed-address 10.1.13.224; option host-name
"s24-ilo"; ddns-hostname "s24-ilo";}
   host s25-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s25-ilo.r13.int.domai"; fixed-address 10.1.13.225; option host-name
"s25-ilo"; ddns-hostname "s25-ilo";}
   host s26-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s26-ilo.r13.int.domai"; fixed-address 10.1.13.226; option host-name
"s26-ilo"; ddns-hostname "s26-ilo";}
   host s27-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s27-ilo.r13.int.domai"; fixed-address 10.1.13.227; option host-name
"s27-ilo"; ddns-hostname "s27-ilo";}
   host s28-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s28-ilo.r13.int.domai"; fixed-address 10.1.13.228; option host-name
"s28-ilo"; ddns-hostname "s28-ilo";}
   host s29-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s29-ilo.r13.int.domai"; fixed-address 10.1.13.229; option host-name
"s29-ilo"; ddns-hostname "s29-ilo";}
   host s30-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s30-ilo.r13.int.domai"; fixed-address 10.1.13.230; option host-name
"s30-ilo"; ddns-hostname "s30-ilo";}
   host s31-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s31-ilo.r13.int.domai"; fixed-address 10.1.13.231; option host-name
"s31-ilo"; ddns-hostname "s31-ilo";}
   host s32-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s32-ilo.r13.int.domai"; fixed-address 10.1.13.232; option host-name
"s32-ilo"; ddns-hostname "s32-ilo";}
   host s33-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s33-ilo.r13.int.domai"; fixed-address 10.1.13.233; option host-name
"s33-ilo"; ddns-hostname "s33-ilo";}
   host s34-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s34-ilo.r13.int.domai"; fixed-address 10.1.13.234; option host-name
"s34-ilo"; ddns-hostname "s34-ilo";}
   host s35-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s35-ilo.r13.int.domai"; fixed-address 10.1.13.235; option host-name
"s35-ilo"; ddns-hostname "s35-ilo";}
   host s36-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s36-ilo.r13.int.domai"; fixed-address 10.1.13.236; option host-name
"s36-ilo"; ddns-hostname "s36-ilo";}
   host s37-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s37-ilo.r13.int.domai"; fixed-address 10.1.13.237; option host-name
"s37-ilo"; ddns-hostname "s37-ilo";}
   host s38-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s38-ilo.r13.int.domai"; fixed-address 10.1.13.238; option host-name
"s38-ilo"; ddns-hostname "s38-ilo";}
   host s39-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s39-ilo.r13.int.domai"; fixed-address 10.1.13.239; option host-name
"s39-ilo"; ddns-hostname "s39-ilo";}
   host s40-ilo.r13.int.domai { host-identifier option agent.circuit-id
"s40-ilo.r13.int.domai"; fixed-address 10.1.13.240; option host-name
"s40-ilo"; ddns-hostname "s40-ilo";}
}


And all i get in the log is:
2016-02-04T18:35:48.124024+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:52 via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:48.124055+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:52 via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:48.240046+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:47:1c via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:48.240152+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:47:1c via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:48.799417+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:00:ef via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:48.799508+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:00:ef via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:48.920182+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:3f:6f via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:48.920432+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:3f:6f via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.125385+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:1f via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.125487+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:1f via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.343455+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:42:8d via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.343487+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:42:8d via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.461783+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:49 via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.461815+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:49 via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.617856+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:01 via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.617888+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:01 via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.654026+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:0a via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.654059+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:0a via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.666002+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:41:97 via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.666146+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:41:97 via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.773406+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:46 via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.773655+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:46 via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.826255+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:4f via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:49.826330+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:4f via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:50.257486+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:42:cc via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:50.257518+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:42:cc via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:50.273982+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:31 via 10.1.13.2: network 10.1.13.0/24: no free leases
2016-02-04T18:35:50.274015+00:00 dhcphost dhcpd: DHCPDISCOVER from
34:17:eb:e7:01:31 via 10.1.13.2: network 10.1.13.0/24: no free leases

For some reason dhcpd "refuses" to match on agent.circuit-id.
I've tried:
range 10.1.13.201 10.1.13.240 -> random assignments from the range.

pool {
  range 10.1.13.201 10.1.13.240
} -> random assignments

pool {
  range 10.1.13.150 10.1.13.153
} -> 3 random assignments

+ all possible combinations of deny unknown-clients, allow known-clients
and similar to these that i could think of, nothing works. either no ip is
assigned, or all of them are assigned random ip's..

tcpdump shows the circuit-id:
22:22:16.595500 IP (tos 0x0, ttl 255, id 11344, offset 0, flags [none],
proto UDP (17), length 364)
    10.1.13.2.67 > 10.0.0.11.67: [udp sum ok] BOOTP/DHCP, Request from
34:17:eb:e7:3f:a2, length 336, hops 1, xid 0xc95ed144, Flags [none] (0x0000)
 Gateway-IP 10.1.13.2
 Client-Ethernet-Address 34:17:eb:e7:3f:a2
 Vendor-rfc1048 Extensions
   Magic Cookie 0x63825363
   DHCP-Message Option 53, length 1: Discover
   Client-ID Option 61, length 7: ether 34:17:eb:e7:3f:a2
   Hostname Option 12, length 17: "bmc-DPT1852-0-0-2"
   Vendor-Class Option 60, length 11: "udhcp 1.8.2"
   MSZ Option 57, length 2: 576
   Parameter-Request Option 55, length 8:
     Subnet-Mask, Default-Gateway, Domain-Name-Server, Hostname
     Domain-Name, BR, NTP, Vendor-Option
   Agent-Information Option 82, length 35:
     Circuit-ID SubOption 1, length 23: ^A^Us18-ilo.r13.int.domai
     Remote-ID SubOption 2, length 8: ^@^FX^J M-fiM-^@

What am i doing wrong?

/Oskar Stenman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20160204/883a2325/attachment-0001.html>


More information about the dhcp-users mailing list