The situation I am faced with is that I have a few domains hosted with UltraDNS and also with a bind9 server for local use with internal subdomains and for dhcp hostnames.

For example, domain.com is hosted with UltraDNS, that same domain is being used locally by bind9 for dhcp and internal addresses such as dyndns09.domain.com and internal.domain.com.

What I would like to happen is if a subdomain does not exist in bind9 for it to use one of the forwarders specified to look for that address.

From what I've seen a common solution to this problem is to use bind views to define which zones are used based on your subnet, but since UltraDNS is DNS as a service, this is not an option. Another commons solution is to use dnsmasq - unfortunately, this too is a problem. Using dnsmasq for DNS without using also using dnsmasq as your DHCP server seems to not allow for true dynamic DNS for DHCP clients.

Any insight on this is greatly appreciated.


Placing your DHCP users in the same namespace as your servers is risky. Use a sub-domain for DHCP. Then you can forward the things that need to be sent out to DNS easily.

If you are NATing your server addresses make sure to enable hairpin NAT or duplicate the entries with appropriate addresses in your local server. In this case you won't be forwarding the requests.

| improve this answer | |

Its very confusing and riskful behavior to use the same domain in two "spaces", like an internal and external domain with the same name. But if you have to do this you must make sure they are separated, but still in synch. You normally use views if the same authorative nameserver replies to queries from both internal and external clients, in your case it sounds like they are separate.

What I would do in your scenario is to EITHER create a manual routine that everyone who updates your external zone for domain.com MUST also update the internal version on your local bind9 server but I would prefer to build a scripted solution so you ONLY update your external domain.com zone on the external server, UltraDNS in your case, and then I would keep a local file with the additions for internal computers, and scriptwise synch and merge these two into a final internal zone that I load/reload into my local bind.

What complicates the scripted method is if you have the SAME hostname in the zone that points to one IP externally and a different IP internally, you'd have to think about this and write some logic/exception to handle it.

Depending on how many you are that update the zones and how likely it is to make mistakes I would chose between the manual updates for external/internal, or the scripted version.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.