<div>Hi Wouter,</div><div> </div><div>Thank you for taking the time to reply to my question.</div><div> </div><div>From my tests, it seems that the local-data solution works well, even in the situation where I want Unbound to be authoritative for some DNS records and to forward all other queries (with a different name that belong to the same zone) to a conditional forwarder.</div><div> </div><div>In my opinion, it would've been nice if Unbound was able to acquire local-data statements automatically via zone transfers.</div><div>This way, administrators wouldn't need to generate and maintain a file specifically for Unbound and reload Unbound each time a new local-data entry was added to the file.</div><div>local-data entries seem to be identical in syntax to record entries in zone files.</div><div> </div><div>Kind regards</div><div> </div><div>13.08.2019, 10:29, "Wouter Wijngaards via Unbound-users" <unbound-users@nlnetlabs.nl>:</div><blockquote><p>Hi Freya,<br /><br />On 8/13/19 10:10 AM, Freya Kalin via Unbound-users wrote:</p><blockquote> Hello unbound-users,<br />  <br /> I am tackling with a problem where I want Unbound to be an authoritative<br /> nameserver for a zone, but only for specific records.<br />  <br /> There is a public domain registered by somebody on the Internet. Let's<br /> say "example.com".<br />  <br /> I need my Unbound server to be partially authoritative for the zone<br /> "example.com" for my internal client servers.<br />  <br /> I want Unbound to serve the following records to my internal client<br /> servers whenever they ask for them.</blockquote><p><br />This task is not for the auth-zone feature, that serves entire zones<br />authoritatively, or caches them for local look up. The local-zone<br />feature does what you want. You can register a list of names, and<br />records, and those are applied to answers, but not certain other answers.<br /><br />Declare local-zone entries for the pieces you want covered. There is a<br />lot of choice here, depending on what you want the processing to do.<br />The transparent zone mixes per name, the names you give local-data for<br />get answers from local-data, the others from the upstream look ups.<br />There is also a local-zone type for per-RR-type mix, and other options,<br />like logging.<br /><br />You can nest local-zones, eg. if you want nxdomains for a set of names,<br />declare a local-zone static for that. It looks up the closest localzone<br />and uses the type of that.<br /><br />Then list the data as local-data statements. Just copy the records in<br />local-data quotes. If the records in the zonefile are relative (eg. not<br />the full names), make them full names, for example by filtering the file<br />with ldns-read-zone (and maybe also sort and canonicalize it, but it<br />them has full names). And then put it line by line into local-data<br />statemenets. And have a local-zone entry for the zone, type transparent<br />is I think the one you want. Unless you want nxdomains, or denials or<br />non-denials but upstream lookups of specific names and records.<br /><br />It is possible to put the result into a file and then include:<br />"filename" that file into the unbound.conf just to make it easier to<br />update, or script.<br /><br />Best regards, Wouter<br /> </p><blockquote>  <br /><br />   * test1.example.com. A 192.168.0.1<br />   * test2.example.com. A 192.168.0.2<br />   * test3.example.com. A 192.168.0.3<br /><br />  <br /> Whenever a query arrives for a different record (Let's say<br /> "<a href="http://www.example.com/">www.example.com</a>") then I want Unbound to do the normal DNS recursive<br /> resolving process on the Internet.<br />  <br /> I want to do this via the auth-zone section in Unbound because I already<br /> have the "example.com" zone on an NSD Authoritative DNS server. I<br /> successfully perform a zone transfer between Unbound and NSD for this<br /> particular zone and Unbound has those 3 records and provides answers for<br /> them. However, whenever I try to query it for "<a href="http://www.example.com/">www.example.com</a>" it<br /> doesn't want to do the normal DNS recursive resolving process on the<br /> Internet and doesn't return an answer.<br />  <br /> auth-zone:<br />    name: example.com<br />    master: <<My_Master>><br />    allow-notify: <<My_Master>><br />    fallback-enabled: yes<br />    for-downstream: no<br />    for-upstream: yes<br />  <br /> I tried all combinations of<br /> (fallback-enabled,for-downstream,for-upstream) and none of them work.<br />  <br /> Any ideas ?<br />  <br /> OS: CentOS 7.6<br />  <br /> Unbound version: 1.9.0</blockquote><p> </p></blockquote>