Linux

bind、DNSサーバーについて(CentOS6)

目次

トップレベルドメインリストの入手

ftp://ftp.rs.internic.net/domain/

から入手。

named.root

がそのファイル。
当サーバーではこのファイルを

named.ca

として名前を変更して使用する。

ドメイン名の登録確認

  1. IANA(Internet Assigned Numbers Authority) が管理している国名コード(ccTLD)のリストは、http://www.iana.org/domains/root/db で確認できる。
  2. whois domain-name でも検索できる(らしい)
    (自分の環境ではだめだった。)
  3. whois 以外では、
    dig ns domain-name
    でもいけるようだ。

bind のバージョン確認

named -v

named.conf

  1. ネームサーバーのワーキングディレクトリ設定
    options {
             directory "/var/named";
    };
  2. root ヒントファイルの設定
    zone "."  in {
                 type hint;
                 file "named.ca";
    };
  3. プライマリマスタネームサーバー
    zone "foo.example"  {
               type  master;
               file "db.foo.example";
    };
  4. スレーブネームサーバー
    zone "foo.example"  {
               type  slave;
               masters { 192.168.0.1; };
               file "bak.foo.example";
    };

ゾーンデータの作成

  1. $TTL の指定(1日)
    1. 単位を省略して整数のみを記載すると秒の意味
      $TTL 86400     ; 1 day
    2. 単位を指定する。
      s(秒)、m(分)、h(時間)、d(日)、w(週)
      1日の指定を単位を使って表すと
      $TTL 1d        ; 1 day
    3. 2つの単位の混合
      $TTL 1d12h     ; 1日半
    4. $TTL は、1時間から1日が一般的

SOA レコード

  1. ゾーンのデータが変更されたかどうかを、スレーブネームサーバがどれくらいの頻度で確認するかなど、ゾーン全体に関わる情報を記述する。
  2. SOA レコードはドメイン名の記述から始まり、次にゾーンのクラスを指定(ほとんどの場合、Internet を示す IN を指定)して、SOA レコードのタイプを示す SOA を記述します。
  3. SOA レコードでは、タイプの後に7つの要素を記述します。
    1. MNAME フィールド
      • このゾーンのプライマリマスタネームサーバのドメイン名を指定する。
    2. RNAME フィールド
      • ゾーン管理者に到達性のあるメールアドレス。メールアドレスで使われる @ 記号は使えないため、 . (ドット)に変更して記述する。
    3. シリアル番号
      • YYYYMMDDVV の形式が望ましい。
        例) 2013121700
    4. リフレッシュ
      • このゾーンのスレーブネームサーバが、どれくらいの頻度で、自分のマスタネームサーバに、ゾーンのシリアルが増加しているかどうか(変更があったか)について、問い合わせる時間を指定する。
    5. リトライ
      • シリアルの確認時にエラーが出た時、次に問い合わせるまでの間隔を指定する。
    6. 期限切れ
      • スレーブサーバーがマスターに到達できなくなった時、どれくらいの期間、反応を続けるかを指定する。通常、事故などに備え、数週間から1ヶ月程度の値を用いる
    7. ネガティブキャッシュTTL
      • 他のネームサーバがゾーンに対する権威を持ったネームサーバからの否定応答をキャッシュしてもよい時間を設定する。この値は、15分から3時間程度のかなり短めに設定してもよい。
    8. 例)
      $TTL 86400      ; 1 day
      foo.example.            IN SOA  ns1.foo.example. root.foo.example. (
                                     2002123041 ; serial
                                     3600       ; refresh (1 hour)
                                     900        ; retry (15 minutes)
                                     604800     ; expire (1 week)
                                     3600       ; minimum (1 hour)
                                     )
      
                             NS      ns1.foo.example.
                             NS      ns2.foo.example.

slave 設定の /etc/named.conf

       zone "foo.net" IN {
               type slave;
               file "slaves/db.foo.example";
               masters { 111.222.112.221; };
       };

       zone "112.222.111.in-addr.arpa" IN {
               type slave;
               file "slaves/db.111.222.112";
               masters { 111.222.112.221; };
       };

Log のカテゴリ

トラブルシューティング

view internal: query failed (SERVFAIL) 対応

Dynamic DNS, Unable to add forward map from 対応

permission の設定をしていても(設定済みでも) jnl(ジャーナル)の作成に失敗する

nsupdate

sudo nsupdate
> server hogehoge.unyaunya.com

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS