<div dir="ltr"><div class="gmail_quote"><div dir="ltr">BTW, sorry for posting without a subject, it was by accident...<div><br></div><div><br></div><div>Let me illustrate by an example, comparing what I get now and what I want to get  (what NextDNS does with "CNAME flattening"):</div><div><br></div><div>normally, I query for "<a href="http://gravityzone.bitdefender.com" target="_blank">gravityzone.bitdefender.com</a>" and I get a reply that: </div><div><br></div><div> - "<a href="http://gravityzone.bitdefender.com" target="_blank">gravityzone.bitdefender.com</a>" is a CNAME for "someserver.on.amazon.aws", AND </div><div> - "someserver.on.amazon.aws" has A record "212.216.124.1", AND </div><div> - "someserver.on.amazon.aws" has A record "212.216.124.33"</div><div><br></div><div>what I need is to query for "<a href="http://gravityzone.bitdefender.com" target="_blank">gravityzone.bitdefender.com</a>" and get a reply:</div><div><br></div><div> - "<a href="http://gravityzone.bitdefender.com" target="_blank">gravityzone.bitdefender.com</a>" has A record "212.216.124.1", AND </div><div> - "<a href="http://gravityzone.bitdefender.com" target="_blank">gravityzone.bitdefender.com</a>" has A record "212.216.124.33"</div><div><br></div><div>When querying NextDNS, with CNAME Flattening enabled in Settings (far right tab of setup WebGUI) the second scenario occurs. The reason I ask here is that I understand NextDNS use Unbound.<br></div><div><br></div><div>The DNS replies from Unbound will be used in my router to create dynamic firewall rules. If I get regular DNS replies, I have to figure out the CNAME chain myself with scripting on my router, which is too slow. (Often, the CNAME chain is longer, and I need to recursively check a tree of CNAME records and A records.) </div><div><br></div><div>If I get DNS replies like the second scenario, it is reasonably fast to run a few statements for every entry in the router's DNS cache (for A records only). In other words, I want to offload some processing from the router to Unbound. Hope this clarifies. </div><div><br></div><div>Thank you. </div><div><br></div><div><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div><div><br></div><div>With Best Regards, </div><div dir="ltr"><p style="margin:0pt"><span style="color:rgb(2,45,81);background-color:transparent;font-family:Arial;font-weight:bold">Dimitris Chryssanthakopoulos</span></p><p style="margin:0pt"><span style="color:rgb(2,45,81);background-color:transparent;font-family:Arial">T Manager</span></p><p style="margin:0pt"><br><img src="https://i.postimg.cc/Hx2QhzDF/logokassian.jpg" width="200" height="62"><br></p><p style="margin:0pt"><span style="background-color:transparent;color:rgb(2,45,81);font-family:Arial">As Agents Only</span><br></p><p style="margin:0pt"><span style="background-color:transparent;color:rgb(2,45,81);font-family:Arial">367, Syngrou Av. | 175 64 Athens | Greece</span></p><p style="margin:0pt"><span style="color:rgb(2,45,81);background-color:transparent;font-family:Arial">tel: +30 210 9402001 |   fax: +30 210 9402430</span></p><p style="margin:0pt"><span style="color:rgb(2,45,81);background-color:transparent;font-family:Arial">Website: </span><a href="http://www.kassian.gr/" style="background-color:transparent;font-family:Arial;color:rgb(17,85,204)" target="_blank">www.kassian.gr</a></p></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 6, 2022 at 5:10 PM Felipe Gasper <<a href="mailto:felipe@felipegasper.com" target="_blank">felipe@felipegasper.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
> On Jun 6, 2022, at 09:57, Dimitris Chryssanthakopoulos via Unbound-users <<a href="mailto:unbound-users@lists.nlnetlabs.nl" target="_blank">unbound-users@lists.nlnetlabs.nl</a>> wrote:<br>
> <br>
> Dear Unbound-Users,<br>
> <br>
> <br>
> I am trying to do with Unbound what NextDNS calls "CNAME Flattening":<br>
> <br>
>  - when a request is made for a public host I want an A record for that name, even if <br>
> strictly speaking it is a CNAME. Is that possible with the available settings?<br>
> <br>
> To avoid confusion, Unbound may chase the CNAME chain properly (to avoid<br>
> poisoning etc) but it must reply to the original requestor only with an A<br>
> record.<br>
<br>
CNAME flattening is how libunbound always works, as far as I can tell: when you request an A record, Unbound will internally resolve all CNAME records.<br>
<br>
For example, “<a href="http://www.felipegasper.com" rel="noreferrer" target="_blank">www.felipegasper.com</a>”’s CNAME is “<a href="http://felipegasper.com" rel="noreferrer" target="_blank">felipegasper.com</a>”. When I query for CNAMEs, I get the CNAME:<br>
<br>
> perl -MDNS::Unbound -E'say join ".", unpack "(C/a)*" for DNS::Unbound->new()->resolve("<a href="http://www.felipegasper.com" rel="noreferrer" target="_blank">www.felipegasper.com</a>", "CNAME")->data()->@*'<br>
<a href="http://felipegasper.com" rel="noreferrer" target="_blank">felipegasper.com</a>.<br>
<br>
When I query for A records, though, I just get IPs:<br>
<br>
> perl -MDNS::Unbound -E'say join ".", unpack "C*" for DNS::Unbound->new()->resolve("<a href="http://www.felipegasper.com" rel="noreferrer" target="_blank">www.felipegasper.com</a>", "A")->data()->@*'<br>
172.241.25.87<br>
<br>
-FG<br>
</blockquote></div>
</div></div>