Option 82, no free leases

Glenn Satchell glenn.satchell at uniq.com.au
Fri Feb 5 01:21:27 UTC 2016


Hi Oskar

The tcpdump shows the true contents of the circuit-id option is
"^A^Us18-ilo.r13.int.domai" but you are trying to match against the string
"s18-ilo.r13.int.domai", so that's not equal.

So your match string needs to be "\000\025s18-ilo.r13.int.domai" where
control A is \000 in octal, and control U is \025 (I think I have that
right, you may need to check).

The format of strings is described in the dhcp-eval man page under the
heading "string".

regards,
-glenn

On Fri, February 5, 2016 9:40 am, Oskar Stenman wrote:
> 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
> _______________________________________________
> dhcp-users mailing list
> dhcp-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/dhcp-users




More information about the dhcp-users mailing list