2014年2月11日火曜日

FreeBSD named で managed-keys-zone ./IN: loading from master file managed-keys.bind failed: file not found というエラーがでた

 バイクの写真を載せるのに FreeBSD のサーバーを運用している。 家の中の private network 内にサーバーを置き,mydns と無線LANルーターの port mapping 機能を使って外部からのアクセスに対応している。

 最近,家のネットワークの入口に設置している無線LANルーターを入替えた。 理由は,ネットワークを 100Mbps タイプから 1Gbps タイプにしたから。 あまり通信速度が速くなった感がないから 1Gbps にした意味があったかどうかは不明だが…。

 その際,これまで使っていたいくつかの private IP が予約されたみたいで,指定できなくなっていた。 一番困ったのが無線LANルーター自身の IP アドレス。 以前は無線LANルーター自身のアドレスは,デフォルトだと 192.168.0.1 だったのだが, それって普通すぎるからと思って,3桁目を違う数字にしていた。しかし,その番号が使えなくなってしまった。 そこで,仕方なく,無線LANルーターの LAN 側の IP をデフォルトの IP のままで使うことにしてみた。 となると,DHCP にしてないサーバーでは,DNS 指定や,default router の設定値を変更しないといけない。 プライベート用に named も運用しているのだが,その設定もいじらないといけなかった。 named の事はここには詳しいことは書かないが,今回は極力 named の設定ファイルをいじらずに済ませ,named を再起動してみた。

 すると,何故か named がエラーをいっぱい吐いてきた。 幾つかはコメントアウトに「;」を使うべきところでついつい「#」を使ってしまうなどの単純なタイプミスだったのだが,不明だったのが以下のエラーだった。
managed-keys-zone ./IN: loading from master file managed-keys.bind failed: file not found
どうやら「managed-keys.bind」というファイルが無い,と言っているみたい。 そんなこと言われても,以前からそんな名前のファイルはなかったと思うのだが…。

 仕方ないのでネットで検索してみた。 すると,「ファイルがないのなら,managed-keys.bind という名前の empty ファイルを作ればいい」という記述があった。 それは簡単,だと思ったのだが,問題はファイルを置く場所。 普通なら named.conf のある場所だろう,と思って,とりあえず named.conf のある場所に置いてみた。 具体的には「/etc/named/」の下。 私の使っている FreeBSD では /var/named/etc/named/ が /etc/named/ にリンクされているので,その下に置いてみた。 しかし…,エラーは消えなかった

 仕方ないので,英語のサイトも含めて調べてみた。 すると「working directory に置け」という記載を見つけた。 そういえば,/etc/named/ の下には,master/,slave/,dynamic/ 以外に working/ というディレクトリがある。 named.conf を見てみると,option 設定の中に,
        directory       "/etc/namedb/working";
と書いてあった。 どうやら,/etc/named/working/ (/var/named/etc/named/working/) が working directory みたいだった。 そこで,/etc/named/working/ の下に managed-keys.bind を置いてみた。 中身が何もない empty ファイルなので,
> touch managed-keys.bind
として作ってみた。

 するとエラーは消えた。なんかよくわからないが,エラーが消えたからよしとしよう。

0 件のコメント: