CentOS 5.6 に bind97 (9.7.0-6.P2.el5) パッケージがあるので bind (9.3.6-16.P1.el5) から移行してみる。
- DNS サーバーの停止
-
/sbin/service named stop
-
- bind の削除と bind97 のインストール … bind97 用の caching-nameserver はないみたい。
-
yum remove bind bind-* caching-nameserver yum install bind97 bind97-chroot bind97-utils
- bind97 に caching-nameserver をインストールしようとしても依存関係の衝突が起きてインストールできない。
-
yum install caching-nameserver Error: bind97 conflicts with bind Error: bind97 conflicts with caching-nameserver Error: bind97-libs conflicts with bind-libs
-
- chroot へ設定ファイルをコピー … bind97-chroot パッケージがアホアホなのかな?
-
cp -a /etc/named.conf /var/named/chroot/etc/ cp -a /etc/named.iscdlv.key /var/named/chroot/etc/ cp -a /etc/named.rfc1912.zones /var/named/chroot/etc/ cp -a /var/named/named.ca /var/named/chroot/var/named/ cp -a /var/named/named.empty /var/named/chroot/var/named/ cp -a /var/named/named.localhost /var/named/chroot/var/named/ cp -a /var/named/named.loopback /var/named/chroot/var/named/
-
- ディレクトリ dynamic の作成 … やっぱり bind97-chroot パッケージがアホアホなのかな?
-
mkdir /var/named/chroot/var/named/dynamic chmod 750 /var/named/chroot/var/named/dynamic chown named:named /var/named/chroot/var/named/dynamic
- ディレクトリ dynamic なしでも起動するぽだけどエラーが出る。
-
May 11 01:33:45 allekto named[12341]: zone managed-keys.bind/IN/_meta: loading from master file dynamic/managed-keys.bind failed: file not found May 11 01:33:45 allekto named[12341]: dynamic/managed-keys.bind.jnl: create: file not found May 11 01:33:45 allekto named[12341]: zone managed-keys.bind/IN/_meta: sync_keyzone:dns_journal_open -> unexpected error
-
- 設定 named.conf をやり直し (Sample: named.conf-20110512110727.txt)
-
cp -a /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.conf.orig sed -i \ -e 's/^\tlisten-on port 53 { 127.0.0.1; };$/\tlisten-on port 53 { any; };/' \ -e '/^\tlisten-on-v6 port 53 { ::1; };$/s/^/\/\//' \ -e 's/^\tallow-query { localhost; };$/\tallow-query { localhost; 49.212.13.139; };/' \ -e '/^\trecursion yes;$/s/$/\n\tallow-recursion { localhost; 49.212.13.139; };\n\tallow-query-cache { localhost; 49.212.13.139; };\n\tminimal-responses yes;\n\tversion none;/' \ -e '/^include "\/etc\/named.rfc1912.zones";$/s/^/zone "pooh.gr.jp" {\n\ttype master;\n\tfile "pooh.gr.jp.db";\n\tallow-query { any; };\n\tallow-transfer { 203.0.113.0; };\n\tallow-update { none; };\n};\n\n/' \ /var/named/chroot/etc/named.conf
-
- ゾーン db の作成 (Sample: pooh.gr.jp.db-20110512110709.txt)
-
{ echo -e '$TTL\t300' echo -e '@\t\tSOA\tallekto.pooh.gr.jp. hostmaseter.pooh.gr.jp. (' echo -e '\t\t\t\t2011051101\t; Serial' echo -e '\t\t\t\t10800\t\t; Refresh' echo -e '\t\t\t\t3600\t\t; Retry' echo -e '\t\t\t\t604800\t\t; Expiry' echo -e '\t\t\t\t3600\t\t; Minimum' echo -e '\t\t\t\t)' echo -e ';' echo -e '\t\t\tNS\tallekto.pooh.gr.jp.' echo -e '\t\t\tNS\tmoon.sutaz.org.' echo -e '\t\t\tMX 10\tallekto.pooh.gr.jp.' echo -e '\t\t\tTXT\t"v=spf1 mx ~all"' echo -e ';' echo -e '\t\t\tA\t49.212.13.139' echo -e 'www\t\t\tCNAME\tallekto.pooh.gr.jp.' echo -e 'allekto\t\t\tA\t49.212.13.139' } > /var/named/chroot/var/named/pooh.gr.jp.db
-
- DNS サーバーの再開
-
/sbin/chkconfig named on /sbin/service named start
-
DNSSEC も実装しないとな…。