I have been banging my head against the wall regarding this very topic and then 
found this thread from last week.  I’m also looking for a solution to this 
problem, and wondered if anyone may have some suggestions (including potential 
alternatives).

My situation is due to a security requirement.  We have DNS servers at our site 
running BIND that allow recursion, but I’ve been requested to set up some 
additional DNS servers for another project that is expected to *only* access 
the data that we’re authoritative for.  And of course …. there’s a chance that 
it might need to look up one or two external zones.  Essentially, what I really 
need is a recursive whitelist that doesn’t tell BIND what clients are allowed 
to do recursive lookups, but to limit BIND to only allow recursive lookups on a 
very small list of allowed domains.

I was trying to set up a forwarding zone to forward queries to our DNS servers 
that do allow recursion, but as I discovered (and as was discussed earlier in 
the thread), if recursion is not allowed, then forwarding is also not allowed.  
I had tried setting the “allow-recursion” field to “localhost” and setting up a 
forward zone to forward to 127.0.0.1, but that didn’t work either.

Is there any potential workaround for this, or do I just need to tell the 
person who requested this that they can only get all or nothing for recursive 
queries?  We’re still running BIND 9.11, but I was wondering if there may be 
new features in BIND 9.16 or 17 that I’m not aware of.


Thanks,

Brian

--
Brian Sebby (he/him/his)      |  Lead Systems Engineer
Email: se...@anl.gov<mailto:se...@anl.gov>          |  Information Technology 
Infrastructure
Phone: +1 630.252.9935        |  Business Information Services
Cell:  +1 630.921.4305        |  Argonne National Laboratory

From: bind-users <bind-users-boun...@lists.isc.org> on behalf of RK K 
<rvk...@gmail.com>
Date: Wednesday, April 7, 2021 at 7:40 PM
To: "bind-users@lists.isc.org" <bind-users@lists.isc.org>
Subject: Re: forwarding zone setup from a BIND slave (without recursion?)

Hello Marki, Matus,

Thank you for the insights on this topic.

Answering Marki's question about why the secondary-authoritative (slaves) are 
used for lookups is some-what history and there was no need to be recursive 
(until now) as all the  queries are authoritatively answered or refused. May be 
security is another reason.

Much appreciated your ideas

Thank you
Kind Regards
RK

On Wed, Apr 7, 2021 at 8:01 AM 
<bind-users-requ...@lists.isc.org<mailto:bind-users-requ...@lists.isc.org>> 
wrote:
Send bind-users mailing list submissions to
        bind-users@lists.isc.org<mailto:bind-users@lists.isc.org>

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.isc.org/mailman/listinfo/bind-users
or, via email, send a message with subject or body 'help' to
        
bind-users-requ...@lists.isc.org<mailto:bind-users-requ...@lists.isc.org>

You can reach the person managing the list at
        bind-users-ow...@lists.isc.org<mailto:bind-users-ow...@lists.isc.org>

When replying, please edit your Subject line so it is more specific
than "Re: Contents of bind-users digest..."


Today's Topics:

   1. forwarding zone setup from a BIND slave (without recursion?)
      (RK K)
   2. Re: forwarding zone setup from a BIND slave (without
      recursion?) (Matus UHLAR - fantomas)
   3. Re: forwarding zone setup from a BIND slave (without
      recursion?) (Marki)


----------------------------------------------------------------------

Message: 1
Date: Tue, 6 Apr 2021 22:47:23 -0400
From: RK K <rvk...@gmail.com<mailto:rvk...@gmail.com>>
To: bind-users@lists.isc.org<mailto:bind-users@lists.isc.org>
Subject: forwarding zone setup from a BIND slave (without recursion?)
Message-ID:
        
<caotbjrubejlxc6-uff5kgkd_ignoytg_ku2pkdxbhpovyzs...@mail.gmail.com<mailto:caotbjrubejlxc6-uff5kgkd_ignoytg_ku2pkdxbhpovyzs...@mail.gmail.com>>
Content-Type: text/plain; charset="utf-8"

All,

We have a set of BIND primary servers (MASTERs) and a set of secondary
servers (slaves to the MASTERs).
The secondary BIND DNS servers disabled recursion ( with "*recursion no;" *)
in the global options.
All the applications/systems do use secondary DNS servers for name
resolution.

Now there is a need to configure a forwarding zone in the "secondary DNS
servers" to an external DNS server.

