<div dir="auto">If what you want Is a DNS Blacklist, those are a separate thing from a DNS Cache. Instead of trying to use an existing DNS server, I’d spin up a separate instance of a PowerDNS authoritative server and populate it with your domains to be blocked (if the list is mostly static, you might use LMDB, sqlite3, or tinyDNS as your backend). Then you would add that server’s name to the mail server’s DNSBL configuration. I have not used PowerDNS dnsdist, but that is the way to cache authoritative DNS records. What kind of scale are you looking for? What is your expected query load?</div><div dir="auto"><br></div><div dir="auto">You might look for howtos on how to setup a DNS blacklist. In today’s world, using multiple instances is usually the way to go. </div><div dir="auto"><br></div><div dir="auto">For example if you want to block email from <a href="http://domainxyz.com">domainxyz.com</a> and add it to your existing DNS server, that will cause anything using your DNS for actual DNS to try and load web requests from the client’s local web server (which will fail for 99.9% of users) instead of the website for <a href="http://domainxyz.com">domainxyz.com</a>. At some point you will discover that a user needs to go to a website hosted by someone in your DNS black list and you will have forgotten about your overloading.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">Walter</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 19, 2022 at 8:55 AM Clint Anderson via Pdns-users <<a href="mailto:pdns-users@mailman.powerdns.com">pdns-users@mailman.powerdns.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Otto & Walter - Thank you for the replies!<br>
<br>
Otto,<br>
<br>
My assumption was that the cache is the most efficient and if it was in the cache, it would return the cached answer and never go looking for an update.  Thank you for the clarification on the zoneToCache functionality, seems I was barking up the wrong tree.<br>
<br>
If using the cache is not the way to go, what is the best, most efficient way, to block half a million (500,000) or more domains?  I do not have any experience using RPZ files, but I did read up on it and it seems to be the best way to go.  Trying to load 500,000 domains into a file and running a Lua "preresolve" script seems like it would require more system resources and not be as efficient, but I would love to hear your opinion on it. <br>
<br>
Thank you very much for your time & help!<br>
<br>
Cheers,<br>
Clint<br>
<br>
> Hi All,<br>
> <br>
> BackGround:<br>
> PowerDNS Recursor v4.6.0<br>
> I have the example from the docs (<a href="https://doc.powerdns.com/recursor/lua-config/ztc.html" rel="noreferrer" target="_blank">https://doc.powerdns.com/recursor/lua-config/ztc.html</a>) working perfectly:<br>
> zoneToCache(".", "url", "<a href="https://www.internic.net/domain/root.zone" rel="noreferrer" target="_blank">https://www.internic.net/domain/root.zone</a>", { <br>
> refreshPeriod = 0 })<br>
> <br>
> <br>
> Problem:<br>
> I'd like to load a "BlackList" file (or multiple BlackList files) the same way, but I have no idea what file format the PDNS zoneToCache function is looking for.  In a perfect world, I'd like to be able to take a list of domains like this:<br>
> <br>
> Domain1.com<br>
> Domain2.com<br>
> Domain3.com<br>
> *.Domain3.com<br>
> Domain4.com<br>
> <a href="http://Sub.Domain4.com" rel="noreferrer" target="_blank">Sub.Domain4.com</a><br>
> <a href="http://Sub2.Domain4.com" rel="noreferrer" target="_blank">Sub2.Domain4.com</a><br>
> <br>
> And load them via the zoneToCache feature, and have them all point to a specific, common IP Address, like 192.168.1.100, but I can't seem to figure out how to accomplish this.<br>
> <br>
> Any thoughts, examples, or suggestions would be greatly appreciated.  Thank you very much for your time & help.<br>
<br>
The format is the zone file format see e.g. <a href="https://en.wikipedia.org/wiki/Zone_file" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Zone_file</a><br>
<br>
But the zone to cache is not for overriding. It is meant to be used for keeping the cache hot. The recursor will replace records your are trying to override with data retrieved from the net in some cases.<br>
<br>
To override names there are two mechanisms available: Lua interception [1] and RPZ [2].<br>
<br>
[1] <a href="https://docs.powerdns.com/recursor/lua-scripting/hooks.html" rel="noreferrer" target="_blank">https://docs.powerdns.com/recursor/lua-scripting/hooks.html</a><br>
[2] <a href="https://docs.powerdns.com/recursor/lua-config/rpz.html#response-policy-zones-rpz" rel="noreferrer" target="_blank">https://docs.powerdns.com/recursor/lua-config/rpz.html#response-policy-zones-rpz</a><br>
<br>
        -Otto<br>
_______________________________________________<br>
Pdns-users mailing list<br>
<a href="mailto:Pdns-users@mailman.powerdns.com" target="_blank">Pdns-users@mailman.powerdns.com</a><br>
<a href="https://mailman.powerdns.com/mailman/listinfo/pdns-users" rel="noreferrer" target="_blank">https://mailman.powerdns.com/mailman/listinfo/pdns-users</a><br>
</blockquote></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse;color:rgb(136,136,136)">The greatest dangers to liberty lurk in insidious encroachment by men of zeal, well-meaning but without understanding.   -- Justice Louis D. Brandeis</span></div>