
我正在用 RHEL8 伺服器替換運行綁定/命名等功能的 RHEL6 伺服器。作為其中的一部分,綁定版本從 9.8 更新到 9.11。我無論如何都不是綁定專家,但我愚蠢地認為這應該是一個簡單的更新。不幸的是,我遇到了一個我幾乎不理解的問題,因為我對綁定只是稍微熟悉一點。顯然您不能再讓多個視圖指向同一個可寫檔案?它阻止了 name 的啟動。
我做了一些谷歌搜索,發現這確實是自綁定 9.10 以來的“正確”反應,並且我應該合併視圖中的引用來解決這個問題。
這是我收到的錯誤的片段......
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
我希望有人有才華並且願意幫助我適當地更新我的配置,因為我迷路了。
我認為這是我的named.conf 檔案中需要更新的(匿名)部分。想法?
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;
};
答案1
您的從屬區域在多個視圖中使用相同的後備區域文件,這是不允許的,因為匹配的從屬區域定義將單獨傳輸區域並將內容寫入同一文件(這不安全)。
你可以做的是使用in-view
zone 選項可將一個視圖中的現有區域顯示到另一個視圖。
它看起來像這樣(範例取自文件):
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;
};
};