いわマン備忘録

備忘録とちょっとした設定メモや小ネタをUPしたいと思っております。

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