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
以上です。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す