Intranet DNS – How to Resolve and Forward Subdomain Addresses

dns

I have a domain names (MyDomain.com) which has a number of subdomains (subs1, subs2, subs3 and subs4)

On my local network I have 2 servers running that host subs1 and subs2.

I also have a server somewhere out on the internet hosting subs3 and subs4.

My hosting provider has a DNS server running and I have entries for all 4 sub domains.
Where subs1 and subs2 point to the static IP address of the office and the entries for subs3 and subs4 point traffic to the relevant server out on the internet somewhere.

So when I am out and about I can access all the sub domain correctly without a problem.

When I am in the office I need the local sub domains to resolve to the local network IP addresses so in the office I have created a DNS server (debian running BIND 9) that resolves subs1 and subs2 to the local ip addresses (192.168.1.X). However now from within the office network I can only access subs3 and subs4 if I also add them to this new local DNS server.

This in effect means I have to maintain 2 DNS servers if / when I was to create / modify any sub domains.

What I was hoping I could do was to make my local server forward on queries for sub domains it doesn't know about to the hosted / internet DNS server, this way my local DNS would only have to know about sub domains hosted within the network.

Best Answer

We do what you are trying to accomplish here. The trick is to set up internal DNS zones for the subdomains you wish to answer locally, not the parent domain.

Instead of making a local DNS Zone for "MyDomain.com" with entries for the subdomain, make a new zone for each subdomain.

So, you'd make a zone named "subs1.mydomain.com", and then add a single new A Record, and leave the Host name for that record as blank.

(Repeat for each subdomain you want to have that DNS server answer for).

Ensure you DO NOT have a local zone for Mydomain.com.

Once it's setup, if you request subs1.mydomain.com the local DNS knows about it, and returns the root A Record (the blank Host one you made). If you request any other subdomain of MyDomain.com it won't ben seen as a known zone by the local DNS, will be forwarded like usual, and in turn, answered by the public DNS hosting the records for MyDomain.com.

Related Question