|
rndcの仕組みと設定 |
|
rndcは、ローカル上、またはリモート上にあるBIND9を制御するツール |
|
主に、設定の再読み込み、namedサービスの停止(起動はできない)、統計情報の表示、キャッシュのクリアなどのために使用する |
|
|
|
|
|
|
|
|
|
|
|
|
|
■ rndcの仕組み |
|
rndcコマンドを実行する端末は、同じ端末(サーバ)上のnamedサービス、または外部のサーバ上のnamedサービスの制御をすることができる |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■ iptablesの設定 |
|
CentOSでは、デフォルトでiptablesによって外部からの着信パケットが禁止されている |
|
リモートからrndcを受け付ける場合のみ、iptablesに追加設定する必要がある |
|
namedデーモンがrndcを受け付けるポート番号は、デフォルトでTCP953となっている |
|
|
|
|
|
|
|
[ 設定例 ] |
|
# iptables -I INPUT 10 -s 192.168.24.60 -p tcp --dport 953 -j ACCEPT |
192.168.24.60からのrndcのみ許可するように設定 |
|
|
|
|
|
|
|
|
# service iptables save |
保存 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■ rndcの設定 |
|
rndcを利用するためには、rndcコマンドを実行する側とBINDサービスが実行されている側の双方でrndcに関する設定が必要になる |
|
rndcでは両者間で利用する共通鍵が必要となるので、まずは共通鍵を作成する |
|
|
|
|
|
|
|
@ 共通鍵の作成 |
|
新しく共通鍵を作成したい場合は、共通鍵を作成するBIND付属のrndc-confgenコマンドを使用する |
|
(他にもdnssec-keygenがあるが、ここでは割愛) |
|
デフォルトでは/etc/rndc.keyとして出力するので、既存の/etc/rndc.keyがある場合は上書きしてしまうので注意する |
|
作成した共通鍵は、AやBで使用する |
|
|
|
|
|
|
|
[ 書式 ] |
|
rndc-confgen オプション |
|
|
|
|
|
|
|
|
|
|
|
[ 主なオプション ] |
|
-a |
共通鍵を新しく作成する デフォルトでは/etc/rndc.keyに出力 |
|
|
|
-b ビット数 |
共通鍵の鍵の長さ(ビット数単位) 省略時のデフォルトは128bit 512bit推奨 |
|
|
|
-c 出力ファイル名 |
省略時は/etc/rndc.keyで作成されるが、別のファイル名としたい場合に使用する |
|
|
|
-k 共通鍵名 |
共通鍵名の指定 |
|
|
|
-t chrootディレクトリ |
chrootディレクトリ配下にもファイルを出力したい場合 |
|
|
|
-u ユーザ名 |
chrootディレクトリ配下に出力したファイルの所有者を指定したい場合 |
|
|
|
|
|
|
|
|
|
[ 設定例 ] |
|
# rndc-confgen -a -b 512 -k rndctest |
-cオプション省略時は/etc/rndc.keyに出力 |
|
|
|
|
(既存の/etc/rndc.keyがあれば上書きされる) |
|
|
|
|
鍵の長さは推奨の512bitを指定 |
|
|
|
|
|
|
|
|
# more /etc/rndc.key |
確認 |
|
|
key "rndctest" { |
|
|
|
|
algorithm hmac-md5; |
|
|
|
|
secret "Ey/2YxEvsIiJ5WwQWzdlDAZ5L1ICSShC6e1QNdQ1 |
|
|
|
|
h5jgThMij608OVd38ge7Br/NFE0WnkK1oUB/Ykm63fg16A=="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
# ls -l /etc/rndc.key |
アクセス権はrootのみ読み込み可になっている |
|
|
-r-------- 1 root root 141 4月 23 03:58 /etc/rndc.key |
|
|
|
|
|
|
|
|
|
|
[ 参考 ] |
|
# rndc-confgen -a -b 512 -c /etc/rndc.key.test -k keytestdesu \ |
オプションの検証のため、適当に設定してみた |
|
|
-t /var/named/chroot -u named |
|
|
|
|
|
|
|
|
|
|
# ls -l /etc/rndc* |
-cオプションを使うと既存の/etc/rndc.keyを上書きすることはない |
|
|
-r-------- 1 root root 113 4月 13 11:03 /etc/rndc.key |
(なぜか)アクセス権は読み書き可になっている |
|
|
-rw------- 1 root root 144 4月 23 03:45 /etc/rndc.key.test |
|
|
|
|
|
|
|
|
|
|
# ls -l /var/named/chroot/etc/rndc.key.test |
chroot配下にも同じものが作成される |
|
|
-rw------- 1 named root 144 4月 23 03:45 /var/named/chroot/etc/rndc.key.test |
-uオプションはchroot配下のファイルに影響している |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A rndcコマンドを実行する側の設定 |
|
rndcコマンドは、rndcコマンドを実行する端末上の/etc/rndc.confまたは/etc/rndc.keyをデフォルトで参照している |
|
最初に/etc/rndc.confを参照し、「ファイルがない場合は」/etc/rndc.keyを参照する |
|
よって、/etc/rndc.confの設定の誤りやアクセス失敗の場合は、/etc/rndc.keyが存在していてもrndcに失敗する |
|
|
|
|
|
|
|
/etc/rndc.confにするのか、/etc/rndc.keyにするのかは自由だが、リモート上にあるBINDを制御する場合は、/etc/rndc.confでなければならない |
|
( serverステートメントで外部のnamedサーバを指定するため) |
|
ローカル上のnamedサービスを制御する場合は、どちらのファイルでも良い |
|
|
|
|
|
|
|
通常、rndcコマンドの使用はroot権限を持ったユーザのみに制限するので、ファイルのアクセス権をrootのみ読み込みができるように変更をする |
|
|
|
|
|
|
|
rndc実行時のオプションを使うことにより、/etc/rndc.confまたは/etc/rndc.key以外のファイルを使用することもできる |
|
|
|
|
|
|
|
rndcが読み込むファイルの順序 |
|
|
|
|
|
|
|
|
各ファイルで使用するステートメント |
|
/etc/rndc.conf |
|
optionsステートメント |
デフォルトで使用する共有鍵名と相手のホスト名を指定する |
|
|
|
serverステートメント |
デフォルトで指定した相手以外に対してもrndcを実行したい場合は、 |
|
|
|
|
serverステートメントを使用して、その相手のホスト名と使用する共有鍵名を指定する |
|
|
|
|
serverステートメントを省略した場合は、optionsで指定したデフォルトを対象とする |
|
|
|
keyステートメント |
共有鍵の設定 |
|
|
|
|
|
|
|
|
|
/etc/rndc.key |
|
keyステートメント |
共有鍵の設定 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
各ファイルでの書式 |
|
[ /etc/rndc.confの書式 ] |
|
options { |
optionsステートメントは必須 |
|
|
default-server デフォルトの相手となるホスト名; |
|
|
|
|
default-key "デフォルトで使用する共通鍵名"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
server rndcの対象となるホスト名 { |
serverステートメントは任意、複数設定可能 |
|
|
key "使用する共通鍵名"; |
optionsステートメントで指定したデフォルト以外のサーバもrndcで |
|
|
}; |
制御したい場合に記述する |
|
|
|
|
|
|
|
|
key "共通鍵名" { |
keyステートメントは必須 複数設定可能 |
|
|
algorithm hmac-md5; |
options, serverステートメントで指定した共通鍵の設定 |
|
|
secret "ベース64でエンコードされた共通鍵"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
[ /etc/rndc.keyの書式 ] |
|
key "共通鍵名" { |
keyステートメントは必須 |
|
|
algorithm hmac-md5; |
|
|
|
|
secret "ベース64でエンコードされた共通鍵"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[ /etc/rndc.confの場合の設定例 ] |
|
# vi /etc/rndc.conf |
rndc.confはないので、新規に作成する |
|
|
options { |
optionsステートメントは必須 |
|
|
default-server localhost; |
ここではローカル上のnamedをデフォルトとして設定 |
|
|
default-key "rndckey"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
server 192.168.24.54 { |
serverステートメントは任意 |
|
|
key "rndckey2"; |
ここでは、リモート(192.168.24.54)上のnamedを制御するために設定 |
|
|
}; |
192.168.24.54に対しては、共通鍵名rndckeys2を使用 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
key "rndckey" { |
keyステートメントは必須 |
|
|
algorithm hmac-md5; |
|
|
|
|
secret "NWteQWyWZBsI6T9W3srJ7bTPg5 |
|
|
|
|
ju3To8rfZj0sd0y3sD9cA7LNxB4sU9KxE7"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
key "rndckey2" { |
|
|
|
|
algorithm hmac-md5; |
|
|
|
|
secret "fltQArFkIHfkvJpABTKoapMDAtgah+v9ItTXAMjGUJLkGieJwvto |
|
|
|
|
Hn9kIBo2L9c4k7u88LWyTjisLUUotB2Ieg=="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
# chmod 400 /etc/rndc.conf |
rndcコマンドを実行するユーザ(通常はrootユーザ)しか読み込みが |
|
|
|
|
できないようにアクセス変更する |
|
|
# ls -l /etc/rndc.conf |
|
|
|
|
-r-------- 1 root root 217 4月 7 10:49 /etc/rndc.conf |
|
|
|
|
|
|
|
|
|
|
[ /etc/rndc.keyの場合の設定例 ] |
|
# vi /etc/rndc.key |
/etc/rndc.keyはデフォルトで存在していることがある |
|
|
key "rndckey" { |
keyステートメントは必須 |
|
|
algorithm hmac-md5; |
|
|
|
|
secret "NWteQWyWZBsI6T9W3srJ7bTPg5 |
|
|
|
|
ju3To8rfZj0sd0y3sD9cA7LNxB4sU9KxE7"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
# ls -l /etc/rndc.key |
|
|
|
|
-r-------- 1 root root 217 4月 7 10:49 /etc/rndc.key |
rndcコマンドを実行するユーザ(通常はrootユーザ)しか読み込みが |
|
|
|
|
できないようにアクセス変更する |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B namedサービス側の設定 |
|
named.confファイルで、rndcによる制御を許可する端末と使用する共通鍵の設定を行う |
|
namedサービス側が使用する共通鍵をincludeを使って外部のファイルから読み込む場合、namedサービスを実行するユーザだけが読み込むことができるように変更する |
|
読み込む外部ファイル名は、何でも良い( つまりは/etc/rndc.keyでなくても良い) |
|
|
|
|
|
|
|
[ named.confで使用するステートメント ] |
|
keyステートメント |
rndcを使う相手との間で使用する共通鍵の設定 |
|
|
|
controlsで指定した相手にあわせて複数設定可能 |
|
|
|
named.confにkeyステートメントを使ってキーを直接記載せずに、includeステートメントを使って外部ファイルに記載した |
|
|
|
keyステートメントを読み込む方法もある |
|
|
includeステートメント |
外部ファイルに書き込んだkeyを読み込む場合に使用する |
|
|
controlsステートメント |
rndcによる制御を許可する相手と使用する共通鍵を設定 |
|
|
|
rndcを実行する相手ごとに異なる共通鍵を使用する場合は、複数設定する |
|
|
|
|
|
|
|
|
[ 書式 ] |
|
key "共通鍵名" { |
|
|
|
algorithm hmac-md5; |
|
|
|
secret "ベース64でエンコードされた共通鍵"; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
include "外部ファイル名"; |
# keyステートメントが記述された外部のファイルを読み込む場合に使用する |
|
|
|
|
|
|
|
|
|
controls { |
|
|
|
inet nrdcを受け付けるインターフェースアドレス allow { 許可する相手; } keys { "使用する共通鍵名"; }; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
[ 外部ファイルを読み込む場合の設定例 ] |
|
# vi named.conf |
|
|
|
|
: |
|
|
|
|
include "/etc/rndc.key"; |
includeを使って、読み込むファイルを指定 |
|
|
: |
chrootを使っている場合は、chrootディレクトリから見た位置 |
|
|
: |
|
|
|
|
controls { |
この場合はローカル(127.0.0.1)からのみrndcコマンドを受け付ける |
|
|
inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndckey"; }; |
そのときに使用する共通鍵名は、rndckey |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# more /var/named/chroot/etc/rndc.key |
includeで読み込んでいるファイル |
|
|
key "rndckey" { |
共通鍵名は、controlsステートメントの共通鍵名と同じであること |
|
|
algorithm hmac-md5; |
|
|
|
|
secret "NWteQWyWZBsI6T9W3srJ7bTPg5 |
|
|
|
|
ju3To8rfZj0sd0y3sD9cA7LNxB4sU9KxE7"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
# ls -l /var/named/chroot/etc/rndc.key |
namedサービスはnamedユーザで起動させているので、ここでは |
|
|
-r-------- 1 named named 113 3月 23 15:22 /var/named/chroot/etc/rndc.key |
アクセス権と所有権をnamedユーザのみに変更 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■ rndcの設定例 |
|
|
|
|
|
|
|
@ ローカル上のnamedサービスの制御 |
|
ここではローカルからのrndcのみ許可する設定を説明すると同時に、rndcコマンドが読み込むファイルとnamedサービスが読み込むファイルが異なることを検証する |
|
|
|
|
|
|
|
[ 設定例 ] |
|
rndcが使用するファイルの作成 |
|
|
|
|
# rndc-confgen -a -b 512 -k rndc-key |
/etc/rndc.keyを作成 |
|
|
|
|
(既存の/etc/rndc.keyは上書きされる) |
|
|
|
|
rndcコマンドが使用する共通鍵名はrndc-keyとした |
|
|
|
|
|
|
|
|
# more /etc/rndc.key |
内容の確認 |
|
|
key "rndc-key" { |
|
|
|
|
algorithm hmac-md5; |
|
|
|
|
secret "i/3WhPJtSLbveh0hZyv66QODZTqAqAHA15xMUqE9GRvl3RB9 |
|
|
|
|
hNpmw9l6fW/f8k34u24se7DW0jJyC+G6/LA7AA=="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
# ls -l /etc/rndc.key |
アクセス権の確認 rootしか読み込めないようにする |
|
|
-r-------- 1 root root 77 4月 1 14:01 /etc/rndc.key |
(一般ユーザがrndcを使えないようにする) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
named.confの設定 |
|
|
|
|
# vi /var/named/chroot/etc/named.conf |
今回は共通鍵を外部ファイルから読み込む方法で設定 |
|
|
: |
chroot環境下なので、実際は |
|
|
include "/etc/rndc.key.chroot"; |
/var/named/chroot/etc/rndc.key.chroot |
|
|
: |
namedが読み込むファイル名は何でも良い |
|
|
: |
|
|
|
|
: |
|
|
|
|
controls { |
アクセスできるのはローカルシステムからのみ |
|
|
inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndckeys"; }; |
使用する共通鍵名は、rndckeysにした |
|
|
}; |
(/etc/rndc.keyと明確に区別するため) |
|
|
|
|
|
|
|
|
named.confが読み込むファイルの作成 |
|
|
|
|
# cp /etc/rndc.key /var/named/chroot/etc/rndc.key.chroot |
(最初から作るのは面倒なので)/etc/rndc.keyをコピーして |
|
|
|
|
|
|
|
|
# vi /var/named/chroot/etc/rndc.key.chroot |
共通鍵名はnamed.confで指定したrndckeysに変更 |
|
|
key "rndckeys" { |
|
|
|
|
algorithm hmac-md5; |
|
|
|
|
secret "i/3WhPJtSLbveh0hZyv66QODZTqAqAHA15xMUqE9GRvl3RB9 |
|
|
|
|
hNpmw9l6fW/f8k34u24se7DW0jJyC+G6/LA7AA=="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
# chown named:named /var/named/chroot/etc/rndc.key.chroot |
所有権とアクセス権の変更 |
|
|
# chmod 400 /var/named/chroot/etc/rndc.key.chroot |
namedしか読み込めないようにする |
|
|
|
|
|
|
|
|
# ls -l /var/named/chroot/etc/rndc.key.chroot |
確認 |
|
|
-r-------- 1 named named 77 4月 1 15:05 /var/named/chroot/etc/rndc.key.chroot |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rndcの確認 |
|
|
|
|
# service named start |
namedの起動 |
|
|
named を起動中: [ OK ] |
|
|
|
|
|
|
|
|
|
|
# rndc status |
rndcが実行できることを確認 |
|
|
version: 9.7.3 (Not available.) |
|
|
|
|
CPUs found: 1 |
|
|
|
|
worker threads: 1 |
|
|
|
|
number of zones: 21 |
|
|
|
|
debug level: 0 |
|
|
|
|
xfers running: 0 |
|
|
|
|
xfers deferred: 0 |
|
|
|
|
soa queries in progress: 0 |
|
|
|
|
query logging is ON |
|
|
|
|
recursive clients: 0/2900/3000 |
|
|
|
|
tcp clients: 0/100 |
|
|
|
|
server is up and running |
|
|
|
|
|
|
|
|
|
|
# rndc reload |
設定の再読み込みもできた |
|
|
server reload successful |
|
|
|
|
|
|
|
|
|
|
# service named stop |
停止も正常にできた |
|
|
named を停止中: [ OK ] |
(rndcがおかしい場合は正常に終了できない) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A リモート上のnamedサービスの制御 |
|
192.168.24.54のホスト上で動作するnamedサービスに対して、192.168.24.60からrndcコマンドの実行ができるようにする |
|
|
|
|
|
|
|
[ 設定例 ] |
|
namedサービス(192.168.24.54)側の設定 |
|
共通鍵の作成 |
|
|
|
|
# rndc-confgen -a -b 512 -c /tmp/rndckey -k rndc-test |
既存の/etc/rndc.keyはそのまま使用するので、 |
|
|
wrote key file "/tmp/rndckey |
上書きしないように別ファイルに出力 |
|
|
|
|
|
|
|
|
# more /tmp/rndckey |
内容の確認 |
|
|
key "rndc-test" { |
(/tmp/rndckeyファイルは後で削除する) |
|
|
algorithm hmac-md5; |
|
|
|
|
secret "fltQArFkIHfkvJpABTKoapMDAtgah+v9ItTXAMjGUJLkGieJwvt |
|
|
|
|
oHn9kIBo2L9c4k7u88LWyTjisLUUotB2Ieg=="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
named.confの設定 |
|
|
|
|
# vi /var/named/chroot/etc/named.conf |
|
|
|
|
|
|
|
|
|
|
acl localnet { |
ACLの作成(任意) |
|
|
192.168.24.60; |
ここでは192.168.24.60のみに指定 |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
include "/etc/rndc.key.chroot"; |
上記の検証で作成した |
|
|
|
|
ローカルからのrndc用の設定ファイル |
|
|
controls { |
|
|
|
|
inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndckeys"; }; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
key "rndc-test" { |
今回は共通鍵を外部ファイルから読み込まずに、 |
|
|
algorithm hmac-md5; |
keyステートメントで指定した方法で設定することとし、 |
|
|
secret "fltQArFkIHfkvJpABTKoapMDAtgah+v9ItTXAMjGUJLkGieJwvt |
作成した/tmp/rndckeyの内容をそのままコピー |
|
|
oHn9kIBo2L9c4k7u88LWyTjisLUUotB2Ieg=="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
controls { |
rndcを受け付けるインターフェースは、192.168.24.54 |
|
|
inet 192.168.24.54 allow { localnet; } keys { "rndc-test"; } |
localnet(=192.168.24.60)からのrndcを許可 |
|
|
}; |
使用する共通鍵名は、keyステートメントで指定したrndc-test |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
iptables(パケットフィルタリング)の設定 |
|
|
|
|
# iptables -I INPUT 14 -s 192.168.24.60 -p tcp --dport 953 -j ACCEPT |
192.168.24.60からのTCP953宛パケットを許可する |
|
|
|
|
|
|
|
|
# service iptables save |
設定の保存 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
設定の再読み込み |
|
|
|
|
# rm /tmp/rndckey |
/tmp/rndckeyは不要なので削除 |
|
|
rm: remove 通常ファイル `/tmp/rndckey'? y |
|
|
|
|
|
|
|
|
|
|
# rndc reload |
再読み込み実施 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rndcを実行する(192.168.24.60)側の設定 |
|
# vi /etc/rndc.conf |
リモートのBINDも制御するため、/etc/rndc.confを使用する |
|
|
options { |
|
|
|
|
default-server localhost; |
デフォルトのほうは、ローカル上のnamedサービスを制御するために設定 |
|
|
default-key "rndckey"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
key "rndckey" { |
|
|
|
|
algorithm hmac-md5; |
|
|
|
|
secret "E03MOKBPayBRkKeUMNGK4WmGkN63jgbcYVhvw1ap |
|
|
|
|
e9YtDBWhyLyTVqpk9RWz"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
server 192.168.24.54 { |
新しく設定を追加 |
|
|
key "rndckey2"; |
192.168.24.54に対しては、共通鍵名rndckeys2を使用 |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
key "rndckey2" { |
共通鍵の設定の追加 |
|
|
algorithm hmac-md5; |
共通鍵名は、rndckeys2 |
|
|
secret "fltQArFkIHfkvJpABTKoapMDAtgah+v9ItTXAMjGUJLkGieJwvto |
共通鍵は、192.168.24.54のnamed.confで指定したものと同じ |
|
|
Hn9kIBo2L9c4k7u88LWyTjisLUUotB2Ieg=="; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# chmod 400 /etc/rndc.conf |
アクセス権の確認 |
|
|
|
|
rootだけが読み込めるように変更 |
|
|
# ls -l /etc/rndc.conf |
(一般ユーザがrndcを使えないようにする) |
|
|
-r-------- 1 root root 438 4月 1 18:26 /etc/rndc.conf |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192.168.24.60からのrndc確認 |
|
# rndc -s 192.168.24.54 status |
デフォルト以外のホストを対象とするときは、 |
|
|
version: 9.7.3 (Not available.) |
「-s ホスト名」オプションを使用する |
|
|
CPUs found: 1 |
|
|
|
|
worker threads: 1 |
|
|
|
|
number of zones: 21 |
|
|
|
|
debug level: 0 |
|
|
|
|
xfers running: 0 |
|
|
|
|
xfers deferred: 0 |
|
|
|
|
soa queries in progress: 0 |
|
|
|
|
query logging is ON |
|
|
|
|
recursive clients: 0/2900/3000 |
|
|
|
|
tcp clients: 0/100 |
|
|
|
|
server is up and running |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■ rndc関係のトラブルシューティング |
|
|
|
|
|
|
|
rndc.keyファイルにアクセスができないので、namedの起動に失敗する |
|
# service named start |
|
|
named を起動中: [失敗] |
|
|
|
|
|
|
|
|
# tail /var/log/messages |
|
|
: |
|
|
Jul 30 01:32:38 notePC01 named[9386]: loading configuration from '/etc/named.conf' |
|
|
Jul 30 01:32:38 notePC01 named[9386]: /etc/named.conf:54: open: /etc/rndc.key: permission denied |
|
|
Jul 30 01:32:38 notePC01 named[9386]: loading configuration: permission denied |
|
|
Jul 30 01:32:38 notePC01 named[9386]: exiting (due to fatal error) |
|
|
|
|
|
|
|
|
[ 対応 ] |
|
|
上記のように「permission denied」であれば、/etc/rndc.keyのアクセス権をnamedサービスを実行するユーザが読み込めるように変更する |
|
|
もし「not found」であれば、named.confで指定した場所にrndc.keyが見つからないので、保存場所が正しいかどうか確認する |
|
|
|
|
|
|
|
|
rndcコマンドが参照する、共通鍵が記述されたファイル(/etc/rndc.confまたは/etc/rndc.key)が見つからない |
|
# rndc status |
|
|
rndc: neither /etc/rndc.conf nor /etc/rndc.key was found |
|
|
|
|
|
|
|
|
[ 対応 ] |
|
|
/etc/rndc.keyまたは/etc/rndc.confを用意して設定を行う |
|
|
|
|
|
|
|
|
rndc.keyがあるがデフォルトの設定ファイルrndc.confを使用したとでる |
|
# rndc status |
|
|
WARNING: key file (/etc/rndc.key) exists, but using default configuration file (/etc/rndc.conf) |
|
|
|
|
|
|
|
|
[ 対応 ] |
|
|
デフォルトでrndcコマンドは/etc/rndc.confを最初に参照し、なければ/etc/rndc.keyを参照する |
|
|
エラーではないが、この警告が出ないようにするには/etc/rndc.confか/etc/rndc.keyのどちらだけにする |
|
|
(chroot環境だとこのエラーはでないかも?) |
|
|
|
|
|
|
|
|
rndcでnamedへの接続に失敗する |
|
# rndc status |
|
|
rndc: connect failed: 127.0.0.1#953: connection refused |
|
|
|
|
|
|
|
|
[ 対応 ] |
|
|
namedサービスが起動していないので起動させる または、named.confのcontrolsステートメントの見直し |
|
|
|
|
|
|
|
|
rndcが使用するkeyと対象のnamedサービスが使用するkeyが異なる |
|
# rndc status |
|
|
rndc: connection to remote host closed |
|
|
This may indicate that the remote server is using an older version of |
|
|
the command protocol, this host is not authorized to connect, |
|
|
or the key is invalid. |
|
|
|
|
|
|
|
|
[ 対応 ] |
|
|
rndcが使用するkey(/etc/rndc.confまたは/etc/rndc.keyの中)とnamed.confの使用するkey(named.conf内か読み込んでいる外部ファイル)の |
|
|
共通鍵(鍵名は不一致でも良い)を合わせる |
|
|
|
|
|
|
|
|
rndcの設定がおかしいため、namedサービスが正常に終了できない |
|
# service named stop |
|
|
|
|
named を停止中: ...........................................[失敗]. |
|
|
|
|
|
|
|
|
|
|
[ 対応 ] |
|
|
|
|
namedを強制的に終了させ、rndc関係の設定を確認する |
|
|
|
|
|
|
|
|
|
|
[ 解決例 ] |
|
|
|
|
# ps -ef | grep named |
|
|
|
|
named 8344 1 0 13:59 ? 00:00:00 /usr/sbin/named -u named -4 -t /var/named/chroot |
namedのプロセスがまだ残っていることを確認 |
|
|
|
|
|
|
|
|
# kill 8344 |
killコマンドで強制終了 |
|
|
|
|
|
|
|
|
# service named start |
仮にすぐに起動させた場合は、起動するが・・ |
|
|
named を起動中: [ OK ] |
|
|
|
|
|
|
|
ここの灰色の部分は |
|
|
# service named status |
status情報がおかしい |
検証のために行ったことなので |
|
|
named が停止していますが PID ファイルが残っています |
|
やらないこと |
|
|
|
|
|
|
|
|
# ps -ef | grep named |
起動中のnamedのプロセス番号と、named.pidに |
|
|
named 9831 1 0 15:31 ? 00:00:00 /usr/sbin/named -u named -4 -t /var/named/chroot |
登録されているプロセス番号が不一致するという |
|
|
|
|
問題が発生する |
|
|
|
|
|
|
|
|
# more /var/run/named.pid |
|
|
|
|
9136 |
|
|
|
|
|
|
|
|
|
|
|
# service named status |
killで終了した場合はまずはstatusを確認 |
|
|
rndc: connect failed: 127.0.0.1#953: connection refused |
rndc:connection〜はnamedが停止のためなので無視 |
|
|
named が停止していますが PID ファイルが残っています |
|
|
|
|
|
|
|
|
|
|
# more /var/run/named.pid |
PIDファイルの確認(こちらはシンボリックリンク) |
|
|
|
|
中身は空だがファイルは存在する(存在することが問題) |
|
|
|
|
|
|
|
|
# more /var/named/chroot/var/run/named/named.pid |
PIDファイルの確認(こちらは本体) |
|
|
|
|
中身は空だがファイルは存在する(存在することが問題) |
|
|
|
|
|
|
|
|
# rm /var/named/chroot/var/run/named/named.pid |
PIDファイルの削除 |
|
|
|
|
|
|
|
|
# rm /var/run/named.pid |
同上 |
|
|
rm: remove シンボリックリンク `/var/run/named.pid'? y |
|
|
|
|
|
|
|
|
|
|
# service named status |
(2重起動防止のための)ロックファイルが |
|
|
rndc: neither /etc/rndc.conf nor /etc/rndc.key was found |
残っているのでまだ起動できない |
|
|
named は停止していますがサブシテムがロックされています |
|
|
|
|
|
|
|
|
|
|
# ls -l /var/lock/subsys/named |
ロックファイルが存在する |
|
|
-rw-r--r-- 1 root root 0 4月 1 13:08 /var/lock/subsys/named |
|
|
|
|
|
|
|
|
|
|
# rm /var/lock/subsys/named |
ロックファイルの削除 |
|
|
rm: remove 通常の空ファイル `/var/lock/subsys/named'? y |
|
|
|
|
|
|
|
|
|
|
# service named status |
エラーが出なくなった |
|
|
rndc: connect failed: 127.0.0.1#953: connection refused |
|
|
|
|
named は停止しています |
|
|
|
|
|
|
|
|
|
|
rndcの設定を確認後、namedサービスを起動させる |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|