<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 14 (filtered medium)">
<style><!--
/* Font Definitions */
@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";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:EN-US;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
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="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">I can now shed some more light on the behaviour:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">This is my test configuration:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">access-control-view: [ip-range]/24 whitelist<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">…<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">local-zone: "." redirect<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">local-data: ". A [server-ip]"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">…<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">view:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">        name: "whitelist"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">        local-zone: "google.co.uk" transparent<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">        view-first: yes<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">…<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Test 1:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">nslookup google.co.uk [server-ip]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Result 1:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Name:    google.co.uk.sant.ox.ac.uk        (that doesn’t look right)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Address:  [server-ip]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Test 2:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">nslookup www.sant.ox.ac.uk [server-ip]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Result 3:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Name:    www.sant.ox.ac.uk.sant.ox.ac.uk           (still not right)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Address:  [server-ip]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Test 3:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">nslookup google.co.uk. [server-ip]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Result 2:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Name:    google.co.uk                                                    (works as expected)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Addresses:  2a00:1450:4009:801::2003<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">          172.217.23.3<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Test 4:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">nslookup www.sant.ox.ac.uk. [server-ip]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Result 4:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Name:    www.sant.ox.ac.uk                                       (works as expected)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Address:  [server-ip]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">From this I have come to the conclusion that when a global redirect is in place using "." it is unable to match any other “local-zone” without appending . onto the end of the initial DNS request.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I honestly don’t know where to go from here, users won’t be appending all of their DNS requests with . on the end of each request, and I need the redirect to work with the whitelist.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">As previously mentioned not using redirect doesn’t result in this behaviour, as refuse (for example) works without having to add . onto the end of the DNS request, is this a bug?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Simon.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><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";mso-fareast-language:EN-GB">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:EN-GB"> Unbound-users
 [mailto:unbound-users-bounces@unbound.net] <b>On Behalf Of </b>Simon Wedge via Unbound-users<br>
<b>Sent:</b> 27 February 2017 09:06<br>
<b>To:</b> unbound-users@unbound.net<br>
<b>Subject:</b> RE: Filtered Redirect (captive portal)<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Apologies for following this up but does anyone have any suggestions on what I should need to do to get a redirect everything working with some exceptions?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">It sounds like Unbound should be able to do this, but for the life of me I can’t get it to work.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Simon.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><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";mso-fareast-language:EN-GB">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:EN-GB"> Unbound-users
 [<a href="mailto:unbound-users-bounces@unbound.net">mailto:unbound-users-bounces@unbound.net</a>]
<b>On Behalf Of </b>Simon Wedge via Unbound-users<br>
<b>Sent:</b> 21 February 2017 20:08<br>
<b>To:</b> <a href="mailto:unbound-users@unbound.net">unbound-users@unbound.net</a><br>
<b>Subject:</b> Filtered Redirect (captive portal)<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi All,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am currently building a Network Access Control system, and in order to keep it “out of band” (via a layer 3 firewall), I would ideally like to use a DNS redirect to direct people to the NAC server from a registration VLAN.<o:p></o:p></p>
<p class="MsoNormal">I am having issues with doing a redirect with some exceptions (the registration VLAN needs access to the University Shibboleth servers and the IT registration pages which are outside the College network).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Now I realise that I am not the first person to try and do this, so I searched the mailing list for similar discussions.<o:p></o:p></p>
<p class="MsoNormal"><a href="https://www.unbound.net/pipermail/unbound-users/2010-April/001134.html">https://www.unbound.net/pipermail/unbound-users/2010-April/001134.html</a><o:p></o:p></p>
<p class="MsoNormal"><a href="https://www.unbound.net/pipermail/unbound-users/2010-May/001171.html">https://www.unbound.net/pipermail/unbound-users/2010-May/001171.html</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Based on what I found (and read in the annotated unbound.conf file) I realised that something like this should work:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">local-zone: "." redirect<o:p></o:p></p>
<p class="MsoNormal">local-data: ". A <NAC server ip>"<o:p></o:p></p>
<p class="MsoNormal">local-zone: "google.co.uk" transparent<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This however doesn’t seem to work as I would expect it to, as everything is redirected by the local-data to the NAC server ip.<o:p></o:p></p>
<p class="MsoNormal">(note: changing this to “refuse” rather than “redirect” works as expected, can connect to google.co.uk, get refused for everything else)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I thought this might be a version issue, as CentOS 7 is packaged with an older version (1.4.20??) and I know that in recent versions additional options were added for the zone types.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So I compiled 1.6.0 from source and experienced the same behaviour, even when attempting to use always_transparent , I tried all sorts of other iterations of options and none worked as I had hoped…<o:p></o:p></p>
<p class="MsoNormal">Noticing that I can find multiple references to the above example, has the behaviour of Unbound changed?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If so how do I accomplish the above, I would expect the “always_transparent” would have been the answer if the local-data was the cause of the behaviour:<o:p></o:p></p>
<p class="MsoNormal">“always_transparent      Like  transparent,  but  ignores local data and resolves normally.”<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">But this still doesn’t work as expected when using a redirect.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Many Thanks,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Simon Wedge<o:p></o:p></p>
<p class="MsoNormal">St Antony’s College<o:p></o:p></p>
<p class="MsoNormal">University of Oxford<o:p></o:p></p>
</div>
</body>
</html>