Reverse DNS/bind named-checkzone "zone NS has no address records (A or AAAA) error"

This is my reverse dns file.

$TTL 1D
@       IN SOA  dns.prv.server.co.uk. root.prv.server.co.uk. (
                                        2014090402      ; serial
                                        3600    ; refresh
                                        1800    ; retry
                                        604800  ; expire
                                        10800 ) ; minimum
; Name servers's

@    IN         NS      dns.prv.server.co.uk.
@    IN         PTR     prv.server.co.uk.

; Name server hostname to IP resolve.
dns     IN      A       10.100.48.51

2       PTR     frontend.prv.server.co.uk.
4       PTR     opennebula.prv.server.co.uk.
5       PTR     bleakhouse.prv.server.co.uk.
6       PTR     thebodyfarm.prv.server.co.uk.
7       PTR     luther.prv.server.co.uk.
8       PTR     atlantis.prv.server.co.uk.
51      PTR     dns.prv.server.co.uk.

I've tried checking it with:

sudo named-checkzone dns.prv.server.co.uk /etc/named/48.100.10.rev

And I'm getting the error:

zone dns.prv.server.co.uk/IN: NS 'dns.prv.server.co.uk' has no address records (A or AAAA)
zone dns.prv.server.co.uk/IN: not loaded due to errors.

Can anyone see anything wrong with the file?


Solution 1:

If the following line is supposed to be the GLUE record:

dns     IN      A       10.100.48.51

you should use the FQDN of your nameserver, rather than DNS shorthand. That record now gets expanded as dns.48.100.10.in-addr.arpa. and you probably intended to use dns.prv.server.co.uk. (from you NS record) there. Instead use:

dns.prv.server.co.uk. IN      A       10.100.48.51