(1)プライマリDNSサーバとセカンダリDNSサーバ
DNSサーバは,可用性を高めるために,2台以上設置する必要があります。VRRP等の他の冗長化の仕組みでは、ActiveとStandbyがハッキリしているものがあります。ですが、DNSに関しては、複数台のDNSサーバはどちらもActiveです。複数台のDNSサーバにはおおむね均等に名前解決の要求が届きます。
ネットワークスペシャリストを目指す女性SEあれ? 

複数のDNSサーバに対して、どうやって均等に要求を振り分けるのですか?
DNSラウンドロビンの仕組みと考えてください。以下は、example.comというドメインのDNSのレコード(例)です。
$ORIGIN  example.com.       ←ドメインはexample.com
         IN NS ns1.example.com  ←ネームサーバ(DNSサーバ)はns1.example.comと
    IN NS ns2.example.com                   ns2.example.com
ns1 IN A 203.0.113.53       ←ns1.example.comのIPアドレスは203.0.113.1
ns2 IN A 203.0.113.54       ←ns2.example.comのIPアドレスは203.0.113.2

上記にありますように、example.comドメインのDNSサーバは、ns1(= ns1.example.com)とns2(=ns2.example.com)の2つです。クライアントからの「example.comのDNSサーバは何ですか?」という問い合わせに対して、回答を交互に変えて返します。
ネットワークスペシャリストを目指す女性SEうーーん 

じゃあ、何をもってマスタやスレーブと言うのですか?
ゾーン情報のマスタを保有しているサーバをマスタDNSサーバ,その複製を保有しているサーバをスレーブDNSサーバと呼びます。プライマリDNSサーバ・セカンダリDNSサーバとも呼びます。

また、プライマリDNSサーバは自社に設置し、セカンダリDNSサーバは、外部のISPに任せるという分散構成を取ることが一般的です。
この点は、RFC2182にも、セカンダリDNSサーバは、トポロジー的にも地理的にもインターネット分散した位置に配置されるべきと記載されています。

原文
Secondary servers must be placed at both topologically and geographically dispersed locations on the Internet

(2)ゾーン転送
女性直立

ゾーン転送の概要は以下です。
・ゾーン転送とは、DNSサーバの管理情報を、他のDNSサーバへ転送すること。
・セカンダリDNSサーバからプライマリDNSサーバへ要求をする。(プライマリのnamed.confに記載されている「リフレッシュ」の間隔で問い合わせに行く)
注意点は、プライマリからセカンダリではない。
・変更されているかはシリアル(番号)を確認する。シリアル番号が増加していれば、変更があったとしてゾーン転送をおこなう。
・DNSは通常UDPの53であるが、ゾーン転送に限っては信頼性が重要であるため、TCPを利用する。RFC1034にも、「Because accuracy is essential, TCP or some other reliable protocol must be used for AXFR requests.」、つまり精度が求められるために、信頼性の高いTCPなどを使う必要があるとあります。
ネットワークスペシャリストを目指す女性SEあれ? 

それだと、タイムラグが生じないですか?
その通りです。そこで、DNSのソフトであるBIND8からDNS NOTIFYが実装されました。プライマリDNSは、ゾーン情報を更新すると、セカンダリDNSサーバに更新通知(NOTIFYメッセージ)を送信します。これを契機としてゾーン転送が行われます。※NOTIFYはUDPです。
 ただし、プライマリDNSは更新通知(NOTIFYメッセージ)を送るだけです。ゾーン転送は、これまでと同様にセカンダリDNSサーバから行われます。

過去問に、ゾーン転送に関連する出題があるので引用します。
問8 DNSサーバに格納されるネットワーク情報のうち、第三者に公開する必要のない情報が攻撃に利用されることを防止するための、プライマリDNSサーバの設定はどれか。

ア SOAレコードのシリアル番号を更新する。
イ 外部のDNSサーバにリソースレコードがキャッシュされている時間を短く設定する。
ウ ゾーン転送を許可するDNSサーバを登録する
エ ラウンドロビン設定を行う。
  (H22春SC午前2問8)





  DNSの設定において、allow-transferでゾーン転送を許可するサーバを指定します。
なので、DNSのゾーン転送はデフォルトでは誰でも受けられるということです。もっというと、セカンダリDNSサーバを立てる必要もなく、コマンドでゾーン情報を取得することもできます。
ウは、正解です。

過去問
過去問(H24NW午後橘1)では、以下のように問われている。
DNS-PとDNS-Sは,J社のドメインを管理するDNSサーバであり, DNS-PからDNS-Sへ[ ア ]転送を行い,2台のDNSサーバ間でリソースレコードの同期を取っている





A ゾーン

(3)実際の設定
すでに述べましたように、ゾーン転送の設定は、プライマリDNSサーバで指定するものではありません。セカンダリDNSサーバでプライマリDNSサーバを指定することで、セカンダリDNSサーバから定期的にRefreshで指定された時間間隔で取得に行きます。

では、設定をみてみましょう。以下のように、セカンダリDNSサーバは、typeをslaveにして、プライマリDNSサーバのIPアドレスをmastersにて指定するのです。
zone "seeeko.com" {
        type slave;
        file "seeeko.zone";
        masters {203.0.113.53;};
};
以下も参照ください。
http://nw.seeeko.com/archives/50559028.html

キャッシュファイルなどはそのままでよいし、ゾーンファイルなどはプライマリから送信されます。

ただ、プライマリDNSサーバには、allow-transfer で、許可するセカンダリDNSサーバを指定することができる。※ACLみたいなものなので、ここで指定したサーバが必ずセカンダリDNSサーバになるわけではない。

スポンサードリンク