forwarding zone setup from a BIND slave (without recursion?)

Sebby, Brian A. sebby at anl.gov
Tue Apr 13 22:44:33 UTC 2021


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: sebby at anl.gov<mailto:sebby at 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-bounces at lists.isc.org> on behalf of RK K <rvkota at gmail.com>
Date: Wednesday, April 7, 2021 at 7:40 PM
To: "bind-users at lists.isc.org" <bind-users at 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-request at lists.isc.org<mailto:bind-users-request at lists.isc.org>> wrote:
Send bind-users mailing list submissions to
        bind-users at lists.isc.org<mailto:bind-users at 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-request at lists.isc.org<mailto:bind-users-request at lists.isc.org>

You can reach the person managing the list at
        bind-users-owner at lists.isc.org<mailto:bind-users-owner at 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 <rvkota at gmail.com<mailto:rvkota at gmail.com>>
To: bind-users at lists.isc.org<mailto:bind-users at lists.isc.org>
Subject: forwarding zone setup from a BIND slave (without recursion?)
Message-ID:
        <CAOtBJRuBejLxC6-UFf5kGkD_iGnOyTg_ku2PkdXbhPoVYzSuUA at mail.gmail.com<mailto:CAOtBJRuBejLxC6-UFf5kGkD_iGnOyTg_ku2PkdXbhPoVYzSuUA at 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 <uhlar at fantomas.sk<mailto:uhlar at fantomas.sk>>
To: bind-users at lists.isc.org<mailto:bind-users at lists.isc.org>
Subject: Re: forwarding zone setup from a BIND slave (without
        recursion?)
Message-ID: <20210407083512.GA19977 at fantomas.sk<mailto:20210407083512.GA19977 at 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, uhlar at fantomas.sk<mailto:uhlar at 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-users at lists.roth.lu<mailto:bind-users at lists.roth.lu>>
To: bind-users at lists.isc.org<mailto:bind-users at lists.isc.org>
Subject: Re: forwarding zone setup from a BIND slave (without
        recursion?)
Message-ID: <e1ab189a-1c38-8a52-5b12-b3af9e0a1a30 at lists.roth.lu<mailto:e1ab189a-1c38-8a52-5b12-b3af9e0a1a30 at 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 at lists.isc.org<mailto:bind-users at lists.isc.org>
https://lists.isc.org/mailman/listinfo/bind-users


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

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



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


More information about the bind-users mailing list