EN JA
unbound-control(8)
unbound-control(8) unbound 1.4.20 unbound-control(8)

名称

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

書式

unbound-control [ -hq] [ -c cfgfile] [ -s server] command

解説

unbound-control は、 unbound(8) DNS サーバでリモート管理を行ないます。それは、設定ファイルを読み込み、SSL を越えて unbound サーバに接続し、コマンドを送信して、結果を表示します。

利用可能なオプションは、次の通りです:

-h
バージョンとコマンド行オプションのヘルプを表示します。
-c cfgfile
設定で読み込む設定ファイル。与えられないなら、デフォルトの設定ファイル /var/unbound/unbound.conf が使用されます。
-s server[@port]
接続するサーバの IPv4 または IPv6 アドレス。与えられないなら、アドレスは、設定ファイルから読み込まれます。
-q
静かなモード、オプションが与えられるなら、正常に動作している場合、何も印刷 (表示) しません。

コマンド

サーバが解釈するいくつかのコマンドがあります。
start
サーバを開始します。単に unbound(8) を実行します。 unbound の実行形式は、環境変数の PATH の設定を検索されます。 -c またはデフォルトの設定ファイルを使用して指定された設定ファイルで開始されます。
stop
サーバを停止します。サーバデーモンを終了します。
reload
サーバを再びロードします。これは、キャッシュをフラッシュし、新たに設定ファイルを読み込みます。
verbosity number
ロギ記録に対する冗長の値を変更します。 unbound.conf(5) の verbosity キーワードと同じ値。この新しい設定は、サーバが、(再び設定ファイルから得られる) 再ロードを発行されるまで、またはまたは次の冗長制御コマンドまで、続きます。
log_reopen
ログファイルをクローズしてオープンし、それを再オープンします。ログ記録されているファイルをデーモンに解放させるログファイルのローテーションのために役に立ちます。利用者が syslog を使用しているなら、それは、(chroot されているなら、動作しない) syslog をクローズしてオープンすることを試みます。
stats
統計値を印刷 (表示) します。内部のカウンタを 0 にリセットし、これは、 statistics-cumulative 設定文を使用して制御することができます。統計値は、1 つの [名前] で印刷 (表示) されます: 1 行ごとの [値]。
stats_noreset
統計値を見ます。それらを stats コマンドが行うように印刷 (表示) しますが、内部のカウンタを 0 にリセットしません。
status
サーバ状態を表示します。 (ポートへの接続が拒否されます) 実行していないなら、終了コードは、3 で、エラーの場合は、1 で、実行しているなら 0 です。
local_zone name type
名前とタイプがある新しいローカルなゾーンを追加します。 local-zone 設定文に似ています。ゾーンが既に存在するなら、タイプは、与えられた引数に変更されます。
local_zone_remove name
与えられた名前があるローカルなゾーンを削除します。その内部のすべてのローカルデータを削除します。ゾーンが存在しないなら、コマンドは、成功します。
local_data RR data...
与えられたリソースレコードである、新しいローカルデータを追加します。カバーしているゾーンが存在しないときを除いて、 local-data 設定文に似ています。その場合に、このリモート制御コマンドは、このレコードと同じ名前で透過的なゾーンを作成します。このコマンドは、詳細な構文エラーを返すことが不得手です。
local_data_remove name
ローカル名からすべての RR データを削除します。名前にまだ項目がないなら、何も起こりません。しばしば (静的なゾーンの) 名前のために NXDOMAIN に結果となりますが、名前が (削除された名前より下のドメイン名にデータがまだある) 空の非終端となるなら、NOERROR nodata の答えは、その名前に対しての結果となります。
dump_cache
キャッシュの内容は、テキスト形式で stdout (標準出力) に印刷されます。利用者は、ファイルにキャッシュを格納するファイルにそれをリダイレクトできます。
load_cache
キャッシュの内容は、stdin (標準入力) からロードされます。 dump_cache が使用するのと同じ形式を使用します。古いか、または間違ったデータでキャッシュをロードすることは、クライアントに返された古いか、または間違ったデータの結果となるかもしれません。このようにキャッシュにデータをロードすることは、デバッグで援助するためにサポートされます。
lookup name
指定された名前を検索するために使用されるネームサーバを stdout (標準出力) に印刷 (表示) します。
flush name
キャッシュから名前を削除しあす。タイプ A、AAAA、NS、SOA、CNAME、DNAME、MX、PTR、SRV と NAPTR を削除します。なぜなら、それは、行うことが速いからです。 flush_type または flush_zone を使用して、他のレコード形式を削除することができます。
flush_type name type
name、キャッシュからの type 情報を削除します。
flush_zone name
すべての情報または、キャッシュから name 以下を削除します。新しい検索を実行できるように、rrsets と key エントリは、削除されます。これは、すべてのキャッシュを渡り歩き検査する必要があり、遅い操作です。
flush_bogus
キャッシュからすべての偽りのデータを削除します。
flush_stats
統計値を 0 にリセットします。
flush_requestlist
作用される問い合わせを落とします。サーバが今作用している問い合わせで動作を停止します。キャッシュは、影響されません。応答は、それらの問い合わせのために送信されす、恐らく後で、それらのユーザを再び要求します。より高い冗長レベルのような、新しい設定がある問い合わせで作用するサーバを再開するために役に立ちます。
dump_requestlist
何が作用されるか表示します。サーバが現在作用している、すべての問い合わせを印刷 (表示) します。ユーザが待っている時間を印刷 (表示) します。内部のリクエストについて、時間は、印刷 (表示) されません。そして、次に、モジュールの状態を印刷します。
flush_infra all|IP
all であるなら、全体の以下 (infra) のキャッシュは、空にされます。特定の IP アドレスであるなら、そのアドレスのためのエントリは、キャッシュから削除されます。それは、EDNS、ping と lameness データを含んでいます。
dump_infra
以下 (infra) のキャッシュの内容を表示します。
set_option opt: val
オプションをリロードせずに与えられた値に設定します。したがって、キャッシュは、フラッシュされません。オプションは、':' で終らなければならず、空白類は、オプションと値の間になければなりません。いくつかの値は、この方法を設定するなら、効果がないかもしれません、新しい値は、設定ファイルに書き込まれず、すべてのオプションがサポートされるとは限りません。これは、unbound が初期化されないので、すべての値が動作するところで、 libunbound の set_option 呼び出しとは異なります。
動作する値は、次の通りです: statistics-interval, statistics-cumulative, do-not-query-localhost, harden-short-bufsize, harden-large-queries, harden-glue, harden-dnssec-stripped, harden-below-nxdomain, harden-referral-path, prefetch, prefetch-key, log-queries, hide-identity, hide-version, identity, version, val-log-level, val-log-squelch, ignore-cd-flag, add-holddown, del-holddown, keep-missing, tcp-upstream, ssl-upstream.
get_option opt
オプションの値を取得します。後続する ':' のないオプション名を与えます。値が印刷 (表示) されます。値が ""であるなら、何も印刷されず、接続は、クローズします。エラーで 'error ...' が印刷されます (それは、未知のオプションで構文エラーとなります)。値のリストのいくつかのオプションについて、各行に 1 つが印刷 (表示) されます。オプションは、set_option で修正される設定ファイルから表示されます。いくつかのオプションについて、上書きは、このコマンドで表示されないものからとられ、結果を生じません、例えば、冗長性と転送制御コマンド。動作するオプションとは限らず、それらのための list_stubs、list_forwards、 list_local_zones と list_local_data を参照してください。
list_stubs
使用中のスタブ (stub) ゾーンをリストします。これらは、出力に一つずつ印刷されます。これは、使用中の root のヒントを含んでいます。
list_forwards
使用中の転送ゾーンをリストします。これらは、出力にゾーンごとに印刷されます。
list_local_zones
使用中のローカルゾーンをリストします。これらは、ゾーンタイプがある 1 行ごとに 1 つ印刷されます。
list_local_data
使用中のローカルデータ RR をリストします。リソースコードが印刷されます。
forward_add [ +i] zone addr ...
新しい転送ゾーンを実行している unbound に追加します。また、+i オプションで、ゾーンのための domain-insecure を追加します (それで、利用者が他の名前のために設定された DNSSEC root 信頼アンカがあるなら、安全でなく解決することができます)。 addr は、unbound.conf forward-zone 設定のように、 IP4、IP6 またはネームサーバ名を指定できます。
forward_remove [ +i] zone
実行している unbound から転送ゾーンを削除します。また、+i は、ゾーンのための domain-insecure を削除します。
stub_add [ +ip] zone addr ...
新しいスタブ (stub) ゾーンを実行している unbound に追加します。また、+i オプションで、ゾーンのための domain-insecure を追加します。 +p で、スタブ (stub) ゾーンは、notprime に設定することなしで、 prime に設定されます。 addr は、unbound.conf の stub-zone 設定のように、 IP4、IP6 またはネームサーバ名を指定できます。
stub_remove [ +i] zone
実行している unbound からスタブ (stub) ゾーンを削除します。また、+i は、ゾーンのための domain-insecure を削除します。
forward [ off | addr ... ]
転送モードをセットアップします。サーバが他の上流のネームサーバに問い合わせるべきであるなら、設定は、インターネット root ネームサーバそれ自体に行くべきか、または現在の設定を表示します。利用者は、DHCP 更新の後にネームサーバをパスするかもしれません。
引数なしで、すべての問い合わせを転送するために使用されるアドレスの現在のリストが印刷されます。起動時に、これは、forward-zone "."設定からです。後で、状態を表示します。転送が使用されないとき、印刷されません。
off が渡されるなら、転送は、無効にされ、root のネームサーバが使用されます。 DHCP から返されたバグがあるか、または DNSSEC でないサポートされたネームサーバを避けるために、これを使用することができます。しかし、ホテルまたはホットスポットで動作しません。
1 つ以上の IPv4 または IPv6 アドレスが与えられるなら、それらは、問い合わせを転送するために使用されます。アドレスは、空白で区切られなければなりません。 (デフォルトポートは、53 (DNS) です)。
デフォルトで、root "."のための設定ファイルからの転送情報が使用されます。設定ファイルは、変更されないので、リロードの後に、これらの変更は、失われます。設定ファイルからの他の転送ゾーンは、このコマンドによって影響されません。

