次はネームサーバーを設定することにしましょう。
先ずは、デーモン確認。
# top
named は動いていませんねと。では、BIND の設定ファイルのディレクトリに移動。
# cd /var/named/etc/namedb
ここで、ls
# lsPROTO.localhost-v6.rev
PROTO.localhost.rev
dynamic
make-localhost
master
named.conf
named.root
slave
認証キーの作成
セキュリティー強化のために rndc コマンドの認証キーをまず設定。
# rndc-confgen -b 412 -k キーID > rndc.conf
ll で rndc.conf が生成されているのを確認し、オーナーとパーミッションを変更。
# chown bind:wheel rndc.conf
# chmod 0400 rndc.conf
rndc.conf の内容を確認
# cat rndc.conf
そこで 「# Use with…」の次の行から「# End of named.conf」の手前の行までをコピーする。
ログ用のディレクトリを作成
ログを保管するためのディレクトリを /var/named/ の下に log として作成し、オーナーを変更
# mkdir /var/named/log
# chown bind /var/named/log
named.conf の編集
で、named.conf を編集。
# vi named.conf
まず、ネームサーバーだけれど、今回は外部からの問い合わせを受けるようにしたいので、options ステートメントの以下の行をコメントアウト。
listen-on { 127.0.0.1; };
これを
// listen-on { 127.0.0.1; };
そのあと、logging ステートメントを追加。保管場所は先ほど作成した /var/named/log/ の下に設定。
logging {
channel my_log {
file "/var/named/log/my_log.txt" versions 3 size 1M;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default { my_log; };
};
使用するドメインの zone ステートメントを追加
////////////////////////////////
//// hogehoge.co.jp
zone "hogehoge.co.jp" {
type master;
also-notify {notify メッセージを送信するサーバの IP アドレス;};
allow-transfer {ゾーン転送を許可するホスト;};
file "master/hogehoge.co.jp.zone";
};
そしたら、先ほどコピーした、rndc.conf の named.conf 用の key ステートメントと、 controls ステートメントを、 named.conf の option ステートメントの後にペーストしコメントアウトを外し、vi を保存終了。
localhost.rev と localhost-v6.rev を設置
/var/named/etc/namedb に PROTO.localhost.rev と PROTO.localhost-v6.rev があるので、/var/named/etc/namedb/master に localhost.rev、localhost-v6.rev としてコピーする。
/var/named/etc/namedb/master/localhost.rev を以下のように書き換える
$TTL 3600@ IN SOA ns.hogehoge.co.jp. root.hogehoge.co.jp. (
YYYYMMDDSS ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS ns.hogehoge.co.jp.
1 IN PTR localhost.hogehoge.co.jp.
/var/named/etc/namedb/master/localhost-v6.rev を以下のように書き換える
$TTL 3600@ IN SOA ns.hogehoge.co.jp. root.hogehoge.co.jp. (
YYYYMMDDSS ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS ns.hogehoge.co.jp.
IN PTR localhost.hogehoge.co.jp.
hogehoge.co.jp.zoneを設定
hogehoge.co.jp用のzoneファイルを設定する。
$TTL 86400
$ORIGIN hogehoge.co.jp.
@ IN SOA ns.hogehoge.co.jp. postmaster.hogehoge.co.jp. (
2009011301; Serial
10800 ; Refresh 3 hours
3600 ; Retry 1 hour
604800 ; Expire 1 week
86400 ) ; Minimum 1 day
IN MX 10 ns.hogehoge.co.jp.
IN NS ns.hogehoge.co.jp.
IN NS ns.s-ezaki.com.
hogehoge.co.jp. IN A IPアドレス
ns IN A IPアドレス
IN MX 10 ns.hogehoge.co.jp.
ftp IN CNAME ns
mail IN CNAME ns
www IN CNAME ns
* IN CNAME ns
こんな感じ。
resolv.conf を確認
念のため /etc/resolv.conf を確認
domain ドメイン名
nameserver IPアドレス
この nameserver のIPアドレスをターゲットにしたいIPアドレスに書き換える。
ローカルで動かしたい場合は
domain ドメイン名
nameserver 127.0.0.1
こんな感じ。
named 起動
とりあえず作業は一段落。
namedデーモン起動
# named
rndc で確認
# rndc status
number of zones: 3
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/1000
tcp clients: 0/100
server is up and running
セキュリティー対策
BIND 8.4.5、BIND 9.3.0以下にはセキュリティーホールがあるということで。
こちらを参照
これ以下の場合はアップグレードが必要。
ということで、BINDのバージョンを確認。
> named -v
BIND 9.3.2
大丈夫ですね。