ソースの入手
以下のURLから最新のソースを入手してください。
http://www.isc.org/
今回はbind-9.2.3.tar.gzをダウンロードしました。
ftp://ftp.isc.org/isc/bind9/9.2.3/bind-9.2.3.tar.gz
以下のURLから最新のソースを入手してください。
http://www.isc.org/
今回はbind-9.2.3.tar.gzをダウンロードしました。
ftp://ftp.isc.org/isc/bind9/9.2.3/bind-9.2.3.tar.gz
セキュリティ上root権限でBINDを動かすのは危険なのでnamedという専用ユーザを作成します。
私はuid,gid共に53で作成しましたが、利用の環境に合わせて作成してください。
もちろんroot権限で実行して下さい。
# groupadd -g 53 named # useradd -d /var/named -s /bin/false -u 53 -g 53 named
ここではbind-9.2.3.tar.gzをダウンロードしたものとして説明します。
$ tar xvfz bind-9.2.3.tar.gz $ cd bind-9.2.3 $ ./configure $ make $ su # make install # mkdir /var/run/named/ # chown named.named /var/run/named/
これで/usr/local以下にインストールされます。
BINDを動作させるには最低限以下のファイルが必要になります。
named.conf
namedの起動時に読み込まれる設定ファイル
デフォルトでは/etc以下に設置します。
localhost逆引きゾーンファイル
127.0.0.1というローカルホストの名前解決用のファイル
私の環境では/var/named/localhost.revとして保存しています。
localhost正引きゾーンファイル
loalhostとう正引きの名前解決用のファイル
特に必要ではないようですが念のため、/var/named/localhost.zoneとして保存しています。
ルートキャッシュファイル
設置のDNSで名前解決が出来なかった場合に、ルートサーバの名前とアドレス情報が入ったファイル
私の環境では/var/named/named.rootとして保存しています。
それでは、実際に設定をしましょう。
(1) named.conf
/etc/named.confとして以下のようにファイルを作成します。
options {
directory "/var/named";
pid-file "/var/run/named/named.pid";
allow-transfer {None;};
version "marronkun";
};
zone "." {
type hint;
file "named.root";
};
zone "localhost" {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "localhost.rev";
};
directory "/var/named" とはゾーンファイルが格納されるディレクトリを示しています。
つまりlocalhost.zoneは/var/named/localhost.zoneにあるということです。
allow-transfer {None;} とはゾーン転送の許可設定です。とくにZone転送を行うことはしませんで"None"とします。
version とはBINDのバージョンの応答メッセージです。デフォルトではバージョンを答えてしまうのでセキュリティ上あまり、好ましくはありません。適当な名前をつけておきましょう。
(2) localhost逆引きゾーンファイル
localhostの逆引きファイルを用意します。/var/named/localhost.revとして保存してください。
$TTL 86400
@ IN SOA localhost. root.localhost.(
2004032602 ; serial
10800 ; refresh
3600 ; retry
3600000 ; expire
86400 ; TTL
)
;
@ IN NS localhost.
1 IN PTR localhost.
(3) localhost正引きゾーンファイル
localhostの正引きファイルを用意します。/var/named/localhost.zoneとして保存してください。
$TTL 86400
@ IN SOA localhost. root.localhost.(
2004032602 ; serial
10800 ; refresh
3600 ; retry
3600000 ; expire
86400 ; TTL
)
;
@ IN NS localhost.
@ IN A 127.0.0.1
(3) ルートキャッシュファイル
digコマンド をつかってルートキャッシュファイルを作成します。/var/named/named.rootとして保存
/usr/local/bin/dig @e.root-servers.net . ns > /var/named/named.root
これでルートキャッシュが作成されるはずです。中身は以下のようになっています。
; <<>> DiG 9.2.3 <<>> @e.root-servers.net . ns ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25880 ;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 ;; QUESTION SECTION: ;. IN NS ;; ANSWER SECTION: . 518400 IN NS E.ROOT-SERVERS.NET. . 518400 IN NS D.ROOT-SERVERS.NET. . 518400 IN NS A.ROOT-SERVERS.NET. . 518400 IN NS H.ROOT-SERVERS.NET. . 518400 IN NS C.ROOT-SERVERS.NET. . 518400 IN NS G.ROOT-SERVERS.NET. . 518400 IN NS F.ROOT-SERVERS.NET. . 518400 IN NS B.ROOT-SERVERS.NET. . 518400 IN NS J.ROOT-SERVERS.NET. . 518400 IN NS K.ROOT-SERVERS.NET. . 518400 IN NS L.ROOT-SERVERS.NET. . 518400 IN NS M.ROOT-SERVERS.NET. . 518400 IN NS I.ROOT-SERVERS.NET. ;; ADDITIONAL SECTION: E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10 D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90 A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53 C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12 G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4 F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241 B.ROOT-SERVERS.NET. 3600000 IN A 192.228.79.201 J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30 K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129 L.ROOT-SERVERS.NET. 3600000 IN A 198.32.64.12 M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33 I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17 ;; Query time: 160 msec ;; SERVER: 192.203.230.10#53(e.root-servers.net) ;; WHEN: Sun Apr 4 14:46:26 2004 ;; MSG SIZE rcvd: 436
これで必要なファイルの用意はできました。
では早速起動させましょう。
起動方法は以下のコマンドでできます。
# /usr/local/sbin/named -u named
-uとは起動する起動するユーザ名指定しています。
psコマンド等でnamedが立ち上がっていれば動作に問題はありません。
また、必要に応じて以下のような起動スクリプトを作成すれば幸せになれます。
#!/bin/sh
#
# named This shell script takes care of starting and stopping
# named (BIND DNS server).
#
# chkconfig: 345 55 45
# description: named (BIND) is a Domain Name Server (DNS) \
# that is used to resolve host names to IP addresses.
# probe: true
# securlevel: 40
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -f /usr/local/sbin/named ] || exit 0
[ -f /etc/named.conf ] || exit 0
# See how we were called.
case "$1" in
start)
# Start daemons.
echo -n "Starting named: "
daemon /usr/local/sbin/named -u named
echo
touch /var/lock/subsys/named
;;
stop)
# Stop daemons.
echo -n "Shutting down named: "
killproc named
rm -f /var/lock/subsys/named
echo
;;
status)
## "status" option is not suppoted yet in bind-9.1.3.
#if [ -f /etc/rndc.conf ] ; then
# /usr/sbin/rndc -s localhost status || status named
#else
# status named
#fi
status named
exit $?
;;
restart)
#/usr/sbin/rndc restart ## current rndc doesn't support "restart".
$0 stop
$0 start
exit $?
;;
reload)
/usr/sbin/rndc reload > /dev/null 2>&1 || killall -HUP named
exit $?
;;
probe)
# named knows how to reload intelligently; we don't want linuxconf
# to offer to restart every time
/usr/sbin/rndc reload >/dev/null 2>&1 || echo start
exit 0
;;
*)
echo "Usage: named {start|stop|status|restart}"
exit 1
esac
exit 0
これでBIND9の構築は完了です。
![]() |
Bind, Torture, Kill Mindbase / ¥ 2,921 |
| Ties That Bind: The Best Christian Country Word -- Word -- / |
|
| Ties That Bind: Country Love Songs K-Tel / |