BINDはいわずと知れたDNSサーバ用ソフトである。今までずっと手を出さずにいたのだが、仕事の都合上どうしてもつかわなかければならなくなり、かじってみた。
ここではインストールと起動方法の紹介のみを行い、設定・使い方は別のページで紹介する。
/usr/local/srcなどにBIND9のソース・ファイルをコピーし、次のように展開する。
$ cd /usr/local/src
$ tar zxvf bind-9.2.3.tar.gz
展開してできたソース・ディレクトリに移動し、configureスクリプトを実行。
$ cd /usr/local/src/bind-9.2.3
$ ./configure
configureが無事終了したら、コンパイル、インストールを行う。
$ make
$ make install
BIND9ではrootユーザではなく、BIND起動用のユーザで起動することが推奨されているらしい。このユーザは実際にログインして利用することは無いので、次のように作成する。
$ useradd -d /var/named -s /bin/false named
BIND9では公開鍵と認証鍵を作成し、これを使って認証させることが推奨されているらしい(どこでどう使われるのかは調査中)。次のように作成しておく。
$ cd /var/named
$ /usr/local/sbin/dnssec-keygen -a hmac-md5 -r /dev/urandom -b 128 -n user bind上記を実行すると、/var/named内に2つのファイルが作成される。拡張子が.keyのファイルが公開鍵で、.privateが秘密鍵。
公開鍵(Kbind.〜.key)
bind. IN KEY 0 2 157 ここに書かれている文字列が公開鍵秘密鍵(Kbind.〜.private)
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key:ここに書かれている文字列が秘密鍵
次のコマンドを実行すると、rndc.confファイルが作成される。
$ /usr/local/sbin/rndc-confgen > /etc/rndc.conf /etc/rndc.confを編集し、作成した公開鍵を設定する。
$ vi /etc/rndc.conf /etc/rndc.confの内容
# Start of rndc.conf key "rndc-key" { algorithm hmac-md5; secret "ここに公開鍵の文字列をコピー"; }; options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf # Use with the following in named.conf, adjusting the allow list as needed: # key "rndc-key" { # algorithm hmac-md5; # secret "D2RKLhUKJRAJDBMppqkEug=="; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { "rndc-key"; }; # }; # End of named.conf
上記のとおりにrndc.confを作成すると、rndc.conf内にnamed.confの内容がコメントアウトされた状態で作成される。/etc/named.confを作成し、コメントアウト部分をコピーして貼り付け、コメントアウトをはずす。
貼り付け、編集後の/etc/named.confの内容
# Use with the following in named.conf, adjusting the allow list as needed: key "rndc-key" { algorithm hmac-md5; secret "ここに秘密鍵の文字列をコピー"; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; # End of named.confまた、/etc/named.confの最後の行に以下を追加する。
options { directory "/var/named/"; pid-file "/var/run/named/named.pid"; };
上記設定のとおりにPIDファイル(多分キャッシュファイル)用ディレクトリを作成する。
$ mkdir /var/run/named
$ chown named.named /var/run/named
BIND9の起動は次のとおり。
$ /usr/local/sbin/named -u named ps axで起動しているプロセスを確認し、/usr/local/sbin/named -u namedがあればOK。なければ/var/log/messageにエラーが出ているはずなので確認し、修正を行う。
BIND9の停止は次のとおり。
$ /usr/local/sbin/rndc stop ps axで起動しているプロセスを確認し、/usr/local/sbin/named -u namedが消えていればOK。
viで/etc/rc.d/rc.localを開き、次の行を追加する。
/usr/local/sbin/named -u named サーバを再起動し、動作を確認しよう。