#author("2020-11-07T08:45:34+09:00","default:dramsukohome","dramsukohome")
#author("2023-01-24T20:29:58+09:00","default:dramsukohome","dramsukohome")
[[Linux]]~




*bind、DNSサーバーについて(CentOS6) [#d9e77701]




*目次 [#gf209d77]
#contents




* トップレベルドメインリストの入手 [#n3d6b338]
 ftp://ftp.rs.internic.net/domain/
から入手。
 named.root
がそのファイル。~
当サーバーではこのファイルを~
 named.ca
として名前を変更して使用する。




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




* bind のバージョン確認 [#s2be5117]
 named -v
* named.conf [#gff192e1]
+ ネームサーバーのワーキングディレクトリ設定
 options {
          directory "/var/named";
 };
+ root ヒントファイルの設定
 zone "."  in {
              type hint;
              file "named.ca";
 };
+ プライマリマスタネームサーバー
 zone "foo.example"  {
            type  master;
            file "db.foo.example";
 };
+ スレーブネームサーバー
 zone "foo.example"  {
            type  slave;
            masters { 192.168.0.1; };
            file "bak.foo.example";
 };




* ゾーンデータの作成 [#if8c71b6]
+ $TTL の指定(1日)~
++ 単位を省略して整数のみを記載すると秒の意味
 $TTL 86400     ; 1 day
++ 単位を指定する。~
s(秒)、m(分)、h(時間)、d(日)、w(週)~
1日の指定を単位を使って表すと
 $TTL 1d        ; 1 day
++ 2つの単位の混合
 $TTL 1d12h     ; 1日半
++ $TTL は、1時間から1日が一般的




* SOA レコード [#ef70fd7a]
+ ゾーンのデータが変更されたかどうかを、スレーブネームサーバがどれくらいの頻度で確認するかなど、ゾーン全体に関わる情報を記述する。~
+ SOA レコードはドメイン名の記述から始まり、次にゾーンのクラスを指定(ほとんどの場合、Internet を示す IN を指定)して、SOA レコードのタイプを示す SOA を記述します。~
+ SOA レコードでは、タイプの後に7つの要素を記述します。
++ MNAME フィールド
--- このゾーンのプライマリマスタネームサーバのドメイン名を指定する。
++ RNAME フィールド
--- ゾーン管理者に到達性のあるメールアドレス。メールアドレスで使われる @ 記号は使えないため、 . (ドット)に変更して記述する。
++ シリアル番号
--- YYYYMMDDVV の形式が望ましい。~
例) 2013121700~
++ リフレッシュ
--- このゾーンのスレーブネームサーバが、どれくらいの頻度で、自分のマスタネームサーバに、ゾーンのシリアルが増加しているかどうか(変更があったか)について、問い合わせる時間を指定する。
++ リトライ
--- シリアルの確認時にエラーが出た時、次に問い合わせるまでの間隔を指定する。
++ 期限切れ
--- スレーブサーバーがマスターに到達できなくなった時、どれくらいの期間、反応を続けるかを指定する。通常、事故などに備え、数週間から1ヶ月程度の値を用いる
++ ネガティブキャッシュTTL
--- 他のネームサーバがゾーンに対する権威を持ったネームサーバからの否定応答をキャッシュしてもよい時間を設定する。この値は、15分から3時間程度のかなり短めに設定してもよい。
++ 例)~
 $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 [#u70cc6b9]
        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 のカテゴリ [#se267ca6]
- 参考外部サイト : [[BINDのロギング機能(Server Architecture for Linux):http://linux.kororo.jp/cont/server/bind_log.php]]
|カテゴリ名|内容|h
|default|チャンネルが割り当てられていない全てのカテゴリ。|
|general|以下のカテゴリに分類されない、その他全てのメッセージ|
|database|named の内部データベースに関するメッセージ。|
|security|要求の承認と拒否に関するメッセージ。|
|config|設定ファイルの処理に関するメッセージ。|
|resolver|名前解決に関するメッセージ。再帰的に問い合わせへの応答も含む。|
|xfer-in|他サーバーから自ホストへのゾーン転送に関するメッセージ。|
|xfer-out|自ホストから他サーバーへのゾーン転送に関するメッセージ。|
|notify|非同期びゾーン更新通知に関するメッセージ。|
|client|クライアントからの要求に関するメッセージ。|
|unmatched|どのview にもマッチしなかったメッセージ。|
|network|ネットワークに関するメッセージ。|
|upadate|動的更新に関するメッセージ。|
|queries|問い合わせのログ。|
|dnssec|DNSSECとTSIGの処理に関するメッセージ。|
|lame-servers|名前解決を試みようとして発見した、間違った設定のサーバーに関するメッセージ。|




* トラブルシューティング [#s5220fc2]



** view internal: query failed (SERVFAIL) 対応 [#q790b8af]
- jnl ファイルとの不整合らしい。~
以下のコマンドでjnlファイルを適用すると解決!
 rndc freeze
 rndc thaw



** Dynamic DNS, Unable to add forward map from 対応 [#v3bacfb3]
-/var/named を含むこれ配下のアクセス権を確認する
-named 権限が必要



** permission の設定をしていても(設定済みでも) jnl(ジャーナル)の作成に失敗する [#m51e6e7c]
- SELinux が原因。以下のコマンドを実行
 setsebool -P named_write_master_zones 1




* nsupdate [#i88c507c]
 sudo nsupdate
 > server hogehoge.unyaunya.com
- 追加(正引き)
 update add www.unyaunya.com 3600 IN A 192.168.1.101
 update add www.example.com 3600 CNAME test.example.com
- 追加(逆引き)
 update add 10.10.168.192.in-addr.arpa. 3600 IN PTR www.unyaunya.com.
- 削除
-- 正引き
 update delete www.unyaunya.com In A 192.168.1.101
-- 逆引き
 update delete 2.0.168.192.in-addr.arpa. IN PTR
- 反映
 send
- nsupdate console の終了
 quit
- 備考
-- send を送信した時点で即時反映される。~
ただし、zone ファイルは jnl ファイルを経由して~
少しあとに更新される。




* ubuntu, 18.04以降, DNS, cache, キャッシュ, nslookup, 削除 [#hdaa72e8]
-なんとまぁLinuxでもDNSの応答がキャッシュされるようになった模様
-ubuntu 18.04 以降
-ubuntu 18.04
-クリア方法は以下
 sudo systemd-resolve --flush-caches
-ubuntu 22.04
 resolvectl flush-caches




* ipv6 [#x3c46e77]



** 参考サイト [#eb2ca816]
- [[@IT:IPv6対応DNSサーバの実現 (1/2):https://www.atmarkit.co.jp/ait/articles/0401/14/news090.html]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS