![Bind9: マスター->スレーブ IPv6 通知 (IPv4 へのフォールバックあり)](https://rvso.com/image/658728/Bind9%3A%20%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC-%3E%E3%82%B9%E3%83%AC%E3%83%BC%E3%83%96%20IPv6%20%E9%80%9A%E7%9F%A5%20(IPv4%20%E3%81%B8%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%81%82%E3%82%8A).png)
デュアル IP スタックで Debian 8 + Bind9 を実行している 2 台のマシン間に、小規模なマスター -> スレーブ DNS スキームを設定しました。
マスターとスレーブは両方とも、構成パラメータによって強制される、バインドによって使用される IPv4 と IPv6 を所有しますlisten-on
listen-on-v6
transfer-source
transfer-source-v6
notify-source
notify-source-v6
query-source address
query-source-v6 address
。
現在、マスターはスレーブに次のように通知するように設定されています。
notify yes;
also-notify { xxxx:xxxx:xxxx:xxxx::xxx5; x.x.x.5; };
私のスレーブのゾーン構成は次のようになります:
zone "example.dev" {
type slave;
masters { xxxx:xxxx:xxxx:xxxx::xxx2; x.x.x.2; };
file "...";
};
この設定は正常に動作しますが、ログ ファイルを調べると (予想どおり)、マスターはゾーンの変更ごとにスレーブに 2 回通知しています。
May 20 20:57:53 salvedns named[8568]: zone example.dev/IN: notify from x.x.x.2#52041: zone is up to date
May 20 20:57:53 salvedns named[8568]: zone example.dev/IN: notify from xxxx:xxxx:xxxx:xxxx::xxx2#51347: zone is up to date
1 回は IPv4 経由、もう 1 回は IPv6 経由です。
バインド サーバーに、実際に同じ DNS サーバーのアドレスであることを伝えxxxx:xxxx:xxxx:xxxx::xxx5
x.x.x.5
、最初に IPv6 経由で通知し、失敗した場合は IPv4 経由で再試行する方法はありますか? また、salve 宣言で同じことを行う方法はmasters
?
ありがとう。
答え1
あなたが求めているような設定オプションはないと思います。ただし、二重通知が心配するほどのことでもないと思います。
この構成では冗長性がありますが、発生するオーバーヘッドは最小限であり、通常はまったく問題になりません。
一般的に、複数の通知メッセージを受信することは、もともと主にマスターと他のスレーブからのものでしたが、現在ではデュアルスタックホストからも受信され、元の仕様ではこれを想定していた:
4.2. 各スレーブは、同じ NOTIFY 要求のコピーを複数受信する可能性があります。1 つはプライマリ マスターから、もう 1 つは他の各スレーブからで、スレーブが新しいゾーンを転送して潜在的なピアに通知します。NOTIFY プロトコルは、スレーブ/マスターが SOA RR を更新した後、または更新が不要であると判断した後にのみ NOTIFY を送信することを要求することで、この多重性をサポートします。これは実際にはゾーン転送が成功した後を意味します。したがって、配信順序の変更を除けば、スレーブが受信する最後の NOTIFY は、最新の変更を示すものになります。スレーブは常に既知のマスターにのみ SOA と AXFR/IXFR を要求するため、各マスターが各ゾーン更新を完了した後、スレーブは SOA の QUERY を再試行する機会があります。