nsd-control(8)

nsd-control

Section: nsd 4.0.0 (8)
Updated: Oct 29, 2013


名前

nsd-control, nsd-control-setup - NSDリモートサーバー制御ユーティリティ

書式

nsd-control [-c cfgfile] [-s server] command

説明

nsd-controlnsd(8) DNSサーバのリモート管理を行います。設定ファイルを読み込み、nsdサーバにSSL越しで接続し、コマンドを送り、結果を表示します。利用できるオプションは以下の通りです。

-h
バージョンとコマンドライン オプションのヘルプを表示します。
-c cfgfile
設定を読み込む設定ファイル。省略したら、デフォルトの設定ファイル/etc/nsd/nsd.confが使われます。
-s server[@port]
接続するサーバのIPv4かIPv6のアドレス。省略したら、アドレスは設定ファイルから読まれます。

コマンド

以下のコマンドが利用できます。

start
サーバを起動します。単にnsd(8)を実行します。nsdの実行ファイルは環境変数PATHから検索します。-cを使って指定した設定ファイルかデフォルトの設定ファイルを使って起動します。
stop
サーバを停止します。サーバ・デーモンが終了します
reload [<zone>]
ゾーンファイルを再読み込みし、ログファイルを開き直します。引数がない場合は、変更されたゾーンファイルを読み込みます。引数がある場合は、与えられたゾーンのゾーンファイルを読み込んでロードします。
reconfig
nsd.confをリロードして、TSIG鍵と設定ファイルのパターンの変更を適応し、さらに、設定に記述されたゾーンの追加や削除の変更を適応します。待ち受けているIPアドレスやポート番号やchrootのような他の変更は適応されません。パターンの更新はzonesの設定オプション(request-xfr、zonefile、notifyなど)が更新されたことを意味します。新しいパターンはaddzoneコマンド用にも利用できます。
repattern
reconfigオプションと同じです。
log_reopen
(ログファイルを移動して新しいログファイルを作成する)ログのローテーションのために、ログファイルを開き直します。kill -HUPでもログは再読み込みできます。このとき、すべてのゾーンファイルのリロードも行います。
status
サーバの状態を表示します。(ポートへの接続が拒否されて)動かなければ終了コードは3、エラーは1、動けば0です。
stats
統計情報を名前=値の並びで出力します。NSDがこのオプションが有効にされてコンパイルされている必要があります。
stats_noreset
statsと同じですが、カウンターをゼロにリセットしません。
addzone <zone name> <pattern name>
動作中のサーバーに新しいゾーンを追加します。再起動後も留まるように、ディスク上のゾーンリストファイルにゾーンが追加されます。パターン名は新しいゾーンに適応するオプションを決めます。スレーブゾーンでは、ゾーン転送がすぐに試みられます。ゾーンファイルを持つゾーンでは、ゾーンファイルの読み込みが試みられます。
delzone <zone name>
動作中のサーバーからゾーンを削除します。ゾーンはディスク上のゾーンリストのファイルとnsd.dbファイルとメモリから削除されます。ゾーンファイルを持っていたら、これは残されます(しかし、時代遅れかもしれません)。デーモンはnsd.confファイルに書けないのでnsd.confそのものに記述されたゾーンはこのように削除できません。delzoneコマンドでゾーンを削除できるようにゾーンリストのファイルにそのゾーンを追加する必要があります。
write [<zone>]
ゾーンファイルをディスクに書きます。あるいは、指定したゾーンファイルをディスクに書きます。(AXFRやIXFRで)変更されたゾーンが書かれるか、ゾーンファイルがまだ作成されていなければ作成されます。必要であればゾーンファイルのパスのディレクトリが作成されます。
notify [<zone>]
スレーブサーバーへNOTIFYメッセージを送信します。このサーバー上のマスターゾーンの'notify:'リストで設定されたIPアドレスに送信します。通常はマスターゾーンのシリアル値が更新されたときにNSDはNOFITYメッセージをすぐに送信します。ゾーンが指定されたら、通知はそのゾーンに送信されます。スレーブサーバーは(このサーバーか別のマスターに)後でゾーン転送要求を開始すると思われます。これは'provide-xfr:'ACLリスト設定で許可されます。
transfer [<zone>]
このサーバー上のスレーブゾーンの更新をマスターに対して試みます。マスターは'request-xfr:'リストで設定されます。ゾーンが与えられたら、そのゾーンが更新されます。通常は、新しいゾーンのシリアル値が転送されなければならない('allow-notify:'ACLリストで設定された)マスターからNSDはNOTIFYを受信します。
force_transfer [<zone>]
このサーバー上のスレーブゾーンの更新を強制します。たとえマスターがゾーンの同じシリアル値を持っていても、完全なAXFRが取得のために実行されます。IXFRを使ったり、シリアル値の増分を確認したりしたい場合は、transferコマンドを使います。
zonestatus [<zone>]
要求されたときには、ゾーンの状態やシリアル値や更新日時を出力します。(どのサーバへのものなのか)通知の動作も出力します。たった今動作があればゾーン転送(とどのマスターからなのか)も出力します。
serverpid
サーバープロセスのPIDを出力します。これは統計情報のために使われます。NSDが統計が有効でコンパイルされたときのみ動きます。このPIDはUNIXシグナルを送信するためのものではないです。このためにはnsd.pidからPIDを使います。そのPIDは固定です。
verbosity <number>
ログ出力の饒舌さを変更します。

