Merlin wrote:
Hi, Simon,
Thanks for the detailed explanation. I think I understand now!
But would it not be possible achieve roughly the same functionality
within the dnsmasq architecture (without using CNAMEs) if there were
some sort of configuration option that says a lookup of "foo" should
always be proxied to the upstream server(s) as a lookup of "bar"
instead? (Kind of a name based version of the --alias option instead of
the current IP based version?)
Merlin
Doing that suffers from the same sort of problems: It would be easy to
re-write the query as "bar" instead of "foo", but then the answer would
come back as "bar is 1.2.3.4" Sending that answer back to the original
requestor will get you nowhere: it asked for the A record for "foo" and
will ignore an answer for "bar". So the re-write would have be reversed
on the way back throught dnsmasq. That means keeping re-write
information for all in-progress queries. That changes the current
datastructure for in-progress queries from a fixed-size table mapping
query-id to original source into a dynamically allocated monster with
large records. By now you're re-writing BIND.
Cheers,
Simon.