<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi DHCP Users list,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">May I please have some help understanding what is going on here? I have a pool that by some accounts is not full and in others it is and I don’t understand why.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The logs indicate that it is pushing close to the limits of free addresses when balancing<o:p></o:p></p>
<p class="MsoNormal">2020-03-10T10:53:19+00:00 $PRIMARY      dhcpd[2147]: balanced pool 55dccc4d51e0 10.20.200.0/22  total 1008  free 2  backup 2  lts 0  max-misbal 1<o:p></o:p></p>
<p class="MsoNormal">2020-03-10T10:53:20+00:00 $SECONDARY dhcpd[3683]: balanced pool 555eee5eb1e0 10.20.200.0/22  total 1008  free 2  backup 2  lts 0  max-misbal 1<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">And this is confirmed when some people try to get leases<o:p></o:p></p>
<p class="MsoNormal">2020-03-10T10:54:22+00:00 $PRIMARY      dhcpd[3683]: DHCPDISCOVER from $MAC via 10.20.203.254: peer holds all free leases<o:p></o:p></p>
<p class="MsoNormal">2020-03-10T10:54:22+00:00 $SECONDARY dhcpd[2147]: DHCPDISCOVER from $MAC via 10.20.203.254: peer holds all free leases<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">However we run dhcpd-pools. The subnet is 43% utilized, but 100% “touch utilized”:<o:p></o:p></p>
<p class="MsoNormal">$ dhcpd-pools<o:p></o:p></p>
<p class="MsoNormal">Ranges:<o:p></o:p></p>
<p class="MsoNormal">shared net name     first ip           last ip            max   cur    percent  touch   t+c  t+c perc     bu  bu perc<o:p></o:p></p>
<p class="MsoNormal">[snip]<o:p></o:p></p>
<p class="MsoNormal">All networks        10.20.200.1      - 10.20.203.240     1008   434     43.056    573  1007    99.901      1    0.099
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">What is happening here? I can see the touched percentage being high, but as I understand it that should not be denying any leases being given out. According to the dhcpd-pools man page, touched IPs are “    
<o:p></o:p></p>
<p class="MsoNormal">IP’s which appear in the lease file, but who’s leases have expired. A touched IP is either expired or abandoned.” We have many subnets and there are only two with a touch percentage of ~100% and these are both subnets experiencing issues.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’ve set the abandon-lease-time to 1800. Running ping against the subnet, sources from the DHCP server, I do not get anywhere close to 50% responses.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Any help gratefully received. Redacted config below. The leases file is too large and contains sensitive data that I don’t think my employer would be willing to hand out unfortunately. I am happy to redact and share relevant snippets if
 required though.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"># /etc/dhcp/dhcpd.confcd <o:p></o:p></p>
<p class="MsoNormal">-------------------------------------------------->8-------------<o:p></o:p></p>
<p class="MsoNormal">ddns-updates off;<o:p></o:p></p>
<p class="MsoNormal">ddns-update-style none;<o:p></o:p></p>
<p class="MsoNormal">authoritative;<o:p></o:p></p>
<p class="MsoNormal">log-facility local7;<o:p></o:p></p>
<p class="MsoNormal">local-address $IP;<o:p></o:p></p>
<p class="MsoNormal">server-identifier $IP;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">key EXKEY {<o:p></o:p></p>
<p class="MsoNormal">    [snip]<o:p></o:p></p>
<p class="MsoNormal">};<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">omapi-port 7911;<o:p></o:p></p>
<p class="MsoNormal">omapi-key EXKEY;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">include "/etc/dhcp/options.conf";<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">include "/etc/dhcp/failover.conf";<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">include "/etc/dhcp/nets.conf";<o:p></o:p></p>
<p class="MsoNormal">-------------------------------------------------->8-------------<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">## /etc/dhcp/options.conf<o:p></o:p></p>
<p class="MsoNormal">-------------------------------------------------->8-------------<o:p></o:p></p>
<p class="MsoNormal">option option-150 code 150 = array of ip-address;<o:p></o:p></p>
<p class="MsoNormal">-------------------------------------------------->8-------------<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">## /etc/dhcp/failover.conf<o:p></o:p></p>
<p class="MsoNormal">-------------------------------------------------->8-------------<o:p></o:p></p>
<p class="MsoNormal">failover peer " dhcp" {<o:p></o:p></p>
<p class="MsoNormal">    primary;<o:p></o:p></p>
<p class="MsoNormal">    address $THIS_ADDRESS;<o:p></o:p></p>
<p class="MsoNormal">    port 847;<o:p></o:p></p>
<p class="MsoNormal">    peer address $PEER_ADDRESS;<o:p></o:p></p>
<p class="MsoNormal">    peer port 848;<o:p></o:p></p>
<p class="MsoNormal">    max-response-delay 5;<o:p></o:p></p>
<p class="MsoNormal">    max-unacked-updates 10;<o:p></o:p></p>
<p class="MsoNormal">    load balance max seconds 3; <o:p></o:p></p>
<p class="MsoNormal">    # ONLY ON PRIMARY<o:p></o:p></p>
<p class="MsoNormal">    mclt 1800;<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:9.75pt">split 128;<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:9.75pt"># /ONLY ON PRIMARY<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal">-------------------------------------------------->8-------------<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">## /etc/dhcp/nets.conf<o:p></o:p></p>
<p class="MsoNormal"># Very long, so snipped considerably<o:p></o:p></p>
<p class="MsoNormal">-------------------------------------------------->8-------------<o:p></o:p></p>
<p class="MsoNormal">abandon-lease-time 1800;<o:p></o:p></p>
<p class="MsoNormal">default-lease-time 900;<o:p></o:p></p>
<p class="MsoNormal">max-lease-time 900;<o:p></o:p></p>
<p class="MsoNormal">ping-check false;<o:p></o:p></p>
<p class="MsoNormal">one-lease-per-client true;<o:p></o:p></p>
<p class="MsoNormal">boot-unknown-clients true;<o:p></o:p></p>
<p class="MsoNormal">option domain-name-servers [snip];<o:p></o:p></p>
<p class="MsoNormal">option domain-name "[snip]";<o:p></o:p></p>
<p class="MsoNormal">option time-servers uk.pool.ntp.org;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">subnet 10.20.200.0 netmask 255.255.252.0 {<o:p></o:p></p>
<p class="MsoNormal">    option routers 10.20.203.254;                                                                                                                                                                                                              
                                <o:p></o:p></p>
<p class="MsoNormal">    option subnet-mask 255.255.252.0;                                                                                                                                                                                                                                          <o:p></o:p></p>
<p class="MsoNormal">                                                                                                                                                                                                                                                                               <o:p></o:p></p>
<p class="MsoNormal">    pool {                                                                                                                                                                                                                                                                     <o:p></o:p></p>
<p class="MsoNormal">            deny dynamic bootp clients;                                                                                                                                                                                                                                        <o:p></o:p></p>
<p class="MsoNormal">            failover peer "dhcp";                                                                                                                                                                                                                                      <o:p></o:p></p>
<p class="MsoNormal">            range 10.20.200.1 10.20.203.240;                                                                                                                                                                                                                                   <o:p></o:p></p>
<p class="MsoNormal">    }                                                                                                                                                                                                                                                                          <o:p></o:p></p>
<p class="MsoNormal">}         <o:p></o:p></p>
<p class="MsoNormal">-------------------------------------------------->8-------------<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>