SOAレコードには何が記述されている?

佐藤新太(JPRS)
2003/8/29

 ドメイン名のツリー構造は委任によってゾーンに分割され、分散管理されています。SOAレコードはこれらの分割されたゾーンそれぞれのオーソリティ情報が記されているレコードです。SOAはStart Of Authorityの略で、「権威の開始」という意味になります。

 BINDではゾーンファイルの先頭、デフォルトTTLの指定の後に書くことになっています。また、SOAは委任に関するオーソリティ情報を記すものであり、各ゾーンの委任されたドメイン名に関連付けられます。

 SOAレコードはゾーンファイルの中では、リスト1のように記述されます。

リスト1: SOA レコードの記述例
@ IN SOA  ns1.example.jp. postmaster.example.jp. (
        2003081901  ; Serial
        3600        ; Refresh 
        900        ; Retry
        604800     ; Expire
        3600      ; Negative cache TTL
        ) 

(注)ゾーンファイルの中では、「;」から右側はコメントとして扱われます。また、「( )」で囲まれた部分は継続行と見なされます。

 リスト1のSOAレコードには赤字で示した以下の7つの情報が順に並んでいます。

 
名前:MNAMEns1.example.jp.
・ゾーンファイルの基となるデータを持つネームサーバの名前
・プライマリのネームサーバを指すこともある

 
名前:RNAMEpostmaster.example.jp.
・このドメインの管理者のメールアドレス
・ DNS のサーバがこのアドレスを使うことはないが、人がゾーンの管理者と連絡を取りたい際に使う
・メールアドレスをそのまま書くのではなく、「@」記号を「.」に置き換えて記載
・例えば、「postmaster@example.jp」が管理者のメールアドレスであれば、「postmaster.example.jp」と記載する

 
名前:SERIAL2003081901

・ゾーンファイルのバージョンを表す数字
・基本的には大きいほど新しいバージョン
・管理者が便利な形で記載すればよいが、ゾーンファイルの更新日から、YYYYMMDDnn という10けたの数字を使うことが多い

 続く 3 つの情報は、セカンダリネームサーバがプライマリのネームサーバから入手したゾーン情報を、どう扱うかを指定するものです。各データはそれぞれ秒数で指定されています。

 
名前:REFRESH3600
・ゾーンの情報をリフレッシュするまでの時間
・セカンダリネームサーバはゾーン転送をした後、この時間がたつと、ゾーンの更新がされたかを問い合わせ、必要に応じて再度データを手に入れようとする

 
名前:RETRY900
・REFRESHでゾーン情報の更新ができなかった場合に、RETRYで指定された時間後に再度リフレッシュを試みる

 
名前:EXPIRE604800
・何らかの理由でゾーン情報のリフレッシュができない状態が続いた場合、セカンダリネームサーバが持っているデータをどれだけの時間利用してもよいかを示す

 最後の数字はキャッシュサーバの挙動を制御するものです。

 
名前:MINIMUM(Negative cache TTL)(3600
・ネガティブキャッシュとは、存在しないドメイン名であるという情報のキャッシュを意味する(ネガティブキャッシュの維持する時間)
・存在しないドメイン名をコンテンツサーバに問い合わせた場合、NXDOMAINというステータスで応答がある
・キャッシュサーバはほかの情報と同じように、この「存在しない」という情報を指定された時間保持している

DNS Tips Index

「Master of IP Network総合インデックス」


Master of IP Network フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Master of IP Network 記事ランキング

本日 月間