unboundでキャッシュをクリアする設定


unboundをキャッシュサーバとして使用する際、権威サーバのTTLを受け継ぐので、権威サーバ上で該当のドメインが消えた際、キャッシュサーバではTTLが0にならない限り、そのドメインはキャッシュされ続けます。

なので、定期的にクエリを飛ばすようにして、該当のドメインが存在しない場合はクリアする設定をします。


unboundキャッシュクリア設定

リゾルバにデータへのクエリーを頻繁に行わせるように低く設定することができます。

キャッシュサーバとしてunboundを動かしている場合、権威サーバへのクエリを低く設定することで、権威サーバで名前解決ができなくなった際、クエリの設定状況により、キャッシュをクリアすることが可能になります。

キャッシュ内のクエリーを設定

以下のように”unbound.conf”で設定を追記します。
今回は権威サーバへ10秒ごとにクエリするようにします。

# vi /etc/unbound.conf
cache-max-ttl: 10

設定に問題は無いかチェックをします。
以下の出力結果が出ればOKです。

# unbound-checkconf
unbound-checkconf: no errors in /var/unbound/unbound.conf

再起動を実施します。

# service unbound restart
unbound を停止中:                                          [  OK  ]
unbound を起動中:                                          [  OK  ]

確認コマンド

# watch -n 1 drill www.test.jp

Every 1.0s: drill www.test.jp                                                                Wed May  7 16:45:04 2014

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

;; ANSWER SECTION:
www.test.jp.    198     IN      A       10.0.0..65

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

;; ADDITIONAL SECTION:
dns1.test.ne.jp.       298     IN      A       192.168.1.1
dns2.test.ne.jp.       298     IN      A       192.168.1.2
dns1.test.jp.   198     IN      A       10.0.0.9

;; Query time: 0 msec
;; SERVER: 127.0.0.1
;; WHEN: Wed May  7 16:45:04 2014
;; MSG SIZE  rcvd: 159

クエリ先で名前解決ができなかったので、キャッシュはクリアされます。

# watch -n 1 drill www.test.jp

Every 1.0s: drill www.test.jp                                                                Wed May  7 16:33:24 2014

;; ->>HEADER<<- opcode: QUERY, rcode: SERVFAIL, id: 25149
;; flags: qr rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; www.test.jp. IN      A

;; ANSWER SECTION:

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 3 msec
;; SERVER: 127.0.0.1
;; WHEN: Wed May  7 16:33:24 2014
;; MSG SIZE  rcvd: 29


スプーフィングパケットの制御設定

ついでに、スプーフィングパケットを1000個(推奨)を受け取ると自動でキャッシュをクリアする設定です。

# vi /etc/unbound.conf
unwanted-reply-threshold: 1000

以上です。

サーバーエンジニアへの構築手順書

2014年5月17日
イラスト図解式 この一冊で全部わかるサーバーの基本

イラスト図解式 この一冊で全部わかるサーバーの基本

きはし まさひろ
1,663円(09/18 18:12時点)
発売日: 2016/03/28
Amazonの情報を掲載しています


関連記事


コメントを残す

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

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

ABOUTこの記事をかいた人

blank

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