終了コード

unbound-control プログラムは、エラーでステータスコード 1 で終了し、成功すれば、ステータスコード 0 で終了します。

セットアップ

セットアップは、自己署名証明書とサーバとクライアントの両方のための秘密鍵を要求します。スクリプト unbound-control-setup は、デフォルトの実行ディレクトリ、または別のディレクトリの-d を付けて、これらを生成します。キーファイルでアクセス制御の許可を変更するなら、利用者は、すべてのユーザではなく、デフォルトの所有者とグループによって、unbound-control を使用することができるかを決定することができます。デーモンがファイルを読み込む許可できるように、unbound.conf で、または root として設定されたのと同じユーザ名の下でスクリプトを実行します、例えば、次のもので:
sudo -u unbound unbound-control-setup
unbound.conf のユーザ名を設定していないなら、キーは、デーモンが開始されるユーザ証明書のための読み込みパーミッションを必要とします。スクリプトは、ディレクトリの秘密鍵を保存します。 root としてスクリプトを実行した後に、 unbound.confcontrol-enable をオンにします。

静的カウンタ

stats コマンドは、多くの統計値のカウンタを表示します。
threadX.num.queries
スレッドによって受信された問い合わせの数。
threadX.num.cachehits
キャッシュの検索を使用して、成功して答えられた問い合わせの数。
threadX.num.cachemiss
再帰処理を必要とする問い合わせの数。
threadX.num.prefetch
実行されたキャッシュプリフェッチの数。この数は、requestlist のスロットをとって、オリジナルの問い合わせがキャッシュからのプリフェッチされない答えがあり、再帰処理の結果のような、キャッシュヒットに含まれます。キャッシュ応答として、recursivereplies (またはヒストグラム) または cachemiss の一部ではないものが送信されました。
threadX.num.recursivereplies
再帰処理を必要とする問い合わせを送信する応答の数。タイムアウトのために、応答がいくつかの問い合わせのために送信されないなら、 threadX.num.cachemiss より小さいくなるでしょう。
threadX.requestlist.avg
新しい着信の再帰的な処理の問い合わせの挿入で内部の再帰的な処理要求のリストの要求の平均数。
threadX.requestlist.max
内部の再帰的な処理の要求リストによって到達される最大サイズ。
threadX.requestlist.overwritten
より新しいエントリによって上書きされた要求リストの要求の数。問い合わせの洪水があるなら、これが、起こり、その再帰的な処理とサーバは、困難な状況がありました。
threadX.requestlist.exceeded
要求リストがいっぱいだったので落とされた問い合わせ。問い合わせの洪水が再帰的な処理を必要とするなら、これが、起こり、サーバは、存続することができません。
threadX.requestlist.current.all
(priming 問い合わせと glue 検索のような) 内部的に生成された問い合わせを含む要求リストの現在のサイズ。
threadX.requestlist.current.user
クライアントの問い合わせからの要求のみの、要求リストの現在のサイズ。
threadX.recursion.time.avg
再帰的な処理を必要とした問い合わせに答えるために取られた平均時間。キャッシュから答えられた問い合わせは、この平均にないことに注意してください。
threadX.recursion.time.median
再帰的な処理を必要とした問い合わせに答えるために取られた時間の中央値。中央値は、ユーザの問い合わせの 50% が、この時間未満で答えられたことを意味します。大きな異常値 (通常 non の応答サーバに問い合わせる) のために、平均は、中央値より大きくなりえます。この中央値は、ヒストグラムからの補間によって計算されました。
total.num.queries
スレッドを越えて合計された。
total.num.cachehits
スレッドを越えて合計された。
total.num.cachemiss
スレッドを越えて合計された。
total.num.prefetch
スレッドを越えて合計された。
total.num.recursivereplies
スレッドを越えて合計された。
total.requestlist.avg
スレッドを越えて平均された。
total.requestlist.max
スレッドの最高の requestlist.max 値。
total.requestlist.overwritten
スレッドを越えて合計された。
total.requestlist.exceeded
スレッドを越えて合計された。
total.requestlist.current.all
スレッドを越えて合計された。
total.recursion.time.median
スレッドを越えて平均された。
time.now
1970 年以来の秒単位で現在の時刻。
time.up
秒単位のサーバのブート以来のアップタイム (uptime)。
time.elapsed
秒単位の最後の統計値の印刷出力以来の時間。

