Fedora12→13アップブレードでbind起動せず2010年06月09日 10時50分

久しぶりにLinuxネタ。

そろそろFedoraを12から13にアップグレードしようかと思う。しかしもちろんその前にテスト環境で試してから。

いつも通り、

rpm -Uvh fedora-release-notes-(バージョン).noarch.rpm

rpm -Uvh fedora-release-(バージョン).noarch.rpm

yum clean all

yum -y upgrade でアップグレード 。時間は掛かったが正常に完了したよう。次にメール、DNS、webなど各デーモンが正常に稼動しているかを確認。するとbindが起動していないことに気付く。またbindか・・・。

Fedoraをアップグレードしたことで、bindも9.6.1-13.P2.fc12から9.7.0-10.P2.fc13になっていた。まずbindを手動で起動してみる。すると結構長いエラーが表示された。要点としては

「zone ○○○○/IN: NS '○○○○' has no address records (A or AAAA)」

「zone ○○○○/IN: not loaded due to errors.」

「localhost_resolver/○○○○/IN: bad zone」

といった具合。このパターンのエラーが4回ほど○○○○の部分だけ変わって繰り返し表示される。何となく雰囲気からゾーンファイルに問題があるであろうことは分かる。

設定を1から見直すと、まず「named.conf」に「include "/etc/named.rfc1912.zones";」と記述してあり、その「named.rfc1912.zones」ファイルにエラーメッセージの○○○○がゾーンとして記述してある。そしてそこで「file "named.localhost"」などとゾーンファイルが指定してある。どうやらここで指定されているゾーンファイル「named.localhost」「named.loopback」「named.empty」に問題があるようだ。

ゾーンファイルの書き方の何が問題なのか?ネットでゾーンファイルの見本を検索したらすぐにわかった。上記3つのゾーンファイルにはNSレコードが

「  NS   @」

と記述されていた。しかし今は

「  NS   localhost.」

と記述するらしい。ちなみに普通の自作のゾーンファイルもNSレコードで記述したネームサーバーをAレコードでも記述しないと同様のエラーが出るようだ。

以上の内容を修正したら、bindはエラーなく正常に起動するようになった。