[dnsdist] Disable cache for certain sources

Nicolas Baumgarten nicomail at gmail.com
Tue Apr 16 21:36:12 UTC 2024


Hi!
Don't have the exact syntax now but you can use netmaskgrouprule with
setskipcacheaction.

Saludos

On Tue, Apr 16, 2024, 21:28 Andreas Wili via dnsdist <
dnsdist at mailman.powerdns.com> wrote:

> Hi,
>
> On 16.04.24 19:09, Jacob Bunk Nielsen via dnsdist wrote:
> > Hi
> >
> > Andreas Wili via dnsdist <dnsdist at mailman.powerdns.com> writes:
> >
> >> I have dnsdist deployed centrally to route DNS queries to various
> backends:
> >> [...]
> >> In this setup, I use caching as follows:
> >> cache_all_queries = newPacketCache(2000000, {maxTTL=86400, minTTL=0,
> >> temporaryFailureTTL=60, staleTTL=60})
> >> getPool(""):setCache(cache_all_queries)
> >>
> >> I would now need to disable caching for certain servers that issue a
> DNS query. Is there a
> >> rule for this or any other option?
> >
> > Do you mean that you do not want to cache responses from e.g.
> > "backend2"? Then you can try something like:
> >
> > -- Configure backends in separate pools
> > newServer({
> >      address='192.168.100.10',
> >      name='backend1',
> >      pool='use_cache_pool'
> > })
> > newServer({
> >      address='192.168.100.20',
> >      name='backend2',
> >      pool='no_cache_pool'
> > })
> >
> > -- Create cache
> > cache_all_queries = newPacketCache(2000000,
> >                                     {maxTTL=86400,
> >                                      minTTL=0,
> >                                      temporaryFailureTTL=60,
> >                                      staleTTL=60})
> > -- Set cache for the "use_cache_pool"
> > getPool('use_cache_pool'):setCache(cache_all_queries)
> >
> > -- route requests to your two pools, this will route ~50% to the pool
> > -- using cache and the remaining queries to your no_cache_pool.
> > -- You probably want something else, but I can't guess what.
> > AddAction(ProbaRule(0.5), PoolAction('use_cache_pool'))
> > AddAction(AllRule(), PoolAction('no_cache_pool'))
> >
> > If it's something else you wish to achieve, then please describe in more
> > words, e.g. with an example.
> >
> > Best regards,
> > Jacob
> > _______________________________________________
> > dnsdist mailing list
> > dnsdist at mailman.powerdns.com
> > https://mailman.powerdns.com/mailman/listinfo/dnsdist
>
> dnsdist has been installed on the server with the IP address
> 192.168.100.4 and configured with the specified configuration.
>
> All other servers in the network have been configured to use this server
> as their resolver in /etc/resolv.conf:
>
> # /etc/resolv.conf
> nameserver 192.168.100.4
>
> In general, DNS resolution via dnsdist works based on the configured
> backends.
>
> Now, there are two servers on the network for which all DNS queries must
> not be cached.
>
> The question is whether a rule can be defined to exclude queries from
> these two servers based on their IP addresses from being cached. If
> caching cannot be disabled for specific source IP addresses using a
> rule, then the only option is to define another backend where caching is
> not active, right?
>
> I hope I was able to describe the issue more clearly now.
>
> Best regards,
> Andreas
>
> _______________________________________________
> dnsdist mailing list
> dnsdist at mailman.powerdns.com
> https://mailman.powerdns.com/mailman/listinfo/dnsdist
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.powerdns.com/pipermail/dnsdist/attachments/20240416/0078bf6a/attachment-0001.htm>


More information about the dnsdist mailing list