In this scenario, in-order for the secondary server to forward the DNS
query to an external DNS server, is it required to enable the recursion in
the global options on the secondary servers?
Based on reference material, I did not see such a requirement. But my
observation is the query is not getting forwarded ( tried to check using
the packet trace)
When recursion is enabled, the query is getting forwarded.

The BIND version I am using is 9.11.2.x.

Appreciate your ideas and help.

Thank you
Kind Regards,
Ravi Kota
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<https://lists.isc.org/pipermail/bind-users/attachments/20210406/15bb6cad/attachment-0001.htm>

------------------------------

Message: 2
Date: Wed, 7 Apr 2021 10:35:12 +0200
From: Matus UHLAR - fantomas <uh...@fantomas.sk<mailto:uh...@fantomas.sk>>
To: bind-users@lists.isc.org<mailto:bind-users@lists.isc.org>
Subject: Re: forwarding zone setup from a BIND slave (without
        recursion?)
Message-ID: 
<20210407083512.ga19...@fantomas.sk<mailto:20210407083512.ga19...@fantomas.sk>>
Content-Type: text/plain; charset=us-ascii; format=flowed

On 06.04.21 22:47, RK K wrote:
>We have a set of BIND primary servers (MASTERs) and a set of secondary
>servers (slaves to the MASTERs).
>The secondary BIND DNS servers disabled recursion ( with "*recursion no;" *)
>in the global options.
>All the applications/systems do use secondary DNS servers for name
>resolution.
>
>Now there is a need to configure a forwarding zone in the "secondary DNS
>servers" to an external DNS server.
>
>In this scenario, in-order for the secondary server to forward the DNS
>query to an external DNS server, is it required to enable the recursion in
>the global options on the secondary servers?

yes.

>Based on reference material, I did not see such a requirement. But my
>observation is the query is not getting forwarded ( tried to check using
>the packet trace)
>When recursion is enabled, the query is getting forwarded.
>
>The BIND version I am using is 9.11.2.x.

--
Matus UHLAR - fantomas, uh...@fantomas.sk<mailto:uh...@fantomas.sk> ; 
http://www.fantomas.sk/
Warning: I wish NOT to receive e-mail advertising to this address.
Varovanie: na tuto adresu chcem NEDOSTAVAT akukolvek reklamnu postu.
It's now safe to throw off your computer.


------------------------------

Message: 3
Date: Wed, 7 Apr 2021 10:59:30 +0200
From: Marki <bind-us...@lists.roth.lu<mailto:bind-us...@lists.roth.lu>>
To: bind-users@lists.isc.org<mailto:bind-users@lists.isc.org>
Subject: Re: forwarding zone setup from a BIND slave (without
        recursion?)
Message-ID: 
<e1ab189a-1c38-8a52-5b12-b3af9e0a1...@lists.roth.lu<mailto:e1ab189a-1c38-8a52-5b12-b3af9e0a1...@lists.roth.lu>>
Content-Type: text/plain; charset="utf-8"; Format="flowed"

Hello,

On 4/7/2021 10:35 AM, Matus UHLAR - fantomas wrote:
> On 06.04.21 22:47, RK K wrote:
>> In this scenario, in-order for the secondary server to forward the DNS
>> query to an external DNS server, is it required to enable the
>> recursion in
>> the global options on the secondary servers?
>
> yes.

To elaborate a little bit on that... Indeed that is how it works,
unfortunately. When you start using forwarders or stubs, recursion needs
to be enabled because you're no longer looking for your own
authoritative data only.

What I've learned from this list is that you should split authoritative
and recursive service.

In other words, you need two types of servers:

1) A non-recursive one in the backend containing your authoritative
zones only. This can be a hidden master setup, somewhat like what you
are using now.

2) The one your users access has recursion enabled, and contains stubs
to the authoritative service. Obviously, it can also contain stubs (or
forwarders) to anywhere else. At the same time it is performing full
recursive service unless you take authority for the root zone.

May I ask what is the reasoning behind your current setup (pointing your
users to the non-recursive service)? What would you like to achieve?
What would you like to prevent?

Bye,

Marki

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<https://lists.isc.org/pipermail/bind-users/attachments/20210407/b96c3543/attachment-0001.htm>

------------------------------

Subject: Digest Footer

_______________________________________________
ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.

bind-users mailing list
bind-users@lists.isc.org<mailto:bind-users@lists.isc.org>
https://lists.isc.org/mailman/listinfo/bind-users


------------------------------

End of bind-users Digest, Vol 3678, Issue 1
*******************************************



_______________________________________________
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to