Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

  • public domain names: *
  • 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 ( to resolv.conf:

    nameserver   # DNS-system
    nameserver   # 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 '*' to DNS-mine, and make it the same as zone. Then Change /etc/hostname to,, etc. in each client. This works as: -> ==

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

    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:


    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

migrated from Sep 26 '10 at 8:40

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

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, you have some options. Whichever DNS servers are authoritative for (you don't say) will be able to also serve up 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
@谢继雷 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

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

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


top  IN  NS

This has all been answered in detail here:

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 ( or OpenDNS( To clarify it, I renamed DNS-default to DNS-system. – Xiè Jìléi Sep 26 '10 at 23:50

Your Answer


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.