画像やリンクが無効になっている可能性もあるのでご了承下さい。
とりあえずサーバーとなる PC の組み立てが完了して、動作チェック OK!
でもって Linux のディストリである CentOS のインスコ完了。
さて、これからどんどん Build していくわけなんだけども先ずは基幹からという感じで
DNS サーバーから build してみましたわ。
ラストは kernel が warning エラーを吐いて完了。このエラーなんとかならないか
現在苦戦中である。
これ orz
kernel: process `named’ is using obsolete setsockopt SO_BSDCOMPAT
カーネルさんですか…。
ソースの入手から稼働までの一連をまとめておきますた。
みたい方は続きをよんでくださいな~~~。助言等ありましたらコメントよろしくです。
* BIND 9.3.2 installation.
source を適当なところへ DL する。
$ pwd /var/tmp/source $ tar xzvf bind-9.3.2.tar.gz $ cd ./bind-9.3.2 $ configure --prefix=/usr/local --exec-prefix=/usr/local \ --enable-threads \ --disable-ipv6 (SMP kernel でなければ threads オプションは付けない。)
$ make depend $ make $ su # make install # exit # su -
BIND 用 user 作成
# useradd -d /dev/null -s /sbin/nologin -c ‘BIND’ -u 500 named
ZONE, ROOT ファイル設置ディレクトリ作成
# mkdir /var/named/
# cd /var/named
ZONE と LOG ファイルを保存するディレクトリ作成。
# mkdir lan/ wan/ log/ # wget ftp://rs.internic.net/domain/named.root # chown -R named:named /var/named/ # /usr/local/sbin/rndc-confgen -a -b 256 -k rndc.key # chown named:named /usr/local/etc/rndc.key # cat /usr/local/etc/rndc.key (標準出力に出力された HMAC-MD5 キーを rndc.conf と同じにする事)
# vi /etc/rndc.conf -- 設定例 -- key "rndc.key" { algorithm hmac-md5; secret "Here is HMAC-MD5"; }; options { default-key "rndc.key"; default-server 127.0.0.1; default-port 953; }; -- 設定例 ここまで-- # vi /usr/local/etc/named.conf -- 設定例 ここから-- // DNS Configure acl localnet { 192.168.1.0/24; // Private Network Zone 127.0.0.1; // Localhost Zone }; options { directory "/var/named"; // Saved DB Files pid-file "/var/named/named.pid";// Set PID File Location allow-transfer { localnet; }; // Allow Transfer Networks allow-query { localnet; }; // Allow Query Networks version "secret"; }; // Logging logging { channel xfer-out-log { file "/var/named/log/named-out.log" versions 5 size 1m; severity debug; print-time yes; print-category yes; }; channel xfer-in-log { file "/var/named/log/named-in.log" versions 5 size 1m; severity debug; print-time yes; print-category yes; }; channel default-log { file "/var/named/log/named.log" versions 5 size 1m; severity debug; print-time yes; print-category yes; }; channel query { file "/var/named/log/query.log" versions 5 size 1m; severity info; print-time yes; }; category xfer-in { xfer-in-log; }; category xfer-out { xfer-out-log; }; category queries { query; }; category default { default-log; }; }; // rndc include "/usr/local/etc/rndc.key" controls { inet 127.0.0.1 port 953 allow { localhost; } keys { "rndc-key"; }; }; // Root Zone zone "." IN { type hint; file "named.ca"; }; // Loopback Rev Zone zone "0.0.127.in-addr.arpa" IN { type master; file "lan/0.0.127.in-addr.arpa.db"; }; // Local Network Zone zone "bp7.org" IN { type master; file "lan/bp7.org.db"; }; // Local Network Rev Zone zone "1.168.192.in-addr.arpa" IN { type master; file "lan/1.168.192.in-addr.arpa.db"; }; -- 設定例 ここまで--
指定した各種 ZONE ファイルは各自で記述する事。
# named-checkconfig # named-checkzone bp7.org lan/bp7.org.db
標準エラーにエラーが無ければ OK。
resolver へ追加設定
# printf “nameserver 0.0.0.0\n” >> /etc/resolv.conf
resolver からの問い合わせ順変更
# printf “order bind,hosts” > /etc/host.conf
# /usr/local/sbin/named -u named
(ほんとは init 作ってやってるけど。)
# dig @localhost example.com. in any
権威ある応答が得られるかテスト。対象ホスト適当な外部の物。
現在 SO_BSDCOMPAT と名の付く kernel からの warning エラーが出て
泣いているところ orz
以上で完了。たぶん。
** 2006/12/05 9:59 追記
参考記事
** 2006/12/06 19:18 修正
named の init 作成
コメント