[CentOS] Bind fails to start after update from 7.1 to 7.2 [SOLVED, sort of]

Wed Jan 6 01:44:45 UTC 2016
Emmett Culley <lst_manage at webengineer.com>

On 01/05/2016 01:03 PM, Emmett Culley wrote:
> I am seeing these lines for each domain in the systemd journal:
> 
> zone relationship123.com/IN: loading from master file relationship123.com.db failed: file not found
> zone relationship123.com/IN: not loaded due to errors.
> _default/relationship123.com./IN: file not found
> 
> 
> If I change the zone defs to include the full path:
> 
> From
> 
> zone "relationships123.com." IN {
> 	type master;
> 	file "relationships123.com.db";
> };
> 
> To
> 
> zone "relationships123.com." IN {
> 	type master;
> 	file "/var/named/chroot/var/named/relationships123.com.db";
> };
> 
> in the config file, named starts, but then fails to provide DNS replies with the following error for each request:
> 
> general: error: zone relationships123.com/IN: loading from master file /var/named/chroot/var/named/relationships123.com.db failed: file not found
> general: error: zone relationships123.com/IN: not loaded due to errors.
> 
> Nothing was changed in the named configuration prior to updating to 7.2
> 
> As usual I am using systemctl start named-chroot to start the server.
> 
> Any ideas?
> 
> Emmett
I was able to get named to start and resolve DNS requests by creating two named.conf files.  One in /etc/named.conf, that contains zone file definitions that included the absolute path to the zone file, like this:

zone "relationships123.com." IN {
	type master;
	file "/var/named/chroot/var/named/relationships123.com.db";
};

And another in /var/named/chroot/etc/named.conf that contains zone file definitions with only the zone file name (no path). Like this:

zone "relationships123.com." IN {
	type master;
	file "relationships123.com.db";
};

None of this makes sense to me as the previous configuration (that worked before upgrade to 7.2) used symbolic links in /etc to the files in /var/named/chroot/etc.  While trying to figure this out I found, from the documentation, that if the named.conf file does not exist in the chroot structure, a copy of the file in /etc is "copied" to be used by the running chrooted server.

Now, after updating to bind 9.9.4-29.el7_2.1 (CentOS 7.2) from bind 9.9.4-29.el7 (CentOS 7.1, latest) I have to use two separate files to get bind to initialize and run.

Any ideas why I seem to be the only one seeing this?

Emmett