IT pass HikiWiki - [Memo2008][EPA]tako作業メモ(納多)(080710) Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc}}
((<[Memo2008][EPA]tako作業メモ(納多)(080417)>)) からの続き.
= Bind の設定
== アップデート
本作業中,
((<Bind にセキュリティホールが報告された|URL:http://www.jpcert.or.jp/at/2008/at080013.txt>))
ので, アップデートを行う.
$ sudo -s
# cd /usr/local/src
# wget http://ftp.isc.org/isc/bind9/9.4.2-P1/bind-9.4.2-P1.tar.gz
# tar zxfv bind-9.4.2-P1.tar.gz
# cd bind-9.4.2-P1
念のため過去のデータのバックアップをしておく.
# cp -R /usr/local/bind /usr/local/bind-20080710
# ./configure --prefix=/usr/local/bind
configure の最後で以下のような警告が出現した.
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
WARNING WARNING
WARNING Your OpenSSL crypto library may be vulnerable to WARNING
WARNING one or more of the the following known security WARNING
WARNING flaws: WARNING
WARNING WARNING
WARNING CAN-2002-0659, CAN-2006-4339, CVE-2006-2937 and WARNING
WARNING CVE-2006-2940. WARNING
WARNING WARNING
WARNING It is recommended that you upgrade to OpenSSL WARNING
WARNING version 0.9.8d/0.9.7l (or greater). WARNING
WARNING WARNING
WARNING You can disable this warning by specifying: WARNING
WARNING WARNING
WARNING --disable-openssl-version-check WARNING
WARNING WARNING
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
Bind は OpenSSL のバージョン番号のみをチェックしているためこのような警告を出すが, Debian ではバージョン番号が古いままパッチを当てているためこのような警告が出る.
以下のようにして再実行.
# ./configure --prefix=/usr/local/bind --disable-openssl-version-check
# make
# make install
設定中のため bind は起動していない. よって再起動は不要.
== 途中から作業やり直し
前回 (080417 頃) から時間が開いてしまったため,
* ika のゾーンファイルが更新された
* ahs.scitec.kobe-u.ac.jp を担当していた tide が引退した
* 以前は tako をプライマリ, ika をセカンダリとして
運用するように設定していたが, 研究室ミーティングにより
ika はセカンダリにしないことにした.
* 納多が作業内容を忘れた
など, 環境がかなり変わってしまった.
再度設定したほうが混乱が少ないと判断し, 途中から設定をやり直すことに決めた.
== ゾーンファイルの用意
ika から namedb を移植する.
ika にログインする.
ika$ ssh -l noda ika
ika$ cd /usr/local/bind/etc
ika$ sudo -s
ika# tar zcfv namedb.tar.gz namedb/
tako に戻る.
# cd /usr/local/bind/etc
念のため, 古い namedb は別名として保存しておく.
# mv namedb namedb-20080710
ika:/usr/local/bind/etc/namedb.tar.gz を
/usr/local/bind/etc/ika_namedb.tar.gz として保存する.
# tar zxfv ika_namedb.tar.gz
=== 2008 年度の DNS の設定
念のため DNS の設定について示す.
* 過去 (2007 年度) の運用方針
* ahs は tide が担当, epa は ika が担当, 逆引きは ika が担当.
* 今回 (2008 年度) の運用方針
* ahs, aoe, epa は tako が担当, 逆引きも tako が担当.
* セカンダリ DNS は置かない
上記の場合に変更が行われる設定を列挙する.
特に明記しない限り, /usr/local/bind/etc/namedb/ 内のファイルを指す.
* epa.zone の変更内容
* MX レコード
* 注意
* tako の qmail が設定されていないうちは MX レコードは変更しないほうがいい
* 変更前
* IN MX 10 ika.epa.scitec.kobe-u.ac.jp.
* 変更後
* IN MX 10 tako.epa.scitec.kobe-u.ac.jp.
* CNAME レコード
* 変更前
* www IN CNAME ika.epa.scitec.kobe-u.ac.jp.
* 変更後
* www IN CNAME tako.epa.scitec.kobe-u.ac.jp.
* A レコード
* 変更前
* ns IN A 133.30.109.22
* mail IN A 133.30.109.22
* @ IN A 133.30.109.22
* 変更後
* ns IN A 133.30.109.21
* mail IN A 133.30.109.21
* @ IN A 133.30.109.21
* ahs.rev, ahs.zone, named.conf などについては変更の必要なし
* ika:/usr/local/bind/etc/namedb/epa.zone の変更内容
* tako の epa.zone と同様
* gradis.scitec.kobe-u.ac.jp:/etc/named.conf
* epa.scitec.kobe-u.ac.jp. ゾーンの master の IP を ika の IP(133.30.109.22) から tako の IP (133.30.109.21) に変更.
* gradis.scitec.kobe-u.ac.jp:/var/named/scitec.zone
* epa.scitec.kobe-u.ac.jp. ゾーンのネームサーバを ika から tako に変更.
* 変更前
* ns.epa.scitec.kobe-u.ac.jp. IN A 133.30.109.22
* 変更後
* ns.epa.scitec.kobe-u.ac.jp. IN A 133.30.109.21
* その他
* 情報実験機の IP の情報を書き換えなくてはならないのでは?
* 最近新しく登録された固定 IP 群を追記する必要がある
* aoe.scitec.kobe-u.ac.jp ドメインの MX レコードの設定が gradis
に直接書かれていることに注意 (変更の必要はないが)
* ahs.rev は epa.rev に名前変更
* ika, tako の設定入れ替え時はキャッシュの生存時間を短くすること
=== namedb の変更
/usr/local/bind/etc/namedb/ 内のファイルに変更を加える.
==== epa.zone
epa.zone 内の項目について,
それぞれ, 上の行を下の行に書き換えた.
IN MX 10 ika.epa.scitec.kobe-u.ac.jp.
IN MX 10 tako.epa.scitec.kobe-u.ac.jp.
www IN CNAME ika.epa.scitec.kobe-u.ac.jp.
www IN CNAME tako.epa.scitec.kobe-u.ac.jp.
ns IN A 133.30.109.22
ns IN A 133.30.109.21
mail IN A 133.30.109.22
mail IN A 133.30.109.21
@ IN A 133.30.109.22
@ IN A 133.30.109.21
==== ahs.zone
ahs.zone 内の項目について,
それぞれ, 上の行を下の行に書き換えた.
IN MX 10 ika.epa.scitec.kobe-u.ac.jp.
IN MX 10 tako.epa.scitec.kobe-u.ac.jp.
ns IN A 133.30.109.22
ns IN A 133.30.109.21
mail IN A 133.30.109.22
mail IN A 133.30.109.21
@ IN A 133.30.109.22
@ IN A 133.30.109.21
== 起動テスト
以下のコマンドを実行すると, bind ユーザで, /usr/local/bind/etc/namedb/named.conf を config_file
として読み込む.
ちなみに -c オプションを指定しない場合は /etc/namedb/named.conf が読み込まれる
# /usr/local/bind/sbin/named -u bind \
-c /usr/local/bind/etc/namedb/named.conf
何も表示されなかった.
/var/log/syslog を確認.
関係ありそうな行を以下に示す.
Jul 10 15:28:21 tako named[15182]: starting BIND 9.4.2-P1 -u bind -c /usr/local/bind/etc/namedb/named.conf
Jul 10 15:28:21 tako named[15182]: loading configuration from '/usr/local/bind/etc/namedb/named.conf'
Jul 10 15:28:21 tako named[15182]: /usr/local/bind/etc/namedb/named.conf:139: open: /usr/local/bind/etc/rndc.key: file not found
Jul 10 15:28:21 tako named[15182]: loading configuration: file not found
Jul 10 15:28:21 tako named[15182]: exiting (due to fatal error)
named.conf を見ると, 最後の行に
include "/usr/local/bind/etc/rndc.key";
とあるが, 存在しないので読み込めず, エラーが出て起動できなかったようだ.
一旦置いておき, 他の設定に進む.
== 上流 DNS サーバの設定
上流 DNS サーバの設定については, 大半の作業が
2007 年の ika 構築時に行われており, 新たに行うことは少ない.
念のため, 確認を行う.
=== epa.scitec.kobe-u.ac.jp ゾーンなどのエントリ確認
scitec.kobe-u.ac.jp を担当している
gradis.scitec.kobe-u.ac.jp の /etc/named.conf に
epa.scitec.kobe-u.ac.jp ゾーンのエントリがあることを確認する.
なお, 以下は古い設定 (ika を DNS サーバとしている) であるが,
本運用開始時には tako を DNS サーバとするよう書き換える必要がある.
gradis.scitec.kobe-u.ac.jp:/etc/named.conf 内に以下の記述を確認した.
zone "ahs.scitec.kobe-u.ac.jp" {
type slave;
file "slave/ahs.zone";
masters {
133.30.109.22;
};
allow-query { any; };
};
zone "epa.scitec.kobe-u.ac.jp" {
type slave;
file "slave/epa.zone";
masters {
133.30.109.22;
};
allow-query { any; };
};
gradis.scitec.kobe-u.ac.jp:/var/named/scitec.zone 内に
以下の記述を確認.
;; for 133.30.109.22 domain
; ahs
ahs.scitec.kobe-u.ac.jp. IN NS ika.epa.scitec.kobe-u.ac.jp.
ika.epa.scitec.kobe-u.ac.jp. IN A 133.30.109.22
ahs.scitec.kobe-u.ac.jp. IN NS gradis.scitec.kobe-u.ac.jp.
; epa
epa.scitec.kobe-u.ac.jp. IN NS ns.epa.scitec.kobe-u.ac.jp.
ns.epa.scitec.kobe-u.ac.jp. IN A 133.30.109.22
epa.scitec.kobe-u.ac.jp. IN NS gradis.scitec.kobe-u.ac.jp.
; aoe
aoe.scitec.kobe-u.ac.jp. IN A 133.30.109.22
; cps
cps.scitec.kobe-u.ac.jp. IN A 133.30.109.22
gradis 側の逆引きゾーンファイルを見て
0/25 の権限を ns.epa.scitec.kobe-u.ac.jp にあることを確認.
gradis:/etc/named.conf 内で "109.30.133" で検索すると, 以下の記述を見つけた.
zone "109.30.133.in-addr.arpa" {
type master;
file "master/ahs/ahs.rev";
allow-query { any; };
};
gradis 側の逆引きゾーンファイルは /var/named/master/ahs/ahs.rev
にあった.
/var/named/master/ahs/ahs.rev に以下の記述を確認.
0/25 3600 IN NS ns.epa.scitec.kobe-u.ac.jp.
== ゾーンファイルの確認
tako:/usr/local/bind/etc/namedb/ahs.rev について以下を確認した.
* 逆引きのゾーンファイル ahs.rev が epa の名前を返すことを確認
すべての PTR レコードが "xxxx.epa.scitec.kobe-u.ac.jp" というリソース
を持っていることを確認した.
* 逆引きの権限は ns.epa.scitec.kobe-u.ac.jp が持っていることを確認
以下の行を確認.
@ IN NS ns.epa.scitec.kobe-u.ac.jp.
== ファイルフォーマットチェック
root@tako:/usr/local/bind/etc/namedb# named-checkconf named.conf kobe-
named.conf:139: open: /usr/local/bind/etc/rndc.key: file not found
まず, rndc.key を作らなくてはならない.
root@tako:/usr/local/bind/etc/namedb# named-checkzone ahs.scitec.kobe-u.ac.jp ahs.zone
zone ahs.scitec.kobe-u.ac.jp/IN: loaded serial 2008052202
OK
root@tako:/usr/local/bind/etc/namedb# named-checkzone epa.scitec.kobe-u.ac.jp epa.zone
zone epa.scitec.kobe-u.ac.jp/IN: loaded serial 2008062502
OK
== rndc の設定
rndcコマンドは zone のリロード, 再起動, コンフィグファイルの読み直しなどを行うコマンドである.
まず, rndc-confgenを実行することで, 必要な設定ファイルの「もと」を生成する.
root@tako:/usr/local/bind/etc/namedb# rndc-confgen
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "SZN/mCIMkFJmFJ/98jlcMQ==";
};
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 "SZN/mCIMkFJmFJ/98jlcMQ==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
secret "SZN/mCIMkFJmFJ/98jlcMQ=="; は認証に用いる共通鍵(パスワード)を表す. 従って, ここに挙げているのは例であって, 実際の設定とは異なる.
rndc-confgen を試しに何度か実行してみたが, 実行するたびに鍵の内容が変わった.
rndc-confgen の出力を /usr/local/bind/etc/rndc.conf として保存する.
# rndc-confgen > /usr/local/bind/etc/rndc.conf
生成された rndc.conf のコメントアウトされている箇所のうち,
controls 以下を named.conf の末尾に追記する
(ika から持ってきたので, 既に追記されていた).
また, 次の一行を named.conf に追記する (これも既に追記されていた).
include "/usr/local/bind/etc/rndc.key";
rndc.conf コメントアウトされている箇所のうち,
key で始まる4行を /usr/local/bind/etc/rndc.key として保存する.
念のため, rndc.conf のコメントアウトされている箇所を削除する.
パーミッションを以下のように設定する.
root@ika:/usr/local/bind/etc# chgrp -R epaadmin .
epaadmin グループを作っていないので設定できない.
とりあえず root を使っているときにデフォルトの staff にしておく.
gate の設定待ち.
root@ika:/usr/local/bind/etc# chgrp -R staff . # とりあえず
root@ika:/usr/local/bind/etc# chown bind rndc.key
root@ika:/usr/local/bind/etc# chmod 600 rndc.key
root@ika:/usr/local/bind/etc# chmod 640 rndc.conf
root@ika:/usr/local/bind/etc# chown bind namedb/named.conf
root@ika:/usr/local/bind/etc# chmod 640 namedb/named.conf
== rndcのテスト
epaadmin グループに所属するユーザが
rndc コマンドによって named プロセスを制御できるか確かめる.
root@tako:/usr/local/bind/etc# rndc reload
rndc: connect failed: 127.0.0.1#953: connection refused
bind が起動していないことを忘れていた.
== 起動テスト (再)
# /usr/local/bind/sbin/named -u bind \
-c /usr/local/bind/etc/namedb/named.conf
/var/log/syslog を見て, 起動したことを確認.
ps(1) コマンドなどでも走っていることを確認.
== ファイルフォーマットチェック (再)
root@tako:/usr/local/bind/etc# named-checkconf /usr/local/bind/etc/namedb/named.conf
何も出力されないので OK.
== rndc のテスト(再)
root@tako:/usr/local/bind/etc# rndc reload
server reload successful
成功.
epaadmin グループが設定されていれば,
epaadmin グループに属しているユーザなら
上記のコマンドを実行可能である.
== 起動スクリプトの用意
サーバの起動時に自動的に起動させるため, bind の起動スクリプト
を用意する.
Debian の bind パッケージに含まれる/etc/init.d/bind を元に
起動スクリプトを bind 用に多少書き換えたものが
((<bind|URL:../epa/bind/bind>))
から入手できる. このファイルを /etc/init.d/bind にコピーし,
以下のようにパーミッションを設定する.
# cd /etc/init.d
# wget http://epa.scitec.kobe-u.ac.jp/~itpass/epa/bind/bind
# chown root:root /etc/init.d/bind
# chmod 755 /etc/init.d/bind
なお, この実行ファイル bind には冒頭部に named や rndc,
named.conf ファイルのパスを設定する箇所がある.
インストールの場所が変更される場合にはこれも変更すること.
念のため, bind スクリプトの start, stop, restart の動作確認を行う.
ランレベルごとに bind の動作を設定する.
# update-rc.d bind defaults
Adding system startup for /etc/init.d/bind ...
/etc/rc0.d/K20bind -> ../init.d/bind
/etc/rc1.d/K20bind -> ../init.d/bind
/etc/rc6.d/K20bind -> ../init.d/bind
/etc/rc2.d/S20bind -> ../init.d/bind
/etc/rc3.d/S20bind -> ../init.d/bind
/etc/rc4.d/S20bind -> ../init.d/bind
/etc/rc5.d/S20bind -> ../init.d/bind
サーバを再起動し, 起動時に bind が起動することを確認した.
((<[Memo2008][EPA]tako作業メモ(納多)(080714)>)) へ続く.
((<[Memo2008][EPA]tako作業メモ(納多)(080417)>)) からの続き.
= Bind の設定
== アップデート
本作業中,
((<Bind にセキュリティホールが報告された|URL:http://www.jpcert.or.jp/at/2008/at080013.txt>))
ので, アップデートを行う.
$ sudo -s
# cd /usr/local/src
# wget http://ftp.isc.org/isc/bind9/9.4.2-P1/bind-9.4.2-P1.tar.gz
# tar zxfv bind-9.4.2-P1.tar.gz
# cd bind-9.4.2-P1
念のため過去のデータのバックアップをしておく.
# cp -R /usr/local/bind /usr/local/bind-20080710
# ./configure --prefix=/usr/local/bind
configure の最後で以下のような警告が出現した.
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
WARNING WARNING
WARNING Your OpenSSL crypto library may be vulnerable to WARNING
WARNING one or more of the the following known security WARNING
WARNING flaws: WARNING
WARNING WARNING
WARNING CAN-2002-0659, CAN-2006-4339, CVE-2006-2937 and WARNING
WARNING CVE-2006-2940. WARNING
WARNING WARNING
WARNING It is recommended that you upgrade to OpenSSL WARNING
WARNING version 0.9.8d/0.9.7l (or greater). WARNING
WARNING WARNING
WARNING You can disable this warning by specifying: WARNING
WARNING WARNING
WARNING --disable-openssl-version-check WARNING
WARNING WARNING
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
Bind は OpenSSL のバージョン番号のみをチェックしているためこのような警告を出すが, Debian ではバージョン番号が古いままパッチを当てているためこのような警告が出る.
以下のようにして再実行.
# ./configure --prefix=/usr/local/bind --disable-openssl-version-check
# make
# make install
設定中のため bind は起動していない. よって再起動は不要.
== 途中から作業やり直し
前回 (080417 頃) から時間が開いてしまったため,
* ika のゾーンファイルが更新された
* ahs.scitec.kobe-u.ac.jp を担当していた tide が引退した
* 以前は tako をプライマリ, ika をセカンダリとして
運用するように設定していたが, 研究室ミーティングにより
ika はセカンダリにしないことにした.
* 納多が作業内容を忘れた
など, 環境がかなり変わってしまった.
再度設定したほうが混乱が少ないと判断し, 途中から設定をやり直すことに決めた.
== ゾーンファイルの用意
ika から namedb を移植する.
ika にログインする.
ika$ ssh -l noda ika
ika$ cd /usr/local/bind/etc
ika$ sudo -s
ika# tar zcfv namedb.tar.gz namedb/
tako に戻る.
# cd /usr/local/bind/etc
念のため, 古い namedb は別名として保存しておく.
# mv namedb namedb-20080710
ika:/usr/local/bind/etc/namedb.tar.gz を
/usr/local/bind/etc/ika_namedb.tar.gz として保存する.
# tar zxfv ika_namedb.tar.gz
=== 2008 年度の DNS の設定
念のため DNS の設定について示す.
* 過去 (2007 年度) の運用方針
* ahs は tide が担当, epa は ika が担当, 逆引きは ika が担当.
* 今回 (2008 年度) の運用方針
* ahs, aoe, epa は tako が担当, 逆引きも tako が担当.
* セカンダリ DNS は置かない
上記の場合に変更が行われる設定を列挙する.
特に明記しない限り, /usr/local/bind/etc/namedb/ 内のファイルを指す.
* epa.zone の変更内容
* MX レコード
* 注意
* tako の qmail が設定されていないうちは MX レコードは変更しないほうがいい
* 変更前
* IN MX 10 ika.epa.scitec.kobe-u.ac.jp.
* 変更後
* IN MX 10 tako.epa.scitec.kobe-u.ac.jp.
* CNAME レコード
* 変更前
* www IN CNAME ika.epa.scitec.kobe-u.ac.jp.
* 変更後
* www IN CNAME tako.epa.scitec.kobe-u.ac.jp.
* A レコード
* 変更前
* ns IN A 133.30.109.22
* mail IN A 133.30.109.22
* @ IN A 133.30.109.22
* 変更後
* ns IN A 133.30.109.21
* mail IN A 133.30.109.21
* @ IN A 133.30.109.21
* ahs.rev, ahs.zone, named.conf などについては変更の必要なし
* ika:/usr/local/bind/etc/namedb/epa.zone の変更内容
* tako の epa.zone と同様
* gradis.scitec.kobe-u.ac.jp:/etc/named.conf
* epa.scitec.kobe-u.ac.jp. ゾーンの master の IP を ika の IP(133.30.109.22) から tako の IP (133.30.109.21) に変更.
* gradis.scitec.kobe-u.ac.jp:/var/named/scitec.zone
* epa.scitec.kobe-u.ac.jp. ゾーンのネームサーバを ika から tako に変更.
* 変更前
* ns.epa.scitec.kobe-u.ac.jp. IN A 133.30.109.22
* 変更後
* ns.epa.scitec.kobe-u.ac.jp. IN A 133.30.109.21
* その他
* 情報実験機の IP の情報を書き換えなくてはならないのでは?
* 最近新しく登録された固定 IP 群を追記する必要がある
* aoe.scitec.kobe-u.ac.jp ドメインの MX レコードの設定が gradis
に直接書かれていることに注意 (変更の必要はないが)
* ahs.rev は epa.rev に名前変更
* ika, tako の設定入れ替え時はキャッシュの生存時間を短くすること
=== namedb の変更
/usr/local/bind/etc/namedb/ 内のファイルに変更を加える.
==== epa.zone
epa.zone 内の項目について,
それぞれ, 上の行を下の行に書き換えた.
IN MX 10 ika.epa.scitec.kobe-u.ac.jp.
IN MX 10 tako.epa.scitec.kobe-u.ac.jp.
www IN CNAME ika.epa.scitec.kobe-u.ac.jp.
www IN CNAME tako.epa.scitec.kobe-u.ac.jp.
ns IN A 133.30.109.22
ns IN A 133.30.109.21
mail IN A 133.30.109.22
mail IN A 133.30.109.21
@ IN A 133.30.109.22
@ IN A 133.30.109.21
==== ahs.zone
ahs.zone 内の項目について,
それぞれ, 上の行を下の行に書き換えた.
IN MX 10 ika.epa.scitec.kobe-u.ac.jp.
IN MX 10 tako.epa.scitec.kobe-u.ac.jp.
ns IN A 133.30.109.22
ns IN A 133.30.109.21
mail IN A 133.30.109.22
mail IN A 133.30.109.21
@ IN A 133.30.109.22
@ IN A 133.30.109.21
== 起動テスト
以下のコマンドを実行すると, bind ユーザで, /usr/local/bind/etc/namedb/named.conf を config_file
として読み込む.
ちなみに -c オプションを指定しない場合は /etc/namedb/named.conf が読み込まれる
# /usr/local/bind/sbin/named -u bind \
-c /usr/local/bind/etc/namedb/named.conf
何も表示されなかった.
/var/log/syslog を確認.
関係ありそうな行を以下に示す.
Jul 10 15:28:21 tako named[15182]: starting BIND 9.4.2-P1 -u bind -c /usr/local/bind/etc/namedb/named.conf
Jul 10 15:28:21 tako named[15182]: loading configuration from '/usr/local/bind/etc/namedb/named.conf'
Jul 10 15:28:21 tako named[15182]: /usr/local/bind/etc/namedb/named.conf:139: open: /usr/local/bind/etc/rndc.key: file not found
Jul 10 15:28:21 tako named[15182]: loading configuration: file not found
Jul 10 15:28:21 tako named[15182]: exiting (due to fatal error)
named.conf を見ると, 最後の行に
include "/usr/local/bind/etc/rndc.key";
とあるが, 存在しないので読み込めず, エラーが出て起動できなかったようだ.
一旦置いておき, 他の設定に進む.
== 上流 DNS サーバの設定
上流 DNS サーバの設定については, 大半の作業が
2007 年の ika 構築時に行われており, 新たに行うことは少ない.
念のため, 確認を行う.
=== epa.scitec.kobe-u.ac.jp ゾーンなどのエントリ確認
scitec.kobe-u.ac.jp を担当している
gradis.scitec.kobe-u.ac.jp の /etc/named.conf に
epa.scitec.kobe-u.ac.jp ゾーンのエントリがあることを確認する.
なお, 以下は古い設定 (ika を DNS サーバとしている) であるが,
本運用開始時には tako を DNS サーバとするよう書き換える必要がある.
gradis.scitec.kobe-u.ac.jp:/etc/named.conf 内に以下の記述を確認した.
zone "ahs.scitec.kobe-u.ac.jp" {
type slave;
file "slave/ahs.zone";
masters {
133.30.109.22;
};
allow-query { any; };
};
zone "epa.scitec.kobe-u.ac.jp" {
type slave;
file "slave/epa.zone";
masters {
133.30.109.22;
};
allow-query { any; };
};
gradis.scitec.kobe-u.ac.jp:/var/named/scitec.zone 内に
以下の記述を確認.
;; for 133.30.109.22 domain
; ahs
ahs.scitec.kobe-u.ac.jp. IN NS ika.epa.scitec.kobe-u.ac.jp.
ika.epa.scitec.kobe-u.ac.jp. IN A 133.30.109.22
ahs.scitec.kobe-u.ac.jp. IN NS gradis.scitec.kobe-u.ac.jp.
; epa
epa.scitec.kobe-u.ac.jp. IN NS ns.epa.scitec.kobe-u.ac.jp.
ns.epa.scitec.kobe-u.ac.jp. IN A 133.30.109.22
epa.scitec.kobe-u.ac.jp. IN NS gradis.scitec.kobe-u.ac.jp.
; aoe
aoe.scitec.kobe-u.ac.jp. IN A 133.30.109.22
; cps
cps.scitec.kobe-u.ac.jp. IN A 133.30.109.22
gradis 側の逆引きゾーンファイルを見て
0/25 の権限を ns.epa.scitec.kobe-u.ac.jp にあることを確認.
gradis:/etc/named.conf 内で "109.30.133" で検索すると, 以下の記述を見つけた.
zone "109.30.133.in-addr.arpa" {
type master;
file "master/ahs/ahs.rev";
allow-query { any; };
};
gradis 側の逆引きゾーンファイルは /var/named/master/ahs/ahs.rev
にあった.
/var/named/master/ahs/ahs.rev に以下の記述を確認.
0/25 3600 IN NS ns.epa.scitec.kobe-u.ac.jp.
== ゾーンファイルの確認
tako:/usr/local/bind/etc/namedb/ahs.rev について以下を確認した.
* 逆引きのゾーンファイル ahs.rev が epa の名前を返すことを確認
すべての PTR レコードが "xxxx.epa.scitec.kobe-u.ac.jp" というリソース
を持っていることを確認した.
* 逆引きの権限は ns.epa.scitec.kobe-u.ac.jp が持っていることを確認
以下の行を確認.
@ IN NS ns.epa.scitec.kobe-u.ac.jp.
== ファイルフォーマットチェック
root@tako:/usr/local/bind/etc/namedb# named-checkconf named.conf kobe-
named.conf:139: open: /usr/local/bind/etc/rndc.key: file not found
まず, rndc.key を作らなくてはならない.
root@tako:/usr/local/bind/etc/namedb# named-checkzone ahs.scitec.kobe-u.ac.jp ahs.zone
zone ahs.scitec.kobe-u.ac.jp/IN: loaded serial 2008052202
OK
root@tako:/usr/local/bind/etc/namedb# named-checkzone epa.scitec.kobe-u.ac.jp epa.zone
zone epa.scitec.kobe-u.ac.jp/IN: loaded serial 2008062502
OK
== rndc の設定
rndcコマンドは zone のリロード, 再起動, コンフィグファイルの読み直しなどを行うコマンドである.
まず, rndc-confgenを実行することで, 必要な設定ファイルの「もと」を生成する.
root@tako:/usr/local/bind/etc/namedb# rndc-confgen
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "SZN/mCIMkFJmFJ/98jlcMQ==";
};
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 "SZN/mCIMkFJmFJ/98jlcMQ==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
secret "SZN/mCIMkFJmFJ/98jlcMQ=="; は認証に用いる共通鍵(パスワード)を表す. 従って, ここに挙げているのは例であって, 実際の設定とは異なる.
rndc-confgen を試しに何度か実行してみたが, 実行するたびに鍵の内容が変わった.
rndc-confgen の出力を /usr/local/bind/etc/rndc.conf として保存する.
# rndc-confgen > /usr/local/bind/etc/rndc.conf
生成された rndc.conf のコメントアウトされている箇所のうち,
controls 以下を named.conf の末尾に追記する
(ika から持ってきたので, 既に追記されていた).
また, 次の一行を named.conf に追記する (これも既に追記されていた).
include "/usr/local/bind/etc/rndc.key";
rndc.conf コメントアウトされている箇所のうち,
key で始まる4行を /usr/local/bind/etc/rndc.key として保存する.
念のため, rndc.conf のコメントアウトされている箇所を削除する.
パーミッションを以下のように設定する.
root@ika:/usr/local/bind/etc# chgrp -R epaadmin .
epaadmin グループを作っていないので設定できない.
とりあえず root を使っているときにデフォルトの staff にしておく.
gate の設定待ち.
root@ika:/usr/local/bind/etc# chgrp -R staff . # とりあえず
root@ika:/usr/local/bind/etc# chown bind rndc.key
root@ika:/usr/local/bind/etc# chmod 600 rndc.key
root@ika:/usr/local/bind/etc# chmod 640 rndc.conf
root@ika:/usr/local/bind/etc# chown bind namedb/named.conf
root@ika:/usr/local/bind/etc# chmod 640 namedb/named.conf
== rndcのテスト
epaadmin グループに所属するユーザが
rndc コマンドによって named プロセスを制御できるか確かめる.
root@tako:/usr/local/bind/etc# rndc reload
rndc: connect failed: 127.0.0.1#953: connection refused
bind が起動していないことを忘れていた.
== 起動テスト (再)
# /usr/local/bind/sbin/named -u bind \
-c /usr/local/bind/etc/namedb/named.conf
/var/log/syslog を見て, 起動したことを確認.
ps(1) コマンドなどでも走っていることを確認.
== ファイルフォーマットチェック (再)
root@tako:/usr/local/bind/etc# named-checkconf /usr/local/bind/etc/namedb/named.conf
何も出力されないので OK.
== rndc のテスト(再)
root@tako:/usr/local/bind/etc# rndc reload
server reload successful
成功.
epaadmin グループが設定されていれば,
epaadmin グループに属しているユーザなら
上記のコマンドを実行可能である.
== 起動スクリプトの用意
サーバの起動時に自動的に起動させるため, bind の起動スクリプト
を用意する.
Debian の bind パッケージに含まれる/etc/init.d/bind を元に
起動スクリプトを bind 用に多少書き換えたものが
((<bind|URL:../epa/bind/bind>))
から入手できる. このファイルを /etc/init.d/bind にコピーし,
以下のようにパーミッションを設定する.
# cd /etc/init.d
# wget http://epa.scitec.kobe-u.ac.jp/~itpass/epa/bind/bind
# chown root:root /etc/init.d/bind
# chmod 755 /etc/init.d/bind
なお, この実行ファイル bind には冒頭部に named や rndc,
named.conf ファイルのパスを設定する箇所がある.
インストールの場所が変更される場合にはこれも変更すること.
念のため, bind スクリプトの start, stop, restart の動作確認を行う.
ランレベルごとに bind の動作を設定する.
# update-rc.d bind defaults
Adding system startup for /etc/init.d/bind ...
/etc/rc0.d/K20bind -> ../init.d/bind
/etc/rc1.d/K20bind -> ../init.d/bind
/etc/rc6.d/K20bind -> ../init.d/bind
/etc/rc2.d/S20bind -> ../init.d/bind
/etc/rc3.d/S20bind -> ../init.d/bind
/etc/rc4.d/S20bind -> ../init.d/bind
/etc/rc5.d/S20bind -> ../init.d/bind
サーバを再起動し, 起動時に bind が起動することを確認した.
((<[Memo2008][EPA]tako作業メモ(納多)(080714)>)) へ続く.