拡張された統計値

mem.total.sbrk
sbrk(2) が利用可能であるなら、バイトの数でプログラムのヒープ (領域の) サイズの見積り。 top と ps によって報告されるような、プログラムによって使用される合計メモリに近い値です。 OS が隣接していないメモリを割り付けるなら、間違っているかもしれません。
mem.cache.rrset
RRset キャッシュによって使用中のバイト単位のメモリ。
mem.cache.message
メッセージキャッシュによって使用中のバイト単位のメモリ。
mem.mod.iterator
反復子 (iterator) モジュールによって使用中のバイト単位のメモリ。
mem.mod.validator
検証ソフト (validator) モジュールによって使用中のバイト単位のメモリ。キーのキャッシュと否定のキャッシュを含んでいます。
histogram.<sec>.<usec>.to.<sec>.<usec>
すべてのスレッドを通した合計のヒストグラムを表示します。すべての要素は、応答時間が下限と上限の間に適合する繰り返される問い合わせをカウントします。時間は、下限以上で、上限より小さくなります。バケットサイズの 2 倍で、40 のバケットがあります。
num.query.type.A
問い合わせタイプ A で、すべてのスレッドを越える問い合わせの合計数。問い合わせが受信されたタイプのみでなく、同様に他の問い合わせタイプのために印刷されますが、それで、=0 エントリは、簡潔さのために省略されます。
num.query.type.other
問い合わせタイプ 256-65535 がある問い合わせの数。
num.query.class.IN
問い合わせクラス IN (インターネット) があるすべてのスレッドを通した問い合わせの合計数。また、動的な更新によって使用される (デバッグのために時々使用される CH (CHAOS) のような) 他のクラス、または NONE、ANY のために印刷されました。 num.query.class.other は、クラス 256-65535 のために印刷されます。
num.query.opcode.QUERY
問い合わせ opcode QUERY があるすべてのスレッドを通した問い合わせの合計数。また、他の opcodes、UPDATE、... のために印刷しました。
num.query.tcp
unbound サーバに向けた TCP を使用して行なわれた問い合わせの数。
num.query.ipv6
unbound サーバに向けた IPv6 を使用して行なわれた問い合わせの数。
num.query.flags.RD
ヘッダで設定された RD フラグがあった問い合わせの数。また、フラグ QR、AA、TC、RA、Z、AD、CD のために印刷されました。フラグ QR、AA または TC がある問い合わせは、そのために拒否されたかもしれないことに注意してください。
num.query.edns.present
存在する EDNS OPT レコードがあった問い合わせの数。
num.query.edns.DO
設定された DO (DNSSEC OK) ビットがある EDNS OPT レコードがあった問い合わせの数。また、これらの問い合わせは、num.query.edns.present 番号に含まれています。
num.answer.rcode.NXDOMAIN
返りコード NXDOMAIN があった、キャッシュまたは繰り返しから、問い合わせの答えの数。また、他の返りコードのために印刷されました。
num.answer.rcode.nodata
偽りの返りコード nodata があった問い合わせの答えの数。これは、実際の返りコードが NOERROR だったことを意味しますが、さらに、データは、(何が NOERROR/NODATA 答えと呼び出されるかを行なって) 答えを運び入れられませんでした。また、これらの問い合わせは、num.answer.rcode.NOERROR 番号に含まれています。 A レコードが存在し、AAAA が存在しないとき、AAAA 検索に共通。
num.answer.secure
安全だった答えの数。答えは、正確で有効でした。答えの AD ビットを受け付ける準備ができている (問い合わせで DO または AD ビットがある) シグナルが起こされたクライアントのところで、 AD ビットは、これらの答えのうちのいくつかで設定されたかもしれません。
num.answer.bogus
偽りだった答えの数。これらの答えは、答えが検証に失敗したので、クライアントへの SERVFAIL の結果となります。
num.rrset.bogus
検証ソフト (validator) によって偽りとマークされた rrsets の数。失敗するすべての RRset 検査のために増加します。
unwanted.queries
それらがアクセス制御の設定に失敗したので、拒否されたか、または落とされた問い合わせの数。
unwanted.replies
望まれなかったか、または求められなかった応答。ランダムなトラフィック、遅延された複写、たいへん遅い答えであったか、または試みをなりすましされました。遅い答えと遅延された複写のいくつかの低レベルは、UDP プロトコルで期待されています。非常に高い値は、脅威 (なりすまし) を示すこともあり得ます。

関連ファイル

/var/unbound/unbound.conf
unbound configuration file. unbound 設定ファイル。
/var/unbound
秘密鍵 (unbound_server.key と unbound_control.key) と自己署名証明書 (unbound_server.pem and unbound_control.pem) があるディレクトリ。

関連項目

unbound.conf(5), unbound(8)
March 21, 2013 NLnet Labs