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-controlはnsd(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.confでcontrol-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)