Petteri Heinonen
2009-04-19 07:29:07 UTC
Hello list users. I have currently experiencing a seemingly simple DNS
related problem, but I haven't been able to find a decent solution for
it. Here is the setup:
- Our organization has the primary master DNS, which does not serve
dynamic DNS updates however. Only static entries there.
- In one of our departments (the one I happen to be administrator of)
hosts would need to use dynamic DNS updates however.
- The domain (lets call that ourdomain.com) would need to be same
everywhere, so I cannot use for example subdomain.ourdomain.com.
Now I haven't found a way to create a zone in Bind9 which would first
try to resolve names locally, and if not found locally, would then
forward the query to primary master DNS server. If that would be
possible, I could configure that local Bind server to catch the DNS
update requests, and keep local repository of those. Then, when a query
for such a dynamically updated hostname arrives, Bind could find that
locally and give a proper response. And, still forward queries for which
the local entry is not found, to the primary server. But, that kind of
"hybrid" master+forward zone type does not exist in Bind.
When I found dnsmasq, I thought that it could be a help: I can define
several forwarding servers for a single domain there. But, it seems that
upon receiving a first NXDOMAIN from any of the forward servers, this
NXDOMAIN is immediately replied to the client. What I would need, is
that upon receiving a NXDOMAIN from a server, the next server in the
list would be tried. And if the last server in the list would also give
NXDOMAIN, only after that NXDOMAIN would be returned to client also.
For me it seems that there is no such functionality in dnsmasq
currently. I took a look at the source code, and it doesn't look overly
complex. However, my C skills are not that good, so I probably cannot
make this kind of change all by myself. That's where I'm asking help; is
there anyone on the list who would have examined the dnsmasq source and
could possibly give some advice what would need to be changed in order
to achieve the functionality described above? Any help would be greatly
appreciated.
Regards, Petteri Heinonen
related problem, but I haven't been able to find a decent solution for
it. Here is the setup:
- Our organization has the primary master DNS, which does not serve
dynamic DNS updates however. Only static entries there.
- In one of our departments (the one I happen to be administrator of)
hosts would need to use dynamic DNS updates however.
- The domain (lets call that ourdomain.com) would need to be same
everywhere, so I cannot use for example subdomain.ourdomain.com.
Now I haven't found a way to create a zone in Bind9 which would first
try to resolve names locally, and if not found locally, would then
forward the query to primary master DNS server. If that would be
possible, I could configure that local Bind server to catch the DNS
update requests, and keep local repository of those. Then, when a query
for such a dynamically updated hostname arrives, Bind could find that
locally and give a proper response. And, still forward queries for which
the local entry is not found, to the primary server. But, that kind of
"hybrid" master+forward zone type does not exist in Bind.
When I found dnsmasq, I thought that it could be a help: I can define
several forwarding servers for a single domain there. But, it seems that
upon receiving a first NXDOMAIN from any of the forward servers, this
NXDOMAIN is immediately replied to the client. What I would need, is
that upon receiving a NXDOMAIN from a server, the next server in the
list would be tried. And if the last server in the list would also give
NXDOMAIN, only after that NXDOMAIN would be returned to client also.
For me it seems that there is no such functionality in dnsmasq
currently. I took a look at the source code, and it doesn't look overly
complex. However, my C skills are not that good, so I probably cannot
make this kind of change all by myself. That's where I'm asking help; is
there anyone on the list who would have examined the dnsmasq source and
could possibly give some advice what would need to be changed in order
to achieve the functionality described above? Any help would be greatly
appreciated.
Regards, Petteri Heinonen