Back to page

− Links

 Print 

DNSサーバで悩む :: Nest Of Hawk

xpwiki:DNSサーバで悩む

Gentoo Linuxな生活​/サーバ設定関連[1]

Table of contents
  • とりあえずね
  • インストールしませう
    • データベース
    • named.conf
  • セカンダリDNSに挑戦
    • セカンダリ側named.conf設定
    • プライマリ側named.conf設定

とりあえずね anchor.png[2]

以前運用してたサーバと同等の機能を実現しなければなりますまい。と、いうことでとりあえずDNS,NTP,Samba,Http,メールを何とかしないといけないんです。で、いっちゃん楽そうだったDNS&NTPからスタートしてみますた、

Page Top

インストールしませう anchor.png[3]

emerge -b bind

インストールされました。と、言うことでnamed.confとデータベースの設定をしなければなりません。

Page Top

データベース anchor.png[4]

データベースは前サーバからコピーしてきます。で、/var/bind/priにコピー。ひとまず終了。

Page Top

named.conf anchor.png[5]

Gentooの場合は、/etc/bindに設定ファイル群が集中しています。ここの中のnamed.confを設定いたします。とりあえずBINDの設定はDNS[6]に書いてありますので、今回追加したことを書いておきましょう。
時代はセキュアが流行ですから、BINDの設定もセキュリティを考慮したいと思います。で今回のポイントは

  • 誰彼かまわずアクセスを許さない

ということで、通信を許可するアドレスを設定してみます。named.confのoptionsの中に以下を設定してみます。

allow-query {
     XXX.XXX.XXX/24;
};

これの追加で、queryに応えるクライアントのアドレスを限定できます。まぁ単純な手ですね。

Page Top

セカンダリDNSに挑戦 anchor.png[7]

さて、セカンダリDNSとはなにか?プライマリがマスターDNS、セカンダリはマスターのバックアップDNSです。マスターが何らかの要因でダウンした際に、バックアップしたデータベースで名前解決サービスを引き継ぎます。クライアント側でDNSのアドレスを2つ登録しておけばよいだけなので、とても簡単。マスターがデータベースを持っていて、セカンダリはデータのコピーを持ちます。なので、named.confにスレーブの宣言をしておけばいいだけ。簡単です。

Page Top

セカンダリ側named.conf設定 anchor.png[8]

/etc/bind/named.confを見ます。基本はマスタサーバのやつを持ってまいります。で、ここだけ変える。

zone  "1.168.192.in-addr.arpa" { ←このzoneを自分のネームサーバで扱う宣言
      type slave;          ←セカンダリサーバになる
      file  "1.168.192.in-addr.arpa.zone"; ←データベースのコピーを置くファイル
       masters {            ←マスターサーバの指定。このサーバからデータベースをコピーする
               192.168.1.1;
       };
};
zone  "foo.net" {            ←このzoneを自分のネームサーバで扱う宣言
       type slave;          ←セカンダリサーバになる
       file  "foo.net.zone"; ←データベースのコピーを置くファイル
       masters {            ←マスターサーバの指定。このサーバからデータベースをコピーする
               192.168.1.1;
       };
};
Page Top

プライマリ側named.conf設定 anchor.png[9]

セカンダリサーバにデータ転送を許可する設定を追加してやります。

zone  "1.168.192.in-addr.arpa" { ←このzoneを自分のネームサーバで扱う宣言
      type master;          ←マスタサーバになる
      file  "1.168.192.in-addr.arpa.zone"; ←データベースのコピーを置くファイル
       allow-transfer {            ←データベース転送を許可するホスト。セカンダリサーバ
               192.168.1.2;
       };
};
zone  "foo.net" {            ←このzoneを自分のネームサーバで扱う宣言
       type master;          ←マスタサーバになる
       file  "foo.net.zone"; ←データベースのコピーを置くファイル
       allow-transfer {            ←データベース転送を許可するホスト。セカンダリサーバ
               192.168.1.2;
       };
};

で、マスタ、スレーブともnamedを再起動

# /etc/init.d/named restart

Last-modified: 2009-10-04 (Sun) 17:40:39 (JST) (4397d) by maruo