なんかてきとうに

わりと個人的な忘備録的ですよ。

BIND 2

設定ファイルの置き場所とかその他。

CentoOSとDebianでは設定ファイルの置く場所などがいろいろ異なる感じです。

ディストリビューションごとの差異が出てる感じですね。

CentOSでは

/etc/named.conf

を基本として、

/etc/named/

以下にnamed.hoge.zones

などを配置してリソースレコードは

/var/named/naemd.example.com  
/var/named/named.192.168.0

みたいな感じで配置するようです。

Debianでは

/etc/bind/named.conf
/etc/bind/named.conf.options
/etc/bind/named.conf.example.com-zones

のような感じで配置して

リソースレコードも同一ディレクトリに

/etc/bind/db.example.com
/etc/bind/db.192.168.0

みたいな感じで配置するようになっています。

通常の運用では主として変更を加えるのはリソースレコードになると思いますので

CentOSではそこを明示的に分けて管理する手法ですね。

一方Debianではファイルのプレフィックスをdb.とすることで分けているような。

このあたりが思想の違いかなぁと思います。

chrootの方法

chrootの方法も違って。

CentOSでは named-chrootというchroot用のサービスが存在します。

named-chrootが何をやっているかというと、 chrootディレクトリに各種必要ファイルをマウントしてそこを起点にbindを実行するようなことを行っています。

named-chroot.serviceの実行時にマウント動作を行うので、設定変更についてはchroot先のことを全く意識しなくて良いようになっています。追加のnamed.conf関連ファイルを

/etc/named/

ディレクトリ以下に置くのはそのためです
( /etc/named.confとか /etc/named*なファイルはマウントファイルとしてハードコードされているので新規に作る設定ファイルは/etc/named/以下に置かないとchroot環境では使えない)

Debianではわざわざchroot用のサービスを定義するようなことはしておらず、

chroot用ディレクトリに自分でファイルを配置しましょうというやり方です。
そのため /etc/bindを chroot用ディレクトリに移動させて /etc/bindにシンボリックリンクを張る運用を標準としています。

どっちが良いんだろうなぁ

chrootで使う時と chrootせずに使う時みたいなのがあるんだとすれば、CentOSのやり方のほうがうまいんでしょうね。

設定ファイルの配置については

CentOS
/etc/named.conf , /etc/named/*
みたいなことになるんならいっそ /etc/named/named.conf にしてくれれば……と思わなくもないです。
/etc/にメイン設定ファイルを置いて、サブディレクトリにその他のコンフィグを置くのがRedHat流なんでしょうね。