unbound-controlを使用する

unbound-controlを使用することにより、ローカル及びリモート等のUnboundの操作、各種統計情報を取得することが可能となります。

各サービスの設定

unboundでははunbound-controlを使用することにより、SSLの証明書作成や、バージョン情報、統計情報等の確認ができるようになります。

SSLの証明書を作成

ローカルやリモートでサーバに接続する際は、SSLを利用するためサーバ側でSSLの証明書を作成するようにします。

/usr/local/sbin/unbound-control-setup
setup in directory /var/unbound
generating unbound_server.key
Generating RSA private key, 1536 bit long modulus
......................................++++
.............................................++++
e is 65537 (0x10001)
generating unbound_control.key
Generating RSA private key, 1536 bit long modulus
.++++
..........++++
e is 65537 (0x10001)
create unbound_server.pem (self signed certificate)
create unbound_control.pem (signed client certificate)
Signature ok
subject=/CN=unbound-control
Getting CA Private Key
Setup success. Certificates created. Enable in unbound.conf file to use

証明書は”/var/unbound/”配下に作成されます。

ll
合計 76
drwxr-xr-x 2 root    root     4096  5月  2 15:46 2014 dev
drwxr-xr-x 2 root    root     4096  5月  2 17:19 2014 etc
-rw-r--r-- 1 root    root    24000  5月  7 09:50 2014 unbound.conf
-rw-r--r-- 1 root    root    23830  5月  2 14:58 2014 unbound.conf.original
-rw-r--r-- 1 unbound unbound     6  5月  7 09:50 2014 unbound.pid
-rw-r----- 1 root    root     1277  5月  7 10:05 2014 unbound_control.key
-rw-r----- 1 root    root      802  5月  7 10:05 2014 unbound_control.pem
-rw-r----- 1 root    root     1277  5月  7 10:05 2014 unbound_server.key
-rw-r----- 1 root    root      790  5月  7 10:05 2014 unbound_server.pem

unboundの情報を出力できるようにする

unbound.confにて以下のようにremote-control-enableを”yes”に設定

# vi /etc/unbound.conf

remote-control:
        control-enable: yes

サービスを再起動します。

# service unbound restart

unboundのバージョン、稼働状況を出力

# /usr/local/sbin/unbound-control status
version: 1.4.22rc1
verbosity: 1
threads: 1
modules: 2 [ validator iterator ]
uptime: 15915 seconds
unbound (pid 20050) is running...

統計情報の出力

# /usr/local/sbin/unbound-control stats
thread0.num.queries=2
thread0.num.cachehits=0
thread0.num.cachemiss=2
thread0.num.prefetch=0
thread0.num.recursivereplies=2
thread0.requestlist.avg=0
thread0.requestlist.max=0
thread0.requestlist.overwritten=0
thread0.requestlist.exceeded=0
thread0.requestlist.current.all=0
thread0.requestlist.current.user=0
thread0.recursion.time.avg=6.144277
thread0.recursion.time.median=0
total.num.queries=2
total.num.cachehits=0
total.num.cachemiss=2
total.num.prefetch=0
total.num.recursivereplies=2
total.requestlist.avg=0
total.requestlist.max=0
total.requestlist.overwritten=0
total.requestlist.exceeded=0
total.requestlist.current.all=0
total.requestlist.current.user=0
total.recursion.time.avg=6.144277
total.recursion.time.median=0
time.now=1399444322.133418
time.up=15930.475471
time.elapsed=13425.355395

キャッシュクリアと設定ファイルの再読み込み

# /usr/local/sbin/unbound-control reload
ok

名前解決

# drill www.test.jp
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 4268
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;; www.test.jp. IN      A

;; ANSWER SECTION:
www.test.jp.    200     IN      A       210.191.71.65

;; AUTHORITY SECTION:
test.jp.        200     IN      NS      dns2.test.ne.jp.
test.jp.        200     IN      NS      dns1.test.jp.
test.jp.        200     IN      NS      dns1.test.ne.jp.

;; ADDITIONAL SECTION:
dns1.test.ne.jp.       300     IN      A       210.191.71.1
dns2.test.ne.jp.       300     IN      A       210.191.71.2
dns1.test.jp.   200     IN      A       218.40.228.9

;; Query time: 1 msec
;; SERVER: 127.0.0.1
;; WHEN: Wed May  7 15:33:17 2014
;; MSG SIZE  rcvd: 159

キャッシュの内容を確認する

キャッシュ内容出力(キャッシュがない状態)

# /usr/local/sbin/unbound-control dump_cache
START_RRSET_CACHE
END_RRSET_CACHE
START_MSG_CACHE
END_MSG_CACHE
EOF

キャッシュ内容出力(キャッシュがある状態)

# /usr/local/sbin/unbound-control dump_cache
START_RRSET_CACHE
;rrset 297 1 0 3 2
dns2.test.ne.jp.       297     IN      A       210.191.71.2
;rrset 297 1 0 3 2
dns1.test.ne.jp.       297     IN      A       210.191.71.1
;rrset 197 3 0 7 2
bbiq.jp.        197     IN      NS      dns1.test.ne.jp.
bbiq.jp.        197     IN      NS      dns2.test.ne.jp.
bbiq.jp.        197     IN      NS      dns1.test.jp.
;rrset 197 1 0 8 2
www.test.jp.    197     IN      A       210.191.71.65
;rrset 197 1 0 3 2
dns1.test.jp.   197     IN      A       218.40.228.9
END_RRSET_CACHE
START_MSG_CACHE
msg www.test.jp. IN A 33152 1 197 2 1 1 3
www.test.jp. IN A 0
test.jp. IN NS 0
dns1.test.ne.jp. IN A 0
dns2.test.ne.jp. IN A 0
dns1.test.jp. IN A 0
END_MSG_CACHE
EOF

以上です。
お疲れ様でした。

以上です。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!