スレーブの zone ファイルがバイナリに!?

いや、ずっとサーバ管理をやってる人には常識だったんだろうけど・・・

最近の bind って(ver 9.8以降)、マスターサーバからコピーしてきたスレーブサーバの zone ファイルって raw 形式っていう、いわゆるバイナリデータになってるんだね。

いつもの調子で、

# cat chroot/var/named/slaves/exsample.com.zone

なんてやったら、画面がぐちゃぐちゃに乱れてビビったわ(笑)

named-compilezone というコマンドで、text 形式に変換して表示できるということなのでやってみた。

# named-compilezone -f raw -F text -o - exsample.com chroot/var/named/slaves/exsample.com.zone
zone exsample.com/IN: loaded serial 2021091501
exsample.com.               28800 IN SOA  serv1.exsample.com. root.serv1.exsample.com. 2021091502 21600 3600 604800 28800
<略>
OK

おお、ちゃんと表示された。

ちなみに、コマンド引数の意味は、

named‐compilezone -F text -f raw -o (出力ファイル名) (ゾーン名) (ゾーンファイル名)

である。

出力ファイル名を '-' とだけしておけば、標準出力に出力される。
ゾーン名は、そのゾーンファイルに設定されているドメイン名ね。
ゾーンファイル名については、「ファイル名だけでパスは必要ない」と説明しているサイトがあるが嘘です。ちゃんとパスまで指定しないとファイルが見つからなくて、

dns_master_load: file format mismatch
zone exsample.com/IN: loading from master file exsample.com.zone failed: not implemented
zone exsample.com/IN: not loaded due to errors.

みたいなエラーになるぞ。「file format mismatch」って出てるけど、ちゃんとスレーブの zone ファイルが見つけられてないだけだ。「chroot/var/named/slaves/exsample.com.zone」みたいにフルパスで指定すれば問題なく実行される。

あと、named.conf の options に「masterfile‐format text;」を追加すれば、バイナリではなくテキストで出力されるらしんだけど、うちの環境ではエラーが出て bind が起動しなかった。

まあ、別にバイナリでも named-compilezone コマンドで確認できるからいいけど。

トラックバック(0)

このブログ記事を参照しているブログ一覧: スレーブの zone ファイルがバイナリに!?

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/6055

コメントする

このブログ記事について

このページは、shinodaが2021年9月16日 02:49に書いたブログ記事です。

ひとつ前のブログ記事は「ハチの姿が健気で駆除できない」です。

次のブログ記事は「こういうパックコーヒー、初めて飲んだけど美味いな」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら