情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

ブログ内検索

スポンサーサイト このエントリーを含むはてなブックマーク

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 | 編集

BINDの設定ファイルをしっかり書いたと思ったのに反映されなかった原因 このエントリーを含むはてなブックマーク

BINDの設定書き換え

BINDの設定ファイルの書き方を含めた、自分が過去に書いたBIND関連記事を見ながらBINDの設定を変更しました。しかし、全く反映されない。正確に言うと、変更前の設定は確かに無効になっているのに、新しい設定が読み込まれない状態でした。

原因

原因は、「BIND導入記04 設定ファイル編 後編」でも触れていた、データベースファイルの3行目にある設定ファイルの通し番号を更新していなかったことが原因でした。リンク先の記事でしっかりと

また、2009010701という数字は、このファイルの更新のたびに増加するようにしてください。

のように注意を促しておきながら、自分が見事にはまってしまいました。

まとめ

BINDの設定はミスしやすい。

DNS & BIND 第5版
DNS & BINDクックブック―ネームサーバ管理者のためのレシピ集
BIND9によるDNSサーバ構築

スポンサーサイト
BIND | コメント:0 | トラックバック:0 | 編集

BIND導入記05 起動編 このエントリーを含むはてなブックマーク

前回までに、BINDの設定ファイルを作成し終えました。あとは起動するだけです。

namedの起動

BINDの実態は、「named」というデーモンです。これを起動するためには、

# /etc/rc.d/init.d/named start
を実行すればOKです。
namedを起動中 [OK]
となれば正常起動です。また、OSの起動時に自動的に実行するためには、
# chkconfig named on
とすればOKです。

次回

次回は、動作確認編です。正しく動作しているかを確認します。

BIND9によるDNSサーバ構築
DNS & BINDクックブック―ネームサーバ管理者のためのレシピ集
DNS & BIND 第5版

BIND | コメント:0 | トラックバック:0 | 編集

BIND導入記03 設定ファイル編・前編 このエントリーを含むはてなブックマーク

この記事は、前回の続きです。今回は設定ファイルnamed.conf目的に合わせて作成します。

これから作成する設定ファイル一覧

今回の記事で作成するのはnamed.confですが、ほかにも3つの設定ファイルを作成し、全部で以下の4ファイルを作成します。

  • /var/named/chroot/etc/named.conf(基本設定ファイル)
  • /var/named/chroot/etc/named.example.net.zone(ゾーン設定ファイル)
  • /var/named/chroot/var/named/example.net.db(正引きデータベースファイル)
  • /var/named/chroot/var/named/1.168.192.in-addr.arpa.db(逆引きデータベースファイル)

name.confを作成する

前回の記事中でcaching-nameserverパッケージをインストールしたおかげで、named.confの見本である「named.caching-nameserver.conf」が作成されています。まずは、この設定ファイルをコピーしてnamed.confを作成し、アクセス権限を正しく設定します。

# cp /var/named/chroot/etc/named.caching-nameserver.conf  /var/named/chroot/etc/named.conf
# chgrp named /var/named/chroot/etc/named.conf

ちなみに、手元の環境でのデフォルトは以下の通りでした。
options {
        listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";

        // Those options should be used carefully because they disable port
        // randomization
        // query-source    port 53;
        // query-source-v6 port 53;

        allow-query     { localhost; };
        allow-query-cache { localhost; };
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view localhost_resolver {
        match-clients      { localhost; };
        match-destinations { localhost; };
        recursion yes;
        include "/etc/named.rfc1912.zones";
};
これを改造していきます。

設定ファイルを編集する

初期設定から、設定ファイルnamed.confを書き換えていきます。

まず、

listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 {::1; };
をコメントアウトもしくは削除します。この設定を残したままだと、DNSサーバ以外のPCから一切利用できません。役立たずになってしまいます

次に、このDNSサーバを利用できるPCをIPアドレスで指定します。今回は、自分自身(localhost)とLAN内部(localnets)だけで十分なので、

allow-query { localhost; localnets; };
allow-query-cache { localhost; localnets; };
という設定にします。

次は、ゾーン転送というものを行わないようにします。今回の目的ならゾーン転送は不要です。

allow-transfer { none; };

続いて、example.net(DDNSで取得したアドレス)以外への普通のアドレス変換を他の(今まで使っていたDNSサーバ)に転送する設定を行います。この転送も自分自身とLAN内部のPCが行えるようにします。

recursion yes;
allow-recursion { localhost; localnets; };
forwarders { 192.168.1.1; };
forwardersは、その転送先です。今まで使っていたDNSサーバ(普通はルータ)のアドレスを指定すればOKです。

次は、versionを指定します。といっても、これは攻撃者に本当のバージョンが知られないようにするためなので、versionにはunknownを指定します。 version "unknown";

最後に、どのアクセスに対してどの設定(.zone)を適用するかをviewというくくりの中で指定します。

view localhost_resolver {
        match-clients      { localhost; };
        match-destinations { localhost; };
        recursion yes;
        include "/etc/named.rfc1912.zones";
        include "/etc/named.example.net.zone";
};
view "internal" {
        match-clients           { localnets; };
        match-destinations      { localnets; };
        recursion yes;
        include "/etc/named.example.net.zone";
};

設定ファイル完成

以上のように設定ファイルを作成すると、次のようになります。ここでは、DDNSで取得したアドレスをexample.netとしています。

options {
#       listen-on port 53 { 127.0.0.1; };
#       listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";

        // Those options should be used carefully because they disable port
        // randomization
        // query-source    port 53;
        // query-source-v6 port 53;

        allow-query             { localhost; localnets; };
        allow-query-cache       { localhost; localnets; };
        allow-transfer          { none; };
        allow-recursion         { localhost; localnets; };
        forwarders { 192.168.1.1; };
        recursion  yes;
        version  "unknown";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

view localhost_resolver {
        match-clients      { localhost; };
        match-destinations { localhost; };
        recursion yes;
        include "/etc/named.rfc1912.zones";
        include "/etc/named.example.net.zone";
};
view "internal" {
        match-clients           { localnets; };
        match-destinations      { localnets; };
        recursion yes;
        include "/etc/named.example.net.zone"
};

終了

設定ファイルnamed.confの作成は以上で終了です。ここでの失敗が本当に多発(自分の場合)するので、注意です。とくに、最初の部分のコメントアウトは忘れがちです。この通し番号付き記事の最後の方にFAQとして載せるかもしれないです。

次回

次回は設定ファイル作成の後編です。

BIND9によるDNSサーバ構築
DNS & BINDクックブック―ネームサーバ管理者のためのレシピ集
DNS & BIND 第5版

BIND | コメント:0 | トラックバック:0 | 編集
 | HOME | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。