I'm replacing a RHEL6 server that runs, among other things, bind/named, with a RHEL8 server. As part of this, the bind version updated from 9.8 to 9.11. I'm not a bind wiz in any way, but I foolishly thought this should be a simple update. Unfortunately I ran into a problem I barely even understand, being only slightly familiar w/ bind. Apparently you can no longer have multiple views pointing to the same writable file? It's preventing named from starting.
I did some Googling, and found out that this is indeed the "proper" reaction ever since bind 9.10, and that I am supposed to incorporate in-view rewferences to get around this.
Here's a snip of the errors I get...
Dec 03 16:45:51 server-1a bash[97204]: /etc/named/slave.zones:4: writeable file 'data/test.exampledomain.com.zone': already in use: /etc/named/slave.zones:4
Dec 03 16:45:51 server-1a bash[97204]: /etc/named/slave.zones:10: writeable file 'data/test2.exampledomain.com.zone': already in use: /etc/named/slave.zones:10
Dec 03 16:45:51 server-1a bash[97204]: /etc/named/slave.zones:16: writeable file 'data/test3.exampledomain.com.zone': already in use: /etc/named/slave.zones:16
I'm hoping that someone has the talent and willingness to help me update my config appropriately, since I'm lost.
Here's the (anonymised) portion of my named.conf file that needs to be updated I believe. Thoughts?
view "localhost_resolver" {
match-clients { localhost; };
allow-query { localhost; };
allow-recursion { localhost; };
recursion yes;
include "/etc/named/root.hints";
include "/etc/named.rfc1912.zones";
include "/etc/named/slave.zones";
include "/etc/named/forwarder.zones";
};
view "abc_clients" {
response-policy { zone "abc"; };
match-clients { 1.2.3.4/24; };
allow-query { 1.2.3.4/24; };
allow-recursion { 1.2.3.4/24; };
recursion yes;
include "/etc/named/abc.conf.local";
include "/etc/named/root.hints";
include "/etc/named/slave.zones";
};
view "trusted_resolver" {
match-clients { 1.9.0.0/21;1.8.0.0/21;1.7.0.0/24;1.6.0.0/21; };
allow-query { trusted; };
allow-transfer { "none"; };
allow-recursion { trusted; };
recursion yes;
include "/etc/named/root.hints";
include "/etc/named/slave.zones";
include "/etc/named/forwarder.zones";
};
view "default" {
match-clients { any; };
allow-transfer { "none"; };
recursion no;
};