|
BIND起動用ユーザbindを作成します。
# useradd -s /bin/false
-d /usr/local/bind bind
# chown bind /usr/local/bind |
bindユーザーで起動したBINDからは/var/run/name.pidを作成できなくなりますので、named.pidの置き場所は/usr/local/bind/runにしておきます。
# mkdir /usr/local/bind/run/
# chown bind /usr/local/bind/run/ |
named.confにて
optionでpid-file "/usr/local/bind/run/named.pid";を指定します。
その他のnamed.confは以下を参照してください。
acl
named:サービスを許可する、あるいは禁止するIPアドレスのアクセス制御リストを設定します。たいていの場合、(10.0.1.0/24などの)個々のIPアドレスかIPネットワークの表記を使用して正確なIPを識別
します。また次の様な定義語を使う事もできます、
any:すべてのIPアドレスと一致。
localhost:ローカルシステムによって使用されているIPアドレスと一致。
localnets:ローカルシステムがそのインターフェイスで接続するネットワークのIPアドレスと一致。
none:どのIPアドレスとも一致しない。
controls
rndcコマンドを使ってnamedサービスを管理するのに必要なさまざまなセキュリティ要件を設定します。
include "<file-name>"
現在の設定ファイル内にある指定されたファイルをインクルードして、(keysなどの)機密設定データを許可つきの別
のファイルに置き、特権の与えられていないユーザーが読むのを防ぐことができます。
logging
ロギングの詳細(ログファイル、ファイルサイズ、ログ内容など)を定義します。
key "<key-name>"
名前ごとに鍵を定義します。鍵は、安全な更新やrndcコマンドの使用などさまざまな動作を認証するものです。keyでは、2つのオプションを使用することができます。
algorithm :使用されるアルゴリズムのタイプ。 dsaやhmac-md5など。
secret:"<key-value>" 暗号鍵。
options
フォワーダの使用、named作業ディレクトリの位置、さまざまなファイルの名前などの多種多様なオプションを割り当てます。
option-view
Bind9の新機能の一つであり、問い合わせを行ってきた相手によって違った答えを返す事ができます。
|
//サンプルA
options {
directory "/var/named"; ゾーンテーブルの保存先
pid-file "/usr/local/bind/run/named.pid"; name.pidの保存先
};
zone "0.0.127.in-addr.arpa" in { ローカルの逆マッピング (BIND4なら.revという使い方をします)
type master;
file "db.local"; 127.0.0.のテーブルファイル名
};
zone "." in { ルートDNSの情報定義
type hint;
file "named.root";
};
zone "hoge.com" in { hogeゾーンのテーブルファイルの定義
type master;
file "hoge.com.zone";
};
zone "11.10.201.in-addr.arpa" in { hogeゾーンの逆マッピング
type master;
file "11.10.201.in-addr.arpa.zone";
};
|
//サンプルB
acl local {
10.0.2.0/24;
192.168.0.0/24;
};
acl extra {
10.0.1.0/24;
};
options {
blackhole { local; };
allow-query { extra; };
allow-recursion { extra; };
}; |
|
//サンプルA+サンプルB
acl local {
192.168.0.0/24; localを定義
127.0.0.1;
};
options {
directory "/var/named"; ゾーンテーブルの保存先
pid-file "/usr/local/bind/run/named.pid"; name.pidの保存先
auth-nxdomain yes; NXDOMAIN で常に
AA をセットします。
allow-transfer { local; };
allow-query { local; };
};
view "internal" {
match-clients { local; };
recursion yes;
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.in-addr.arpa"{
type master;
file "localhost.rev";
};
zone "syns.net"{
type master;
file "local.syns.zone";
};
zone "0.168.192.in-addr.arpa"{
type master;
file "0.168.192.rev";
};
};
view "external" {
match-clients { any; };
allow-query { any; };
recursion no;
zone "." in {
type hint;
file "named.root";
};
};
|
//サンプルC
view "external" {
match-clients
{ any; };
allow-query
{ any; };
recursion
yes;
zone
"." in {
type
hint;
file
"named.root";
};
zone
"syns.net" in {
type
slave;
file
"local.syns.zone";
masters
{ 192.168.0.101; };
};
zone
"0.168.192.in-addr.arpa"
in {
type
slave;
file
"0.168.192.rev";
masters
{ 192.168.0.101; };
};
}; |
文法的なチェックは、次のように行います。
| # /usr/sbin/named-checkconf
/etc/named.conf.test |
エラーが出力されなければ、そのまま/etc/named.confに移動してnamedを再起動しても問題ないでしょう。チューニングはその後に行えばよいと思います。
|