BIND設定ファイル
/etc/named.conf
| 公開ドメイン設定
↓ (内部・外部ホストの許可・拒否設定)
ゾーンリストファイル
/etc/named.external.zone
| DNS公開ドメイン・ゾーンの追加
↓
ゾーンファイル
/var/name/XXXXX.com
ドメイン毎にゾーンファイル作成
* パッケージインストール
# yum install bind
* 設定ファイルのコピー
# rpm -ql bind |grep name
# cp /usr/share/doc/bind-9.3.3/sample/etc/named.conf /etc/.
# cp /usr/share/doc/bind-9.3.3/sample/etc/named.root.hints /etc/.
# cp /usr/share/doc/bind-9.3.3/sample/var/named/named.root /var/named/.
* 設定
BIND設定ファイル
/etc/named.conf
-------------------------------------------------------------
view "internal" <---内部から見る設定
match-clients { 10.0.0.0/24; }; <--- "any"にすると外部許可になる。
recursion yes; <---再帰問い合わせ有り無し 下の外部から見る設定は省略される。
zone "linuxtest.net" { <---ゾーン名はドメイン名
type master;
file "/var/named/linuxtest.zone"; <---ゾーンファイル名
};
include "/etc/named.external.zone"; <---外部から見る設定(内部からも見える様に)
};
view "external" <---外部から見る設定
{
recursion no;
include "/etc/named.root.hints";
include "/etc/named.external.zone"; <---外部から見る設定
};
-------------------------------------------------------------
/etc/named.external.zone
-------------------------------------------------------------
zone "pet.net" { <---ゾーン名はドメイン名
type master;
file "/var/named/pet.net.zone";
};
zone "yakan.com" {
type master;
file "/var/named/yakan.com.zone";
};
-------------------------------------------------------------
etc/named.root.hints
-------------------------------------------------------------
type hint;
file "/var/named/named.root"; <---フルパスで記述
-------------------------------------------------------------
/var/named/linuxtest.zone
-------------------------------------------------------------
$TTL 86400
@ IN SOA linuxtest.net. hostmaster.linuxtest.net. (
2013042300 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS ns1
ns1 IN A 10.0.0.12
@ IN MX 10 mx1
@ IN MX 20 @
@ IN A 10.0.0.12
www IN A 10.0.0.12
mx1 IN A 10.0.0.12
-------------------------------------------------------------
"@"は起点(etc/named.external.zoneで書かれた各ゾーン名{ドメイン名})
"."を省略すると、それぞれのエイリアス名の後ろに起点名(ドメイン名)が付く
例:linuxtest.net. --->linuxtest.net
例:ns1 --->ns1.linuxtest
例:mx1 --->mx1.linuxtest
-------------------------------------------------------------
/var/named/yakan.com.zone 他DNSサーバに依存する場合
-------------------------------------------------------------
$TTL 86400
@ IN SOA yakan.com. hostmaster.yakan.com. (
2008040100 ; Serial
28800 ; Refresh
14400 ; Retry
604800 ; EXPIRE
86400 ) ; Minimum
@ IN NS ns1.linuxtest.net
@ IN A 10.0.0.12
@ IN MX 10 mx
www IN A 10.0.0.12
mx IN A 10.0.0.12
-------------------------------------------------------------
/var/named/pet.net.zone 独立してDNSサーバを持つ場合
-------------------------------------------------------------
$TTL 86400
@ IN SOA pet.net. hostmaster.pet.net. (
2008040100 ; Serial
28800 ; Refresh
14400 ; Retry
604800 ; EXPIRE
86400 ) ; Minimum
@ IN NS ns1
ns1 IN A 10.0.0.12
@ IN A 10.0.0.12
@ IN MX 10 mx
www IN A 10.0.0.12
mx IN A 10.0.0.12
[root@linuxtest /]#
-------------------------------------------------------------
[root@linuxtest ~]# rndc reload
server reload successful
[root@linuxtest ~]#
ログローテート設定
named.conf
---------------------------------------------
logging
{
/* If you want to enable debugging, eg. using the 'rndc trace' command,
* named will try to write the 'named.run' file in the $directory
* (/var/named).
* By default, SELinux policy does not allow named to modify
* the /var/named directory,
* so put the default debug log file in data/ :
*/
channel default_debug {
file "data/named.run";
severity dynamic;
};
channel log_default {
file "/var/log/named/named.log" versions 10 size 1M;
severity info;
print-time yes;
print-category yes;
};
category default { "log_default"; };
channel log_query {
file "/var/log/named/query.log" versions 5 size 1M;
severity info;
print-time yes;
print-category yes;
};
category queries { "log_query"; };
category lame-servers { null; };
};
---------------------------------------------
# mkdir /var/log/named
# touch /var/log/named/named.log
# touch /var/log/named/query.log