Is conditional forwarding possible?
Petr Menšík
pemensik at redhat.com
Thu Jun 8 12:01:59 UTC 2023
Is there any trick possible to make unbound forward to different hosts
based on incoming query address?
I have been thinking how to use unbound to provide DNS over TLS layer
for our BIND authoritative server, which is integrated with LDAP
multimaster server by freeipa package. My problem is our BIND9 version
does not support DoT query forwarding even on Fedora, let alone on RHEL.
So I thought unbound could provide encrypted connectivity from LAN
clients to the server and also encrypted upstream forwarder.
Something like:
[clients] ==== [unbound] ======= [DoT upstream]
| ^
v |
[bind]
Problem with this idea is unbound does not know the list of domains
served by bind. Even the bind does not have it configured by statically,
but via LDAP backend of bind-dyndb-ldap plugin on start and possibly
changing during runtime.
So I thought I could just let all queries from clients to forward to
bind. And if that were not a query bind handles, it would forward that
back. If the source query were from it, I would forward it to upstream
server directly.
But it seems only local authoritative data can be in different views.
Does exist some trick or configuration, which would allow sharing common
cache, but forwarding request from normal clients to alternative local
daemon and only forward further by if is was him asking?
I know I could use unbound#1 in the front and unbound#2 as upstream
forwarder only, but that makes this already complicated enough and would
double caching done by unbound(s). It would be possible with views in
bind, but it seems views in unbound are limited to local-zone only.
Would you have a better tip how to solve such configuration?
Best Regards,
Petr
--
Petr Menšík
Software Engineer, RHEL
Red Hat, http://www.redhat.com/
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB
More information about the Unbound-users
mailing list