Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have setup BIND9 to resolve domain names used by my work group, it contains:

  • public domain names: *.my-company.com
  • our own TLD *.top

but I don't know how to setup clients to add an extra DNS server.

I'll call my DNS server as DNS-mine, and the default DNS servers returned from ADSL as DNS-system.

I must not forward DNS-system through DNS-mine for network-speed reasons and user preferences. (Users are distributed over the world, and DNS-mine is sat in US).

I have tried several ways, as follows:

  1. Add IP4 of DNS-mine (1.2.3.4) to resolv.conf:

    nameserver 8.8.8.8   # DNS-system
    nameserver 1.2.3.4   # DNS-mine
    

    however, DNS-mine is never queried. as resolv.conf(5) said the second nameserver is only queried when the first one was timeout, however DNS-system here does never timeout.

    and resolv.conf is reset by network manager, too.

  2. Add zone '*.top.my-company.com' to DNS-mine, and make it the same as .my-company.com zone. Then Change /etc/hostname to a1.my-company.com, a2.my-company.com, etc. in each client. This works as:

    www.top -> www.top.my-company.com == www.my-company.com
    

    However, I must add all client host names in DNS-mine at the same time, otherwise the client stucks:

    127.0.0.1 a1.my-company.com
    127.0.0.1 a2.my-company.com
    127.0.0.1 a3.my-company.com
    

    The clients don't have WAN IP(s), as they are behind the firewall. And new clients may join in in any time.

  3. The same as above, but don't change /etc/hostname, add to /etc/resolv.conf instead:

    domain my-company.com
    

    This works very well, however, the /etc/resolv.conf file is automatically reset by network manager.

  4. Add all names *.top to /etc/hosts file, then just ignore DNS-mine, this works very well, but hard to maintain.

share|improve this question
add comment

migrated from superuser.com Sep 26 '10 at 8:40

This question came from our site for computer enthusiasts and power users.

3 Answers

up vote 2 down vote accepted

In order to add a new TLD that ICANN doesn't yet recognize (like you are) you have to put a DNS server that considers itself authoritative in the DNS resolution chain. In practice, this means the first hop. In order to use your *.top domain internally, you will have to either point all of your clients at your own DNS server, or maintain /etc/hosts files. One of the two.

As for top.my-domain.com, you have some options. Whichever DNS servers are authoritative for my-domain.com (you don't say) will be able to also serve up top.my-domain.com. This may be your best bet for simplicity's sake. Have your (presumed) DNS hosting service add that subdomain and add the entries you need.

However, hosting a local DNS server is not a bad idea at all really. They're called a Caching DNS server and cache resolved names so they can be retrieved faster than they would be pulling from the Internet. If you add your *.top domain to it, it'll provide all of your needs.

share|improve this answer
    
Caching DNS server sounds good, but the problem is my DNS server is in US, and the clients are distributed over the world. They would prefer to use their local caching DNS servers. –  Xiè Jìléi Sep 26 '10 at 23:40
1  
@谢继雷 In that case, it sounds like your best bet is to use the sub-domain method. –  sysadmin1138 Sep 27 '10 at 3:40
    
I decide to use a caching server locally, and use sub-domain over Internet. –  Xiè Jìléi Oct 15 '10 at 1:25
add comment

I would setup all the work group computers to query your DNS server, if your server doesn't know the answer to a query, then have the DNS server forward it to an Internet DNS server. That way you can have your special domains (or override/filter) domains the Internet DNS servers would resolve.

I use DHCP to push out my DNS settings, but any method that works, works.

share|improve this answer
    
As I mentioned, I can't forward DNS-default through DNS-mine for network-speed reasons. The workgroup computers are distributed but not centralized in an office and within a same LAN. –  Xiè Jìléi Sep 26 '10 at 23:43
add comment

All you need to do is delegate *.top.my-company.com NS lookups to your custom DNS-mine server. No changes are needed to the clients, it's a referring looking.

DNS-default

top  IN  NS  DNS-mine.my-company.com

This has all been answered in detail here:

http://serverfault.com/questions/27134/how-exactly-should-i-set-up-dns-to-delegate-authority-for-subdomains

share|improve this answer
    
I think you may misunderstand that, I didn't describe it so clearly, The DNS-default is the DNS server returned from ADSL(commonly it's a local caching DNS) or set by client manually, e.g. Google DNS (8.8.8.8) or OpenDNS(208.67.222.222). To clarify it, I renamed DNS-default to DNS-system. –  Xiè Jìléi Sep 26 '10 at 23:50
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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