delegated the namesever/ip records around 24 hours on the registars website but things aren't working. NAT: forwarding all UDP/TCP requests to internal server IP on port 53 (ISP not blocking) and apache2 is working properly. Please check said files below, using CHROOT also. Placed the mysite.ca file in var/named/chroot/var/named/. Firewall is disabled. Ran service "service named start - OK", perhaps there's something else that needs to be started?

When hosting the master zone file/nameserver as I am attempting to do now, do the DNS and or SOA records once I start BIND service propage somehow to cached name servers? Or when they say the authoritative name server publishes to cached name server they mean this data is only published/propagated to cached name servers when a request is sucessfully made and not just by having BIND name server run?



    directory       "/var/named";       // "Working" directory
    dump-file       "data/cache_dump.db";
        statistics-file     "data/named_stats.txt";
        memstatistics-file  "data/named_mem_stats.txt";

    listen-on port 53   { any; };
    listen-on port 53   {; };

    //listen-on-v6 port 53  { any; };
    listen-on-v6 port 53    { ::1; };

    allow-query     { any; };
    allow-query-cache   { localhost; };

    recursion no;

    dnssec-enable yes;

    dnssec-validation yes;

    dnssec-lookaside auto;

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;

view "external"

    zone "mysite.com.au" IN {
            type master;
            file "/var/named/mysite.ca";


mysite.ca zone file (XXX.XXX.XXX.XX = my WAN IP, have just one)

$TTL 1D 
$ORIGIN mysite.com.au.
@              IN      SOA   ns0.mysite.com.au. admin.mysite.com.au. (
               2011120100 ; serial number
               2h         ; refresh =  2 hours 
               15M        ; update retry = 15 minutes
               3W12h      ; expiry = 3 weeks + 12 hours
               2h20M      ; minimum = 2 hours + 20 minutes
; main domain name servers
              IN      NS     ns0.mysite.com.au.
              IN      NS     ns1.mysite.com.au.
; mail domain mail servers
              IN      MX      10 mail
; A records for name servers above 
ns0           IN      A      XXX.XXX.XXX.XX
ns1           IN      A      XXX.XXX.XXX.XX
; A record for mail server above 
mail.mysite.com.au.          IN      A      XXX.XXX.XXX.XX
  • "Things aren't working" isn't a very helpful description of the error. I notice that all the answers so far are guessing at what when wrong; they're all excellent guesses, and I'll upvote, but we could help more if you told us not just what you're trying to do but exactly how it's failing. You're also dealing with DNS, a public service, so you might want to consider not redacting the zone files and domain name; real information here can often be helpful, too. – MadHatter Dec 2 '11 at 8:53
  • I just left the A records out for the actual domain header mysite.com.au & www.mysite.com.au. This actually returns no errors as far as I can tell (didn't chech the bind log yet). Now it's all good. – LaserBeak Dec 2 '11 at 9:01
  • LB, I'm glad it's all working for you! But as you can see, the absence of A records led some answers up a wrong path. If you ever need to post a question again, it's worth being very prcise about what you're doing and how it's failing, and with DNS, it's worth being very open about the details. – MadHatter Dec 2 '11 at 9:15

Possibly your problem is that there's no A records for yoursite.com.au and www.yoursite.com.ua.

Besides the missing A your zone and config looks ok. You don't need to start anything else besides named.

You don't really need that empty view statement, and all the dnssec statements you can as well remove - they serve no function. If you want to enable dnssec for your zone, you need much much more than just dnssec-enable. Also, you define two NS for the same IP - it probably serves no purpose and you can as well use 1 NS (unless your registrar requires 2 servers and is dumb enough to not to check for identical IPs).

As for propagation - bind when started just sits there and waits for queries, of course nothing propagates nothere until someone will query your domain. People talk about "propagation time" because old records may be cached for some while and thus any changes you make will not be seen there until TTL reached, then caching server will obsolete those cached records and query your server for a fresh set.

  • Yup, I forgot the most important record the A for mysite.com.au Dougghhh! – LaserBeak Dec 2 '11 at 8:23
  • So the caching server does in fact query your nameservers automatically after the TTL of the record copy it holds expires? Provided of course there was an an initial query after which the caching nameserver got hold of the records. – LaserBeak Dec 2 '11 at 8:57
  • Caching nameservers will only requery after the TTL if asked for an entry. Otherwise, the records just timeout and the cache reuses the space. – BillThor Dec 2 '11 at 13:19
  • @LaserBeak Maybe my wording wasn't very clear. - It's just like BillThor said. – Sandman4 Dec 2 '11 at 13:57

For a working setup you need to:

a) Ask yourself how many public dns servers you will expose for your domain If you have only one public IP address you can find very cheap "secondary name server" services which will replicate your master configuration and provide redundancy.

b) Configure the nameservers for your domain on your registrars. Since you want to use : ns0.mysite.ca and ns1.mysite.ca you need to configure "glue records", so check your registrar doc for how to set them up. It is often done automatically, but you need to check. Run "whois mysite.ca" in order to check that your nameservers are configured.

c) Verify the requirements for your tld. I do not know for .ca, but many tld ( .fr, .de .. ) have specific "quality requirement": at least 2 nameservers on 2 distinct nameservers , etc etc. There are many tools online to check your dns specifications

d) As far as your local bind configuration is concerned, use named-checkzone and named-checkconf to verify your conf, and I strongly recommend to start with a low ttl ( say, 300 seconds ) for the time you tune up your config. Always update your serial number when you update your zone and do dig mysite.ca soa @dns-server-ip-address to verify your changes are online. Verify also from an external, public ip address that you can query your public dns servers in tcp and udp port 53. Once again "dig" is your friend. Also if you replicate your zones from one master to one or several slaves, verify that each slave has the good serial after each update.

Good luck!

  • Cheers, lotsa vital info. – LaserBeak Dec 2 '11 at 9:09

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.