Red Hat Linux Enterprise 5 ( RHEL5 ) で bind-9.4.1 の RPM パッケージをビルドする




とりあえず、動くかどうかだけを見たいので、デフォルトの設定で起動してみる。

# /etc/init.d/named start
Locating /etc/named.conf failed
I can't find any configuration file. You can create it by system-config-bind or install caching-nameserver.
                                                      [失敗]

/etc を見てみると named.conf がインストールされていない。

次のようなサンプルファイルが用意されているが修正箇所が多いので使えない。
rndc.confについては空ファイル。

/usr/share/doc/bind-9.4.1/sample/etc/named.conf
/usr/share/doc/bind-9.4.1/sample/etc/rndc.conf

system-config-bind もインストールされていないので、
上のエラーメッセージで言われた通りインストールしてみます。

RPM パッケージはインストール disc 5 に収録されています。

# rpm -ivh system-config-bind-4.0.3-2.el5.noarch.rpm

system-config-bind を実行する。

# system-config-bind

/etc/named.conf が存在しない状態で実行すると次のようなメッセージが出力されます。

デフォルトに初期化中
 BIND 設定が見つかりませんでした。
 初期デフォルト設定をインストールしています。

[OK] をクリック

さらに、インターネットに接続されていない場合は次のようなメッセージが出力されます。

初期化エラー:
 Root Cache のダウンロードに失敗しました:
 ホストへの経路がありません
 このマシンがインターネットに接続されているか確認してください。

[OK] をクリック

これでデフォルト設定の named.conf が作成されました。
system-config-bind では何もせずに終了し、bind を起動してみる。

# /etc/init.d/named start

問題無く起動。
インターネットにつないで外部ドメインの名前解決も問題無し。

次に、rndc での操作を確認する。

# rndc dumpdb
rndc: bind socket: permission denied

エラーになり実行できない。
そういえば、/etc/rndc.conf も無いのでした。

rndc.conf のマニュアルを参考に作成してみる。

# man 5 rndc.conf

named.conf と一緒に作成された/etc/rndc.key を見てみると次のようになっている。

# cat /etc/rndc.key
key rndckey {
	algorithm hmac-md5;
	secret Gt9Xxxxxxxxxxxxxxxxxx;
};

これを使いたいので、/etc/rndc.conf は次のようにしました。

# cat /etc/rndc.conf
options {
	default-server	localhost;
	default-key	rndckey;
};

server localhost {
	key		rndckey;
};

include "/etc/rndc.key";

再度、rndc コマンドを実行してみる。

# rndc dumpdb
rndc: bind socket: permission denied

/var/log/messages を見てみると次のようなメッセージがありました。

May 25 11:31:40 rhel5 setroubleshoot: SELinux is preventing /usr/sbin/rndc(ndc_t) "node_bind" to (inaddr_any_node_t). For complete SELinux messages. run sealert -l 45865485-3cf4-45f4-971c-14a58aff601f

SELinux が rndc の動作をブロックしているようだ。
SELinux を停止して再度実行すると問題無し。
設定の問題ではないことが分かった。

RedHat AS4でSELinuxを有効/無効にする

とりあえず、これで今回作成した RPM パッケージは問題無いことが確認できた。

現在、普通に使っていますが master や slave の動作でも全く問題ありません。

SELinux との連携は次の課題。

                                    1 / 2

RedHat Enterprise Linux 5 ( RHEL5 ) で bind 9.4.1 の rndc を SELinux で許可する