終了コード

nsd-controlプログラムは、エラーのときにはステータスコード1で、成功のときにはステータスコード0で終了します。

セットアップ

セットアップはサーバとクライアントの両方に自己署名証明書とプライベート鍵を要求します。スクリプト nsd-control-setup はデフォルトの実行ディレクトリ、あるいは-dで指定した別のディレクトリにそれらを生成します。鍵ファイルへのアクセス制御の権限を変更すれば、全てのユーザではなくデフォルトの所有者とグループによりnsd-controlを誰が使うかを決めることができます。スクリプトはディレクトリに存在するプライベート鍵を保存します。rootとしてスクリプトを動かした後に、nsd.confcontrol-enable をオンにしてください。

統計カウンター

statsコマンドはたくさんの統計カウンターを表示します。

num.queries
受信したクエリー(TCPとUDPのクエリーの合計)の数。
serverX.queries
サーバー プロセスにより処理されたクエリーの数。サーバー プロセスの数は設定のserver-countで設定されます。
time.boot
サーバーが起動してからのアップタイム(秒)。小数部付き秒数で。
time.elapsed
前回の統計レポートからの経過時間(秒)。小数部付き秒数で。素早くポーリングしたらゼロになるはずです。前回のstatsコマンドではカウンターをリセットし、次回のstatsコマンドでは完全にゼロのレポートと経過時間ゼロを得ます。
size.db.disk
ディスク上のnsd.dbのサイズ(バイト)。
size.db.mem
メモリ上のDNSデータベースのサイズ(バイト)。
size.xfrd.mem
xfrdプロセスにおけるゾーン転送とnotifyのためのメモリのサイズ(バイト)。TSIGデータは除く。
size.config.disk
ディスク上のzonelistファイルのサイズ(バイト)。nsd.confのサイズを除く。
size.config.mem
メモリ上の設定データのサイズ(バイト)。サーバープロセスとxfrdプロセスで2個分になる。
num.type.X
このクエリータイプを持つクエリーの数。
num.opcode.X
このopcodeを持つクエリーの数。
num.class.X
このクエリークラスを持つクエリーの数。
num.rcode.X
このリターンコードの回答の数。
num.edns
EDNS OPTを持つクエリーの数。
num.ednserr
EDNS解析に失敗したクエリーの数。
num.udp
UDP ip4でのクエリーの数。
num.udp6
UDP ip6でのクエリーの数。
num.tcp
TCP ip4での接続数。
num.tcp6
TCP ip6での接続数。
num.answer_wo_aa
NOERROR rcodeでAAフラグなしの回答の数。リフェラルを含む。
num.rxerr
受信が失敗したクエリーの数。
num.txerr
送信が失敗した回答の数。
num.raxfr
クライアントからの(回答を提供した)AXFRリクエストの数。
num.truncated
TCフラグをセットした回答の数。.
num.dropped
健全性確認(sanity check)に失敗したために落とされたクエリーの数。
zone.master
提供されたマスターゾーンの数。'request-xfr:'エントリーを持たないゾーンです。
zone.slave
提供されたスレーブゾーンの数。'request-xfr'エントリを持つゾーンです。

ファイル

/etc/nsd/nsd.conf
nsd設定ファイル
/etc/nsd
プライベート鍵(nsd_server.keyとnsd_control.key)と自己署名証明書(nsd_server.pemとnsd_control.pem)を置くディレクトリ。

関連項目

nsd.conf(5), nsd(8), nsd-checkconf(8)