マスター DNS サーバーを 2 つ用意したいと考えています。各サーバーには、それぞれ異なる外部 IP が 1 つあります。DNS サーバーについて、次のような記事を読みました。
「この設計の最も重要な注意点は、両方のマスターが同期され、同一のデータを持つ必要があることです。」
最初の質問: 「マスターを同期させる必要がある」とはどういう意味ですか?
2 番目の質問: 数年前に構築された Arch Linux の A サーバー dns docker があるとします。B サーバーには、バインド内のディレクトリのアーキテクチャが異なる Debian ベースの dns docker があります。両方のサーバーで同一のデータを持つことは可能ですか? どのようにすればよいですか? 同一のゾーンのみが必要ですか?
編集1: 私もプロキシ サーバーを 2 つ持っています。2 つのサーバーで 1 つの Web サイト (1 つのドメイン) をホストしたいと考えています。独立した 2 つのサーバーを用意し、それぞれで Web サイトを個別にホストしたいと考えています。
編集2: DNS ゾーンはどのようになるでしょうか? 以下のような感じでしょうか?
86400 番台
@ SOA 内 (2017121413 10800 604800 10800 )
@ NSでns1.example.com です。
@ NSでns2.example.com です。
ns1 IN AIP_サーバー_1
ns2 IN AIP_サーバー_2
@ インAIP_サーバー_2
www IN AIP_サーバー_2
@ インAIP_サーバー_1
www IN AIP_サーバー_1
答え1
What does it mean "masters must be kept in sync"?
つまり、両方のサーバーの情報を同じに保つ必要があります (つまり、両方のサーバーに同時に変更を加える必要があります)。ただし現実的には、DNS には多くのキャッシュがあるため、データを短い時間枠内に両方のサーバーに同期させる必要がありますが、同期して行う必要はありません。
Is it possible to have identical data in both servers?
BIND では、同じゾーン ファイル情報または同等のものが必要です。(ゾーンを複製されたデータベースで提供することを検討しますが、単一障害点がないように複数のデータベースが必要です。)
答え2
ここでのポイントは、 を解決するとsome.host.net
、両方のマスターで同じ IP アドレスに解決される必要があるということです。応答は同一である必要があります。DNS の他のすべての機能についても同様です。
異なるDNSサーバーに異なる回答をさせることもできます。たとえば、テストホストを追加して、実際にどのDNSサーバーが使用されているかを確認できます。これは、たとえばエニーキャストDNSを使用する場合に役立ちます(https://ljm.home.xs4all.nl/anycast/index.htmlたとえば、
異なるマスターを異なる方法で解決する場合、これがネットワークに与える影響を理解する必要があります。システムを 2 つのマスターの 1 つに直接ポイントするだけであれば、結果は予測可能です。2 番目のマスターをセカンダリ DNS サーバーとして使用すると、透過性が少し低下します。多数のキャッシュ DNS サーバーを使用する場合、結果は予想外になる可能性があります。
ディレクトリ構造とアーキテクチャは同じである必要はありません。 2 つのマスターが同じであれば、2 つのマスターを同期させることははるかに簡単になります。