Hi,
I decided to update a home dns server to fc14 (was running fc9). I can't get bind to accept a zone file that worked with fc12 bind. named-checkconf returns OK so my old named.conf seem not the problem. The zone file contents being rejected follow:
$TTL 86400 @ IN SOA ns1.colo-perrys.com. hostmaster.colo-perrys.com. ( 2010121301 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns1.colo-perrys.com. 100 IN PTR colo-perrys.com. 2 IN PTR dadsoffice.colo-perrys.com. 9 IN PTR mobile1.colo-perrys.com. 10 IN PTR unclecarl.colo-perrys.com. 4 IN PTR Dave-PC.colo-perrys.com. 20 IN PTR Linksys-WAP54G.colo-perrys.com.
;EOF
The error message returned by
named-checkzone colo-perrys.com /var/named/chroot/var/named/perrylan.db
is
zone colo-perrys.com/IN: NS 'ns1.colo-perrys.com' has no address records (A or AAAA)
If I replace 'colo-perrys.com' with '1.168.192.in-addr.arpa', the zone name from named.conf, then named-checkzone returns OK. But service named start still fails.
My /etc/named.conf contains
options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; };
acl "mylan" { 127/8; 192.168.1.0/24; };
#controls { # inet 127.0.0.1 allow { localhost; } keys { rndckey; }; #};
view "inside" { match-clients { "mylan"; }; recursion yes;
zone "." IN { type hint; file "named.ca"; };
zone "1.168.192.in-addr.arpa" IN { type master; file "perrylan.db"; };
zone "colo-perrys.com" { type master; file "db.colo-perrys.com.inside"; allow-transfer { 192.168.1.101; }; }; };
Can anyone point me to what I'm missing?
Thanks, Dave P.
On 12/14/2010 12:04 AM, dave perry wrote:
Hi,
I decided to update a home dns server to fc14 (was running fc9). I can't get bind to accept a zone file that worked with fc12 bind. named-checkconf returns OK so my old named.conf seem not the problem. The zone file contents being rejected follow:
$TTL 86400 @ IN SOA ns1.colo-perrys.com. hostmaster.colo-perrys.com. ( 2010121301 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns1.colo-perrys.com.
This last line defines an NS record for ns1.colo-perrys.com., but it has no A or AAA record for it. You need another line just before or just after it like:
IN A ip.ad.re.ss
or IN AAAA some:ipv6:valid:ipv6::addr
I don't think it likes you defining the zone without having a valid IP address for some default name resolution of the zone name. Either an A or AAAA record should suffice. I ran into this when I updated from F11 to F13. Adding a "default" AAAA address worked for me. You may be in trouble if you have a "dynamic" IPv4 address as you don't know what it is when you define the zone.
100 IN PTR colo-perrys.com. 2 IN PTR dadsoffice.colo-perrys.com. 9 IN PTR mobile1.colo-perrys.com. 10 IN PTR unclecarl.colo-perrys.com. 4 IN PTR Dave-PC.colo-perrys.com. 20 IN PTR Linksys-WAP54G.colo-perrys.com.
;EOF
The error message returned by
named-checkzone colo-perrys.com /var/named/chroot/var/named/perrylan.db
is
zone colo-perrys.com/IN: NS 'ns1.colo-perrys.com' has no address records (A or AAAA)
If I replace 'colo-perrys.com' with '1.168.192.in-addr.arpa', the zone name from named.conf, then named-checkzone returns OK. But service named start still fails.
My /etc/named.conf contains
options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; };
acl "mylan" { 127/8; 192.168.1.0/24; };
#controls { # inet 127.0.0.1 allow { localhost; } keys { rndckey; }; #};
view "inside" { match-clients { "mylan"; }; recursion yes;
zone "." IN { type hint; file "named.ca"; }; zone "1.168.192.in-addr.arpa" IN { type master; file "perrylan.db"; }; zone "colo-perrys.com" { type master; file "db.colo-perrys.com.inside"; allow-transfer { 192.168.1.101; }; };};
Can anyone point me to what I'm missing?
I hope this helps.
Thanks, Dave P.
On Mon, 2010-12-13 at 22:04 -0700, dave perry wrote:
The zone file contents being rejected follow:
$TTL 86400 @ IN SOA ns1.colo-perrys.com. hostmaster.colo-perrys.com. ( 2010121301 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns1.colo-perrys.com. 100 IN PTR colo-perrys.com. 2 IN PTR dadsoffice.colo-perrys.com. 9 IN PTR mobile1.colo-perrys.com. 10 IN PTR unclecarl.colo-perrys.com. 4 IN PTR Dave-PC.colo-perrys.com. 20 IN PTR Linksys-WAP54G.colo-perrys.com.
;EOF
The error message returned by
named-checkzone colo-perrys.com /var/named/chroot/var/named/perrylan.db
is
zone colo-perrys.com/IN: NS 'ns1.colo-perrys.com' has no address records (A or AAAA)
Above you've quoted your reverse look-up zone, which looks okay. It's the forward zone that should have an A record for the nameserver (NS) record.
Your reverse zone (above) only needs records for the name (singular) to be used for each IP. The forward records list all host names, and say what IP they have.
Your master file (forward records) should be something like this (below), based on what I can see of your reverse file, though put the right IP address for your name server for the ns1 hostname:
$TTL 86400 @ IN SOA ns1.colo-perrys.com. hostmaster.colo-perrys.com. ( 2010121301 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS ns1.colo-perrys.com. IN A 100
colo IN A 100 dadsoffice IN A 2 Dave-PC IN A 4 Linksys-WAP54G IN A 20 mobile1 IN A 9 ns1 IN A 100 unclecarl IN A 10
And if you're going the whole hog of running a full LAN, with mail, you probably should put an MX record in there for your LAN mail server, too.