<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal;
        color:black;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle20
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="TR" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Hi,<br>
Firstly thanks for all the responses, giving more details about our config:<br>
<br>
Internal view: Internal DNS service for the internal clients. Accepts requests from internal IP, Recursion is on, forwarding the out of zone queries to our cache-only DNS servers. Also serves some zone information.
<br>
External view: Authoritative DNS service for our domain.  Accepts requests from external IP, No recursion,
<br>
<br>
Also we will consider to separate the recursive and authoritative servers, but separating them with views isn’t a good solution?<br>
<br>
@Eray Aslan, additional-from-cache and additional-from-auth settings did the trick, now server gives “query refused”<br>
<br>
@Barry Finkel, yes I typed <i>dig ww.</i> At that point, every recursive query gives the same output. But thanks for the info.
<br>
<br>
@Mark Elkins,In our setup, we have one machine with 2 IP addresses. (option 3) We are planning to use DNNSEC, Could you give more information about the possible DNSSEC problem?<br>
I fix the referral problem with Eray’s solution.<br>
<br>
@Kevin Darcy, (a) match-clients is a C class network address space. (b) I explained it above. Thanks for the detailed explanation and the note.
<br>
<br>
Regards,<br>
<br>
Okan Bostan<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> bind-users-bounces@lists.isc.org [mailto:bind-users-bounces@lists.isc.org]
<b>On Behalf Of </b>Darcy Kevin (FCA)<br>
<b>Sent:</b> Thursday, December 10, 2015 1:43 AM<br>
<b>To:</b> bind-users@lists.isc.org <bind-users@isc.org><br>
<b>Subject:</b> RE: About query response on a view<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">Well, there some things that are not clear from your message:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">A) when you do your “dig”, what is your source address, what is your destination address, and what is your match-clients ACL for the internal view? These values have a bearing on what view you’re going
 to match. Seems like you’re matching the wrong view – the external one, which has no recursion -- and getting a mere “referral” for
</span><span lang="EN-US"><a href="http://www.google.com">www.google.com</a><span style="color:black"> (root nameservers) instead of an answer.<o:p></o:p></span></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">B) you say your internal view has “forwarders”. Why? What’s the purpose of that? To where are you forwarding? To public resolvers like Google? If you’re forwarding to *<b>yourself</b>*, then either
 you created a forwarding loop, or (if you excluded your own IP in the match-clients ACL of the internal view) the forwarded query is matching the wrong view, without (as you show below) any allow-recursion exception, so, again, as expected you’re getting a
 mere referral instead of an answer. Unless you’re forwarding to an external entity that provides some added value (e.g. enhanced performance/availability, DNSSEC validation, blacklisting of known malicious domains, anti-forgery measures, etc.) consider just
 replacing the forwarder configuration with an appropriate “hints” zone definition in your internal view and letting it resolve names iteratively. You didn’t say what platform you were migrating from, but if it was forwarding-centric, understand that forwarding
 is much less heavily used in the BIND world.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">NOTE: if you want to publically post ACLs containing internal address ranges, it’s fine to obfuscate those ranges, as long as you preserve their “essence”, e.g. large-versus-small, public-versus-private-versus-localhost.
 It’s only when folks obfuscate names and addresses that are publically-visible anyway, that the obfuscation sometimes gets in the way of diagnosing the problem and folks on this list get somewhat ornery. For the ultimate in Internet Engineering etiquette,
 use addresses based on the RFC 5737 “documentation only” ranges.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black">                                                                                                                                                                                                                               
 - Kevin<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:black"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma",sans-serif">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma",sans-serif">
</span><span lang="EN-US"><a href="mailto:bind-users-bounces@lists.isc.org"><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif">bind-users-bounces@lists.isc.org</span></a></span><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma",sans-serif">
 [</span><span lang="EN-US"><a href="mailto:bind-users-bounces@lists.isc.org"><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif">mailto:bind-users-bounces@lists.isc.org</span></a></span><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma",sans-serif">]
<b>On Behalf Of </b>Okan Bostan<br>
<b>Sent:</b> Wednesday, December 09, 2015 4:11 AM<br>
<b>To:</b> </span><span lang="EN-US"><a href="mailto:bind-users@lists.isc.org"><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif">bind-users@lists.isc.org</span></a></span><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma",sans-serif"><br>
<b>Subject:</b> About query response on a view<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Hello List,<br>
<br>
We are planning to migrate to Bind dns, I’m a bit newbie. <br>
<br>
In our design we have two views; int and ext. <br>
As internal view, recursion is on and we have our internal zones & forwarders. I have no problem with internal view.<br>
<br>
In external view, recursion in no. Also have some zones. In testing external view, I can query the records in zones, thats not a problem also.
<br>
<br>
But when I try to query, for example <a href="http://www.google.com">www.google.com</a> it returns the root servers records by dig.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">;; QUESTION SECTION:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">;ww.                            IN      A<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">;; AUTHORITY SECTION:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      D.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      M.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      C.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      J.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      G.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      H.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      I.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      L.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      F.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      K.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      A.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      B.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">.                       518400  IN      NS      E.ROOT-SERVERS.NET.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">And <b>status: NOERROR</b><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><br>
also in nslookup:<br>
<br>
Name:    <a href="http://www.google.com">www.google.com</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Served by:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- E.ROOT-SERVERS.NET<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- F.ROOT-SERVERS.NET<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- J.ROOT-SERVERS.NET<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- G.ROOT-SERVERS.NET<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- D.ROOT-SERVERS.NET<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- C.ROOT-SERVERS.NET<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-US">- A.ROOT-SERVERS.NET<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-US">But in our existing DNS enviroment, I get  <b>status: SERVFAIL</b> to same query.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Is this a normal behaviour ? How can I disable this Authority section with root server NS records?<br>
<br>
My external view:<br>
<br>
<i>view "EXTERNAL" {<o:p></o:p></i></span></p>
<p class="MsoNormal"><i><span lang="EN-US"><o:p> </o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">        match-clients {"any";};<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">        allow-query-on {ext_ip; };<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US"><o:p> </o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">        recursion  no;<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">        allow-recursion { none;};<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">       <br>
          <o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">        #Include SLAVE zones<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">        include "slave.zones";<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US"><o:p> </o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">        #Include REVERSE zones<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">        include “reverse.zones";<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US"><o:p> </o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">        <o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US"><o:p> </o:p></span></i></p>
<p class="MsoNormal"><i><span lang="EN-US">};// view EXTERNAL </span></i><span lang="EN-US"><br>
<br>
Regards, <br>
<br>
Okan. <o:p></o:p></span></p>
</div>
</body>
</html>