New error about zone files: record with inherited owner ... immediately after $ORIGIN
Andrew Gideon
andrew-bind-user-182 at tagonline.com
Fri Jun 5 19:07:51 UTC 2015
We've just tried configuring a CentOS7 environment as a DNS server for
the first time, and have hit an error not seen previously. This
occurred using zone files that have been in use for quite a while.
Specifically, this appears to be hitting a particular idiom that we use
a lot.
I cannot imagine that we're alone, so I'm wondering what I'm doing wrong
(esp. since I've not found many other messages discussing this despite
searching).
The errors are coming from:
/usr/sbin/named-checkconf -z /etc/named.conf
and are of the form:
primary/TAG.GENERIC.NAMESERVERS.include:1: record with inherited owner (yogawithjoe.com) immediately after $ORIGIN (yogawithjoe.com)
primary/CLIENTMX.include:1: record with inherited owner (yogawithjoe.com) immediately after $ORIGIN (yogawithjoe.com)
although we're seeing many variations. As I wrote, we use this idiom a lot.
The idiom is to $INCLUDE a file with records that are common to many
names. Most often, these are NS or MX records.
So, for example, the zone for yogawithjoe.com includes:
@ IN SOA ns1.tagonline.com. dns-admin.tagonline.com. (
2015030901
24h
1h
6w
8h
)
$INCLUDE primary/TAG.GENERIC.NAMESERVERS.include
IN A 207.111.76.135
$INCLUDE primary/CLIENTMX.include
The two include files are:
IN 24h NS ns1.tagonline.com.
IN 24h NS ns2.tagonline.com.
IN 24h NS ns3.tagonline.com.
and
5m IN MX 10 13.smtp.tagonline.com.
5m IN MX 20 20.smtp.tagonline.com.
5m IN MX 30 14.smtp.tagonline.com.
5m IN MX 40 1.smtp.tagonline.com.
We explicitly want to inherit the owner. In this case, we could avoid
the inheritance by using @ explicitly as the owner in the include files.
However, this breaks when we do something like:
host1 IN A 207.111.76.13
$INCLUDE primary/CLIENTMX.include
host2 IN A 207.111.76.14
$INCLUDE primary/CLIENTMX.include
host3 IN A 207.111.76.15
$INCLUDE primary/CLIENTMX.include
...
for many hosts that need MX records.
I'm guessing that this error is occurring because, even though we've not
specified that argument to $INCLUDE, named-checkconf still believes that
$ORIGIN is being set within the $INCLUDE. However, we're not setting
$ORIGIN and we don't want to use @ anyway.
Is there some way to work around this, or a better way to share or
duplicate records across many owners? Or is named-checkconf wrong?
Finally: "named -v" reports "BIND 9.9.4-RedHat-9.9.4-18.el7_1.1
(Extended Support Version)" and named itself does support our zone
files. It is only "named-checkconf -z" that is balking.
We got this to work by commenting out the use of named-checkconf as a
prerequisite in the service file. That just doesn't seem like a good
idea.
Thanks...
Andrew Gideon
More information about the bind-users
mailing list