私ディレクトリ領域BIND9では、ドメインが追加または削除されるたびにスレーブを手動で更新する必要はありません。
私は尋ねたこの問題答えは、BINDの新しいバージョンのディレクトリ機能を使用することです。
オンラインで見つけることができるすべてに従いましたが、まったく内容がなく、適切なデバッグディレクトリのインストールに関する内容もありませんでした。
プライマリドメインネームサーバー
私のマスターに次の設定を追加しましたmain.conf.options
。
zone "catalog.example.com" {
type master;
file "/etc/bind/catalog.example.com.db";
allow-transfer { trusted-servers; };
also-notify { slave-servers; };
notify explicit;
};
注:およびACL定義trusted_servers
ですslave_servers
。たとえば、次のようになります。
acl trusted_servers { 10.0.0.1; 10.0.0.2; };
acl slave_servers { 10.0.0.2; };
ゾーン/etc/bind/catalog.example.com.db
自体も特別で、バージョンが含まれており、NSエントリが無効です。
; catalog.example.zone
$ORIGIN .
$TTL 86400
catalog.example.com. IN SOA . . (
1 ; serial
3H ; refresh
180 ; retry
1D ; expire
300 ; default_ttl
)
NS invalid.
$ORIGIN catalog.example.com.
version IN TXT "1"
これにより、すべてのBINDサーバーでバージョンを確認できます。
セカンダリDNS
スレーブのブロックにいくつかの設定を追加しましたoptions
。
options {
...
allow-new-zones yes;
catalog-zones {
zone "catalog.example.com" default-masters { 10.0.0.1; };
};
...
};
場合に備えて、次のオプションもあることを確認しました。
allow-recursion { any; };
allow-query { any; };
allow-notify { trusted-servers; };
allow-transfer { trusted-servers; };
controls
スレーブのマスターコントロールを付与するには、エントリを設定する必要がありますか?
次に、スレーブデバイスに次の内容でディレクトリ領域を作成しました。
zone "catalog.example.com" {
type slave;
file "/var/cache/bind/catalog.example.com.db";
masters { 10.0.0.1; };
allow-notify { 10.0.0.1; };
};
地域が移動します。データ(上記のキャッシュに示されているのと同じデータ)を表示できます。
質問
その結果、次のエラーが発生しました。
2020年4月19日 13:07:39.124 通知: 通知: クライアント @0x7f42548c18b0 10.0.0.1#44622: "m2osw.com" ゾーンの通知を受信: 信頼できません
これは、ディレクトリ領域を除くすべての領域で発生します。
一般設定では、次の項目があります。
zone "m2osw.com" {
type slave;
file "/var/cache/bind/m2osw.com.zone";
masters { 10.0.0.1; };
allow-transfer { none; };
};
フィールドを入力しないと、masters ...
そのエラーが発生することがわかります(信頼できない)。
自動的に転送する領域を明示的に信頼できるものにする方法を理解できません。
誰かがディレクトリ領域を構築しようとしている私の努力について教えてもらえますか?
私が考えることができる唯一のことは、キーを正しく設定する必要があるということです。試してみましたが、これまでは基本DNSだけを完全にブロックできました。このセットアッププロセスについてもっと明確に説明できるといいですね!
メモ:IPアドレスはもちろん、認定IPを使用する私のサーバーのIPアドレスと1:1で対応します。