
Ich ersetze einen RHEL6-Server, auf dem unter anderem bind/named läuft, durch einen RHEL8-Server. Dabei wurde die Bind-Version von 9.8 auf 9.11 aktualisiert. Ich bin kein Bind-Experte, aber ich dachte dummerweise, das wäre ein einfaches Update. Leider bin ich auf ein Problem gestoßen, das ich kaum verstehe, da ich mit bind nur wenig vertraut bin. Anscheinend können nicht mehr mehrere Ansichten auf dieselbe beschreibbare Datei verweisen? Das verhindert, dass named gestartet wird.
Ich habe ein bisschen gegoogelt und herausgefunden, dass dies seit Bind 9.10 tatsächlich die „richtige“ Reaktion ist und dass ich In-View-Referenzen einbinden muss, um dies zu umgehen.
Hier ist ein Ausschnitt der Fehler, die ich bekomme ...
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
Ich hoffe, dass jemand das Talent und die Bereitschaft hat, mir bei der entsprechenden Aktualisierung meiner Konfiguration zu helfen, da ich nicht weiterkomme.
Hier ist der (anonymisierte) Teil meiner named.conf-Datei, der meiner Meinung nach aktualisiert werden muss. Was meinen Sie?
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;
};
Antwort1
Sie haben Slave-Zonen, die in mehreren Ansichten dieselben Backing-Zone-Dateien verwenden. Dies ist nicht zulässig, da die entsprechenden Slave-Zonendefinitionen die Zone separat übertragen und den Inhalt in dieselbe Datei schreiben würden (was nicht sicher wäre).
Stattdessen können Sie diein-view
Zonenoption, um eine vorhandene Zone aus einer Ansicht in einer anderen Ansicht anzuzeigen.
Das kann ungefähr so aussehen (Beispiel aus der Dokumentation):
view internal {
match-clients { 10/8; };
zone example.com {
type master;
file "example-external.db";
};
};
view external {
match-clients { any; };
zone example.com {
in-view internal;
};
};