Answer client queries with BuddyNS

You need to update your DNS information in both your zone and your registry.

The Internet wants you to use at least 2 DNS servers per zone, but BuddyNS gives you multiple, globally distributed servers for best speed and reliability.


1. Select your servers

Locations of BuddyNS servers

— N.B.: These are Anycast addresses. Behind each are multiple DNS servers in different geographical locations. Your clients' queries will be transparently routed to the nearest server.

DNS Server Name Location

2. Add NS records to your primary DNS server

Proceed as follows:

  1. Choose which BuddyNS nameservers you want to use from the list above. (3+ BuddyNS servers).
  2. Setup these same servers in your zone configuration at your primary server. See examples below for the concrete syntax in various DNS server types.
  3. Restart your DNS server to apply the changes. Changes to your registry may take 5 to 30 minutes to go public.
Configuration snippets for various DNS server types
Click any frame with code snippets to copy its content!
  1. Open your zone file, e.g.
    sudo nano /var/cache/bind/db.foo.com
  2. Add the NS records for your selected BuddyNS servers:
    # important: Append "." to all server names!
    zone "foo.com" {
    %%server_conf%%}
  3. Restart the server:
    sudo service bind9 reload
  1. Edit your TinyDNS data file:
    sudo nano /var/tinydns/root/data
  2. Add the NS records for your selected BuddyNS servers:
    # add NS records to all your zones, as follows
    %%server_conf%%
  3. Compile & send live your new DNS data:
    cd /var/tinydns/root && sudo make
  1. Open your zone file, e.g.
    sudo nano /etc/maradns/db.foo.com
  2. Add the NS records for your selected BuddyNS servers:
    # important: Append "." to all server names!
    %%server_conf%%
  3. Restart the server:
    sudo service maradns restart
  1. Open your zone file, e.g.
    sudo nano /etc/nsd/foo.com.zone
  2. Add the NS records for your selected BuddyNS servers:
    # important: Append "." to all server names!
    zone "foo.com" {
    %%server_conf%%}
  3. Restart the server:
    sudo service nsd reload
  1. Log into your Webmin; from menu "Servers" choose "BIND DNS Server".
  2. Choose "Zone Defaults" to configure AXFR servers for all your zones.
  3. Look for setting group "Template records".
  4. Add a NS record for each of your selected BuddyNS server:
    1. Enter @ ("at" symbol) as Record Name; this signifies the zone itself.
    2. Select Type = Name Server
    3. Check the other checkbox in "Value" to enable the text field: make sure to .
    4. Enter the name of your chosen BuddyNS nameserver in the text field, and make sure to suffix it with '.' (dot)! e.g. uz52u1wtmumlrx5fwu6nmv22ntcddxcjjw41z8sfd6ur9n7797lrv9.free.ns.buddyns.com.
  5. If you only have 2 free rows, Save the page and return to it, and Webmin will provide you with additional fields.

The steps so far ensure that new zones will automatically be delegated to BuddyNS. See the first image below.

Now on to updating delegation for your existing zones:

  1. Return to menu "Servers" → "BIND DNS Server".
  2. In block "Existing DNS Zones" click to Select All existing zones; then de-select system zones like {"code", "localhost", "0", "127", "255"} etc.
  3. With all legitimate zones selected, click "Add Record to Selected".
  4. In the "Add Record to Zones" page opened, choose the following:
    • Record Type = "Name Server"
    • New record name = @
    • New record value = the name of one of BuddyNS's servers you chose. Make sure to suffix the name with '.' (dot)!
  5. Click "Add record" and repeat the process for the additional BuddyNS servers you chose.

See the second image below. And with this, you're done!

Webmin name servers setup screen Webmin name servers setup screen

Simply copy-paste configuration entries for existing NS records, adapt them to contain the BuddyNS server you chose, and restart the server to apply the new configuration.


3. Add the same records to your registry

This is the most important part of delegation!
If you add delegation at your primary only, and omit the registry, your domain will be unreachable as soon as your primary DNS fails.

Goal

Have the domain name registry point clients for your domain to BuddyNS servers, along with your primary.

Domain name registry

This is the organization which sold you your domain example.com, in this context. The have a configuration panel which enables you to set some minimal information your domain. This information includes which nameservers the Internet will reach to inquire about services like WWW, email etc for example.com.

The domain name registry ensures to merge this information into DNS servers hosting top-level domains like .com.

Process

Proceed as follows:

  1. Log into the control panel of the registry for your domain.
  2. Reach the section to configure Nameservers.
  3. Add an entry for each of the *.ns.buddyns.com nameservers which you configured into your primary server above.

4. Validate your delegation setup

Log into your BuddyBoard. You see 3 indicators for your domain's Delegation Status:

Test Situation
Master declares BuddyNS Whether the master/primary server you indicated for this zone responds with any BuddyNS server to NS queries
Authority declares BuddyNS Whether a BuddyNS server shows up when querying the public DNS tree for NS records of this zone.
Registry declares BuddyNS Whether the registry for this zone responds with any BuddyNS server to NS queries.
If this
BuddyBoard delegation checks

Other potential issues

Issue Description
Declares BuddyNS ERROR Cause: When queried for NS, none of the responses given by the server refers any *.buddyns.com entry. This means that, at this server, the zone is not delegated to BuddyNS.

Action: Repeat delegation setup.
No response Cause: The server being contacted has sent no response. If this is master, you may have a stealth master configuration that restricts which clients can make queries, or your AXFR server is not meant to do DNS; This is unusual, but perfectly fine.

Action: If this is registry or authority, this is unexpected, and you may use the Delegation Lab for further troublethoosing.
Difference Master and Authority Cause: In most of the cases, the declared master is also one of the delegated NS servers (Authorities) for the zone. In some cases their values can mismatch. Here's what this indicates:
  1. you updated delegation data at the primary, and that's not propagated to all other NS delegates yet. In this case, Master declares BuddyNS tells you upfront what's going to happen to the Authority after they sync.
  2. your primary DNS server is transfer-only. Some ISPs, such as GoDaddy, use this setup. Here, the primary DNS server is used for serving AXFR (zone transfers) only, and does not respond to NS queries. In this case, BuddyNS tells you about the error and you can safely ignore this parameter.
Action: determine which case applies to you. In case #1, double check that master has correct delegation, then check your BuddyNS after a few minutes wait. In case #2, use the to ensure that your master does not serve DNS data. If so, you're OK.