Following up from my previous post (BIND (named) server remidiation), I spent a good couple hours further developing and testing the configuration but failing to get a bind9 reverse lookup zone to load only to find out that I had a slight typo in the reverse lookup zone definition
named-checkzone was returning OK, but named itself was failing to load the zone file with the error:
zone X.X.X.in.addr.arpa/IN: has 0 SOA records
zone X.X.X.in.addr.arpa/IN: has no NS records
zone X.X.X.in.addr.arpa/IN: not loaded due to errors.
It wasn't until I had a friend take a closer look at then the problem became clear:
I defined the zone as .in.addr.arpa instead of .in-addr.arpa in the named.conf include file which references the zone file.
Some things I have learned is:
- Check the logs (in my case, on a default debian/bind9 install this was /var/log/syslog) when things don't work.
- Always check your config with the bind DNS tools before reloading
- Always check your zones files with the bind DNS tools before reloading
- Keep zone files neat and group together similar resource record types.
Now that I have the dev domain DNS working, I just need to look at setting up DHCP and testing dynamic DNS.
I also considered moving different resource records for each zone into a separate file, but this is not necessary, due to the (current) size of the network.
Once this is all done, tested and implemented in 'production', I will also consider keeping a similar configuration in dev as a slave for all zones from the primary DNS or just as it is and just for testing.