2005年4月11日

[linux-users:104785] Re: キャッシュサーバで特定ドメインの名前がひけない

こんにちは、渡辺です。

鈴木さん、ありがとうございます。

>渡辺さんは障害を解決することにはあまり興味が無い
>(すでに障害は解決済?)ような印象を受けたりしない
>でもありませんが、お返事を念のため差し上げます。

いやいや、障害解決に興味ありますよ。
ただ、問題のドメインに対しては、他のサーバに転送する設定を追加することで回避できるため、

現在本番環境でドメインが引けない状態にはありません。

引けなくなるたびに転送設定を重ねていくことも出来ないので、根本的な対応が必要なので、
原因の特定を行う必要があるという状況です。

>slave だけで名前解決が終了し master に
>問い合わせない原因は、slave が返して来る
>応答に由来すると思います。メールに載せて
>くださったログではよく分かりませんので、
>ログの出力内容を調整したり、dig を試したり、
>tcpdump でパケットをキャプチャして、応答の
>内容を調べてはいかがでしょうか。

本番環境での障害で、現在は暫定対処で回避しているため、
まず、検証環境で同様の現象を再現させないと、詳細なログやパケットキャプチャを取得できない状態にあります。


masterに問い合わせない原因に関連しているかも知れないと思うこととして、
問題のドメインを引くと、キャッシュサーバのメモリに以下のような内容が入っていました。
; 3547 IN A [master] [postmaster] (
; 2005030701 10800 3600 604800 3600 );xxx.co.jp.;NODATA ;-$ ;Cr=auth [xxx.xxx.xxx.xxx]

NODATAですが、RFC2308によると、「応答コードはエラーなしで、解答セクションに適切な答えがない」状態のようです。
また、「NODATAが正しい 回答かどうか決定するためにもう1つの質問を送ることが必要です。」との記述があります。
http://www.minokasago.org/labo/RFC/rfc2308-jp.html

障害時のログ(以下に添付)の4行目sysquery:は、このNODATAに対する質問かな?と思い始めました。

ログの内容:
1) datagram from [127.0.0.1].4576, fd 22, len 34
2) req: nlookup(mx.xxxx.co.jp) id 18663 type=1 class=1
3) req: found 'mx.xxxx.co.jp' as 'xxxx.co.jp' (cname=0)
4) sysquery: send -> [ns.yyyy.or.jp].53 dfd=4 nsid=36345 id=0 retry=1110859511
5) forw: forw -> [ns.yyyy.or.jp].53 ds=4 nsid=3695 id=18663 18ms retry 4sec
6) datagram from [ns.yyyy.or.jp].53, fd 4, len 34
7) datagram from [ns.yyyy.or.jp].53, fd 4, len 34
8) send_msg -> [127.0.0.1].4576 (UDP 22) id=18663


NODATAの状況を再現してみたいのですが、この状況(キャッシュ内にNODATAのレコードを持つ)を発生させるための条件などはご存じないでしょうか?

渡辺


投稿者 xml-rpc : 2005年4月11日 13:24
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/9995
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。