<div dir="ltr">Hi Thomas,<div><br></div><div>I am currently using 1.3 as well. The DDNS works great, though I found there are some cases where the DDNS to powerdns fails to update the entry if a previous one still exists. There does not seem to be any way to force the update by overwriting the existing one, even though Kea knows it just reused the lease. It is a corner case in a lab environment. </div><div><br></div><div>However, I set the following for DDNS (this is yaml from my ansible playbook, but it should be easy to map to the kea config json syntax):</div><div><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:Menlo;font-size:9pt"><span style="color:rgb(128,128,128)"><pre style="text-decoration-style:initial;text-decoration-color:initial;background-color:rgb(255,255,255);color:rgb(0,0,0);font-size:9pt"><span style="color:rgb(128,128,128)"># </span><span style="color:rgb(128,128,128)">DHCP4 configs<i><br></i></span></pre><i># Dynamic DNS update requests are known as NameChangeRequests or NCRs.<br></i></span><span style="color:rgb(128,128,128);font-style:italic"># Each NCR contains the following information:<br></span><span style="color:rgb(128,128,128);font-style:italic"># - update action: add (update) or remove DNS entries<br></span><span style="color:rgb(128,128,128);font-style:italic"># - entry to update: forward (A records), reverse (PTR records), or both.<br></span><span style="color:rgb(128,128,128);font-style:italic"># - details: FQDN, lease address, and DHCID<br></span><span style="color:rgb(102,14,122);font-weight:bold">dhcp-ddns</span>:<br>  <span style="color:rgb(102,14,122);font-weight:bold">enable-updates</span>: <span style="color:rgb(0,0,128);font-weight:bold">true<br></span><span style="color:rgb(0,0,128);font-weight:bold">  </span><span style="color:rgb(102,14,122);font-weight:bold">qualifying-suffix</span>: "<span style="background-color:rgb(247,250,255)">{{</span> global.dns.domain_name <span style="background-color:rgb(247,250,255)">}}</span>"<br>  <span style="color:rgb(102,14,122);font-weight:bold">override-client-update</span>: <span style="color:rgb(0,0,128);font-weight:bold">true  </span><span style="color:rgb(128,128,128);font-style:italic"># Kea generates forward and reverse updates<br></span><span style="color:rgb(128,128,128);font-style:italic">  </span><span style="color:rgb(102,14,122);font-weight:bold">override-no-update</span>: <span style="color:rgb(0,0,128);font-weight:bold">true      </span><span style="color:rgb(128,128,128);font-style:italic"># Always create DNS updates<br></span><span style="color:rgb(128,128,128);font-style:italic">  </span><span style="color:rgb(102,14,122);font-weight:bold">replace-client-name</span>: when-not-present</pre><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:Menlo;font-size:9pt"><span style="color:rgb(128,128,128);font-style:italic">#DDNS configs - TSIG is optional, but probably a good idea for security</span></pre><pre style="background-color:rgb(255,255,255);color:rgb(0,0,0);font-family:Menlo;font-size:9pt"><span style="color:rgb(128,128,128);font-style:italic">  </span><span style="color:rgb(102,14,122);font-weight:bold">DhcpDdns</span>:<br>    <span style="color:rgb(102,14,122);font-weight:bold">ip-address</span>: 127.0.0.1  <span style="color:rgb(128,128,128);font-style:italic">#kea default<br></span><span style="color:rgb(128,128,128);font-style:italic">    </span><span style="color:rgb(102,14,122);font-weight:bold">port</span>: 53001  <span style="color:rgb(128,128,128);font-style:italic">#kea default<br></span><span style="color:rgb(128,128,128);font-style:italic">    </span><span style="color:rgb(102,14,122);font-weight:bold">tsig-keys</span>:<br>    - <span style="color:rgb(102,14,122);font-weight:bold">name</span>: "<span style="background-color:rgb(247,250,255)">{{</span>global.dns.dnssec.tsig_name<span style="background-color:rgb(247,250,255)">}}</span>"<br>      <span style="color:rgb(102,14,122);font-weight:bold">algorithm</span>: "<span style="background-color:rgb(247,250,255)">{{</span>global.dns.dnssec.tsig_algorithm <span style="background-color:rgb(247,250,255)">}}</span>"<br>      <span style="color:rgb(102,14,122);font-weight:bold">secret</span>: "<span style="background-color:rgb(247,250,255)">{{</span> dns_tsig_secret|default('==undefined==') <span style="background-color:rgb(247,250,255)">}}</span>"<br>    <span style="color:rgb(102,14,122);font-weight:bold">forward-ddns</span>:<br>      <span style="color:rgb(102,14,122);font-weight:bold">ddns-domains</span>:<br>      - <span style="color:rgb(102,14,122);font-weight:bold">name</span>: "<span style="background-color:rgb(247,250,255)">{{</span>global.dns.domain_name<span style="background-color:rgb(247,250,255)">}}</span>."<br>        <span style="color:rgb(102,14,122);font-weight:bold">key-name</span>: "<span style="background-color:rgb(247,250,255)">{{</span>global.dns.dnssec.tsig_name<span style="background-color:rgb(247,250,255)">}}</span>"<br>        <span style="color:rgb(102,14,122);font-weight:bold">dns-servers</span>:<br>        - <span style="color:rgb(102,14,122);font-weight:bold">ip-address</span>: "<span style="background-color:rgb(247,250,255)">{{</span>global.dns.server.ipv4<span style="background-color:rgb(247,250,255)">}}</span>"<br>          <span style="color:rgb(102,14,122);font-weight:bold">port</span>: 5300<br>    <span style="color:rgb(102,14,122);font-weight:bold">reverse-ddns</span>:<br>      <span style="color:rgb(102,14,122);font-weight:bold">ddns-domains</span>:<br>      - <span style="color:rgb(102,14,122);font-weight:bold">name</span>: "<span style="background-color:rgb(247,250,255)">{{</span>global.dns.rev_domain.ipv4<span style="background-color:rgb(247,250,255)">}}</span>."<br>        <span style="color:rgb(102,14,122);font-weight:bold">key-name</span>: "<span style="background-color:rgb(247,250,255)">{{</span>global.dns.dnssec.tsig_name<span style="background-color:rgb(247,250,255)">}}</span>"<br>        <span style="color:rgb(102,14,122);font-weight:bold">dns-servers</span>:<br>        - <span style="color:rgb(102,14,122);font-weight:bold">ip-address</span>: "<span style="background-color:rgb(247,250,255)">{{</span>global.dns.server.ipv4<span style="background-color:rgb(247,250,255)">}}</span>"<br>      - <span style="color:rgb(102,14,122);font-weight:bold">name</span>: "<span style="background-color:rgb(247,250,255)">{{</span>global.dns.rev_domain.ipv6<span style="background-color:rgb(247,250,255)">}}</span>."<br>        <span style="color:rgb(102,14,122);font-weight:bold">key-name</span>: "<span style="background-color:rgb(247,250,255)">{{</span>global.dns.dnssec.tsig_name<span style="background-color:rgb(247,250,255)">}}</span>"<br>        <span style="color:rgb(102,14,122);font-weight:bold">dns-servers</span>:<br>        - <span style="color:rgb(102,14,122);font-weight:bold">ip-address</span>: "<span style="background-color:rgb(247,250,255)">{{</span>global.dns.server.ipv4<span style="background-color:rgb(247,250,255)">}}</span>"<br>          <span style="color:rgb(102,14,122);font-weight:bold">port</span>: 5300</pre>I hope this helps to compare to a known working config.</div><div>Jason</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Jul 24, 2018 at 9:49 AM Thomas Markwalder <<a href="mailto:tmark@isc.org">tmark@isc.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello Jim:<br>
<br>
Currently, kea-dhcp4 does DNS updates if the client sends either the <br>
Host Name or FQDN options in the REQUEST.  If it sends both, the server <br>
will use FQDN.  Typically a client would issue a DISCOVER asking for the <br>
Host Name, and then send it back in the REQUEST, or use it to construct <br>
a FQDN option and send that in the request.  If your client is not <br>
providing either option, the server does not do DNS.<br>
<br>
Regards,<br>
<br>
Thomas Markwalder<br>
ISC Sofware Engineering<br>
<br>
<br>
On 07/23/2018 10:19 PM, J wrote:<br>
> Perhaps newbie question…?<br>
><br>
> Using Kea 1.3 with ddns hooks and feeding powerDNS, both backed by mysql.<br>
><br>
> Have a reservation set for a client machine (using MAC) which works fine.  But after lease is given out, no DDNS update is attempted (as evidenced in the kea-ddns.log file.  Other clients getting addresses from a free/random range on the same VLAN get put into powerDNS (including PTR records)<br>
><br>
> Is there something about the reservation that is causing the ddns call not to occur?<br>
><br>
> Thanks in advance<br>
> Jim.<br>
> _______________________________________________<br>
> Kea-users mailing list<br>
> <a href="mailto:Kea-users@lists.isc.org" target="_blank">Kea-users@lists.isc.org</a><br>
> <a href="https://lists.isc.org/mailman/listinfo/kea-users" rel="noreferrer" target="_blank">https://lists.isc.org/mailman/listinfo/kea-users</a><br>
<br>
_______________________________________________<br>
Kea-users mailing list<br>
<a href="mailto:Kea-users@lists.isc.org" target="_blank">Kea-users@lists.isc.org</a><br>
<a href="https://lists.isc.org/mailman/listinfo/kea-users" rel="noreferrer" target="_blank">https://lists.isc.org/mailman/listinfo/kea-users</a><br>
</blockquote></div>