権威DNSサーバ
管理を任されたドメイン名の範囲(ゾーン)の情報を保持し、その範囲の問合せに正式な情報源として応答するDNSサーバ。
イマシルちゃんの解説
Webサイトの名前から、通信先のIPアドレスを調べるのがDNSの役割の一つだよ。
でも、世界中の名前とアドレスを一か所で管理するのは大変だよね。
そこでDNSでは、管理する範囲をゾーンという単位に分けているよ。
その範囲の情報を持ち、問合せに正式な情報源として答えるのが権威DNSサーバなんだ。
たとえば自社サイトの名前を聞かれたら、登録されているIPアドレスを返すよ。
下位の範囲を別のサーバに任せている場合は、その問合せ先を紹介するんだ。
担当ごとに情報を管理しつつ、問合せる側が必要な答えにたどり着けるようにしているんだよ。
この解説はわかりやすかったですか?
より深い解説
定義
権威DNSサーバは、特定のゾーン(自分が管理を任されたドメインの範囲)の情報(リソースレコード)を保持し、そのゾーンについての問合せに答えるDNSサーバである。コンテンツサーバとも呼ばれる。自分が権威を持つ名前への回答ではAA(Authoritative Answer)フラグを立てる。下位ゾーンの問い合わせ先を紹介する委任応答など、すべての応答で立つわけではない。
委任
上位のゾーンの権威DNSサーバは、下位のゾーンのNSレコード(担当する権威DNSサーバの名前)を持っていて、問合せが来るとそのサーバを紹介する。これを委任という。ルートからこの紹介をたどることで、目的のゾーンの権威DNSサーバにたどり着ける。
情報の原本と複製
| 種類 | 役割 |
|---|---|
| プライマリ(マスター) | ゾーンの情報の元データを持つ。管理者はここでデータを変更する |
| セカンダリ(スレーブ) | プライマリからゾーンの情報を複製して持つ。プライマリが止まっても答えられる |
複製はゾーン転送で行う。セカンダリは、SOAレコードのシリアル番号を比較してプライマリ側の情報が新しいと判断すると、転送を要求する。全体を転送するAXFRと、変更分を転送するIXFRがある。
セカンダリを、プライマリとは別のネットワーク(ISPなど)に置くと、ネットワークの障害に対する可用性が高まる。
更新の通知から複製まで
セカンダリはSOAレコードに従って定期的に更新を確認する。変更を早く知らせるため、プライマリからNOTIFYメッセージを送ることもできる。
- プライマリでゾーンを更新し、SOAのシリアル番号を進める。
- プライマリがNOTIFYで更新を通知する。
- セカンダリがプライマリへSOAレコードを問い合わせ、手元の版と比較する。
- 更新が必要なら、セカンダリからAXFRまたはIXFRを要求する。
通知そのものにゾーンの全データが入っているわけではない。通知はプライマリから、転送要求はセカンダリから送る。
AXFRでは、セカンダリがプライマリのTCPポート53番へ接続する。ファイアウォールでは接続を開始する向きと応答の戻りを考慮する。IXFRは一つのDNSメッセージに収まる場合にUDPも使えるが、大きな差分の取得にはTCPを使う。通常の名前解決にもUDPとTCPの両方があるため、用途を区別して許可条件を設計する。
運用上の注意
| 注意点 | 理由 |
|---|---|
| ゾーン転送を許可する相手を、セカンダリに限る | 誰にでも許可すると、ゾーンの情報がすべて取得され、内部の機器の名前などが漏れる |
| 再帰的問合せに応じない(キャッシュの機能と分ける) | 権威DNSサーバがフルサービスリゾルバの機能も持つと、キャッシュポイズニングやDRDoS攻撃の反射に悪用されるおそれがある |
| 外部向けと内部向けを分ける | 外部に公開する必要のない内部の機器の情報を、外部向けのサーバに載せない |
参考資料
実際の試験ではここに出る!全16問
ネットワークスペシャリスト
- 午前Ⅱ
- 午後Ⅱ
- 午後Ⅰ