bindでネームサーバ構築
ネームサーバ移行に伴い構築をしたのでメモ。
###
### named用グループ、ユーザ作成
###
# named グループ作成
groupadd named
## named user 作成
useradd -g named -d /home/named -s /bin/fales named
###
### bindインストール
###
# bindインスコ
yum -y install bind bind-chroot
# rndc.key作成
# セカンダリはプライマリのkeyをコピー
cd /etc
rndc-confgen -a -b 512 -r /dev/urandom
# キーをコピー
less /etc/rndc.key
# named.confの修正
vi /etc/named.conf
# /etc/rndc.keyの中身をnamed.confへコピー
// rndcコマンドの実行権限に関する認証KEY
key "rndc-key" {
algorithm hmac-md5;
secret "ランダムキーを入力";
};
# バージョン
// バージョンの非表示化
version "UNKNOWN";
# アクセス制限(不要な場合もある)
// ローカルのみ追加
acl localnet {
127.0.0.1;
192.168.0.0/24;
};
# DNSの問い合わせを制限
// ローカルネットのみ許可、外向けは「any」
allow-query { localnet; };
# DNS再起問い合わせを有効化
// 再帰的問い合わせを有効化(外部の場合はno、内部はyes)
recursion no;
# ipv6関連の設定
// ipv6関連の追加設定(ログがウザくなるからOFF)
empty-zones-enable no;
# ホストで解決できないドメインの問い合わせ先
// ドメインの問い合わせ先
forwarders {
8.8.8.8;
8.8.4.4;
};
# 差分転送の有効化
// 差分転送ON
request-ixfr yes;
# dnssecの設定
// opensslによるdnssec
dnssec-enable no;
dnssec-validation no;
//dnssec-lookaside auto;
# ゾーン転送設定
// 転送通知設定
notify yes;
// 転送通知先
also-notify {
セカンダリのIPを指定;
};
// 転送先
allow-transfer {
セカンダリのIPを指定;
};
// アップデート制限(不要な場合もある)
allow-update{
localnet;
};
## DDNS設定
// DDNS
allow-update{ none; };
allow-update-forwarding { none; };
# ブラックホールの設定
// 問い合わせを無効化するIPやIP帯域
blackhole {
none;
};
# ログ設定
logging {
// クエリーログ
channel "log_queries" {
file "/var/log/queries.log" versions 7 size 10m;
severity dynamic;
print-time yes;
print-category yes;
};
// デバッグログ
channel "default_debug" {
file "/var/log/debug.log" versions 7 size 5m;
severity dynamic;
print-time yes;
print-severity yes;
print-category yes;
};
category queries { "log_queries"; };
};
# プライマリ
// ZONE情報
// hint
zone "." IN {
type hint;
file "named.ca";
};
// 自ドメイン
zone "hogehoge.com" IN {
type master;
file "/var/named/hogehoge.com.zone";
};
# セカンダリ
// ゾーン情報
// hint
zone "." IN {
type hint;
file "named.ca";
};
// 自ドメイン
zone "hogehoge.com" IN {
type slave;
masters { プライマリのIP; };
file "/var/named/hogehoge.com.zone";
};
# rndc.keyのインクルード
// Keyインクルード
include "/etc/rndc.key";
controls {
inet 127.0.0.1 allow { localhost; } keys { rndc-key; };
};
## logのシンボリックリンク用フォルダ作成
mkdir /var/log/named
## conf、rndc.keyのコピー
cp /etc/named.conf /var/named/chroot/etc/named.conf
cp /etc/rndc.key /var/named/chroot/etc/rndc.key
cp /etc/named.iscdlv.key /var/named/chroot/etc/named.iscdlv.key
cp /etc/named.rfc1912.zones /var/named/chroot/etc/named.rfc1912.zones
cp /etc/named.root.key /var/named/chroot/etc/named.root.key
chown named:named /var/named/chroot/etc/named.conf
chown named:named /var/named/chroot/etc/rndc.key
chown named:named /var/named/chroot/etc/named.iscdlv.key
chown named:named /var/named/chroot/etc/named.rfc1912.zones
chown named:named /var/named/chroot/etc/named.root.key
## その他のコピー
cp /var/named/named.ca /var/named/chroot/var/named/named.ca
cp /var/named/named.empty /var/named/chroot/var/named/named.empty
cp /var/named/named.localhost /var/named/chroot/var/named/named.localhost
cp /var/named/named.loopback /var/named/chroot/var/named/named.loopback
chown named:named /var/named/chroot/var/named/*
## ディレクトリ作成
mkdir /var/named/chroot/var/named/data
mkdir /var/named/chroot/var/named/dynamic
chown named:named /var/named/chroot/var/named/data
chown named:named /var/named/chroot/var/named/dynamic
# セカンダリのみ
chown named:named /var/named/chroot/var/named
## namedのipv6無効化
echo 'OPTIONS="-4"' >> /etc/sysconfig/named
## ルートゾーン確認
dig . ns @198.41.0.4 > /var/named/chroot/var/named/named.ca
# 作成したconf,zoneのリンク作成
mv /etc/named.conf /etc/named.conf.bak
ln -s /var/named/chroot/etc/named.conf /etc/named.conf
# プライマリのみ
ln -s /var/named/chroot/var/named/hogehoge.com.zone /var/named/hogehoge.com.zone
# logのリンク作成
ln -s /var/named/chroot/var/log/debug.log /var/log/named/debug.log
ln -s /var/named/chroot/var/log/queries.log /var/log/named/queries.log
## 起動確認
named-checkconf
# namedの起動
chkconfig named on
service named start