本文へスキップ
IPeek

SOA ルックアップ

Start of Authority レコード

チェック中…

SOAレコードとは?

SOA(Start of Authority)レコードは、DNSゾーンに関する管理情報を保持します。プライマリネームサーバー、責任者の連絡先、ゾーンのシリアル番号、複製とキャッシュを制御するタイマーです。すべてのゾーンは正確に1つのSOAレコードを持ち、その配下のすべてに対する権限マーカーとしてゾーンの先頭に位置します。

SOAレコードの各フィールドの意味

SOAレコードはいくつかのフィールドを詰め込んでいます。MNAMEはゾーンのプライマリマスターネームサーバーを指定します。RNAMEは管理者のメールで、@記号の代わりにドットで書かれます。シリアルは、セカンダリが更新を検知するために監視するバージョン番号です。続いて4つのタイマーがあります。refresh(セカンダリが変更を確認する頻度)、retry(確認失敗後にどれだけ待つか)、expire(プライマリに到達できない場合にセカンダリが応答を止めるまで)、そしてminimum(存在しないレコードのネガティブキャッシュTTLを設定)です。

SOA検索結果の読み解き方

IPeekは、ゾーンのSOA、つまりプライマリネームサーバー、責任者の連絡先、現在のシリアル、refresh・retry・expire・minimumのタイマーを表示します。プライマリネームサーバーがDNSプロバイダーと一致することを確認してください。シリアルは変更が反映されたかを確認するのに最も役立ちます。一般的な慣習はYYYYMMDDnnなので、最近の日付ならゾーンが最近編集されたことを意味します。異常に短いまたは長いタイマーは、複製やキャッシュの問題を示唆することがあります。minimumの値は、リゾルバーにネガティブ(NXDOMAIN)応答をどれだけキャッシュするかを伝えます。

SOAシリアルがゾーン複製を制御する仕組み

シリアル番号は、セカンダリネームサーバーがゾーンの新しいコピーをいつ取得すべきかを知る手段です。各refresh間隔でセカンダリは保存したシリアルをプライマリのものと比較し、プライマリの方が大きければ更新されたゾーンを転送します。つまり、ゾーンを編集するたびにシリアルを増やさなければならず、さもないとセカンダリは古いデータを提供し続けます。これを増やし忘れることは、変更がプライマリに現れてもバックアップサーバーに現れない古典的な原因です。ほとんどのプロバイダーやツールは自動的に増やします。

よくある質問

SOAレコードのシリアル番号は何をしますか?

シリアルは、セカンダリネームサーバーが変更を検知するために使うゾーンのバージョン番号です。ゾーンを編集する際にシリアルを増やすと、次のrefreshでセカンダリがシリアルを比較し、プライマリの方が大きければ新しいコピーを取得します。増やし忘れると、セカンダリは古いレコードを提供し続けます。

refresh・retry・expireのタイマーは何を意味しますか?

これらのSOAタイマーはゾーンの複製を司ります。refreshはセカンダリがプライマリの更新を確認する頻度、retryは確認失敗後に再試行するまでの待ち時間、expireはプライマリに到達できない場合にセカンダリが完全に応答を止めるまでです。これらはセカンダリサーバーの同期を保ち、ひどく古いデータを提供しないようにします。

すべてのDNSゾーンに正確に1つのSOAレコードがあるのはなぜですか?

SOAレコードはゾーンの権限の起点を示し、管理上の唯一の真実、つまりプライマリサーバー、連絡先、シリアル、タイマーを運びます。ゾーンには権威の起点が1つあるため、SOAも正確に1つで、ゾーンの頂点に置かれます。複数のSOAレコードは矛盾し無効となります。

SOAレコードのRNAMEフィールドとは何ですか?

RNAMEは、ゾーンを担当する人やチームのメールアドレスで、@をドットに置き換えたDNS形式で書かれます。例えば、admin@example.comはadmin.example.comとして現れます。読み取るには、最初のドットを@に戻します。ゾーンの設定について誰に連絡すべきかを伝えます。

SOAシリアルでDNS変更が反映されたか確認できますか?

シリアルはゾーンを編集するたびに増えるため、確認すれば変更が公開されたかが分かります。多くのゾーンはYYYYMMDDnnシリアルを使うので、現在の日付なら最近の更新を示します。変更後にSOAを検索してシリアルが進んだことを確認し、次にセカンダリが同じ値を報告することを検証してください。