2005年4月 8日

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

こんばんは。
以下の検証をして見ました。

条件:
・masterが落ちている
・slaveのゾーンがexpire
・cacheのキャッシュに問い合わせるレコードが入っていない
の条件で、特定のサーバのAレコードを引くと、以下のログになりました。

ログ:

datagram from [client].1028, fd 22, len 32
req: nlookup(x.y.co.jp) id 4 type=1 class=1
req: found 'x.y.co.jp' as 'y.co.jp' (cname=0)
forw: forw -> [master].53 ds=5 nsid=45432 id=4 8ms retry 4sec
resend(addr=1 n=0) -> [slave].53 ds=5 nsid=45432 id=4 10ms
datagram from [slave].53, fd 5, len 32
resend(addr=0 n=1) -> [master].53 ds=5 nsid=45432 id=4 8ms
resend(addr=0 n=2) -> [master].53 ds=5 nsid=45432 id=4 8ms
send_msg -> [client].1028 (UDP 22) id=4

補足:
このとき、cacheサーバのDBダンプより以下が分かりました。
・問い合わせたサーバのレコードは、ネガティブキャッシュに入りません。
・slaveサーバはlameサーバとして認識されません。
・RTT更新されません!!

RTTが更新されないので、何度引いても同じログを繰り返します。
TTLが切れるまで同じ状態が続くはずです。
先の障害と同じようなログを取ることが出来ました。

質問:
A)ゾーン転送がexpireしているslaveサーバに問い合わせて、lameとして認識されないのは他のバージョンでも同じですか?
  (現在の使用バージョン:8.2.2-p5-plus-patches)

B)障害時のログでは、2つ登録されているNSサーバの片方にしかアクセスしていませんでした。
  このとき、アクセスしていないNSサーバは、正常に動作していました。
  当該ドメインのNSとしてキャッシュに入っていなかったのではないかと考えています。
  この状況を再現したいのですが、何か良い方法はありませんか?

よろしくお願いします。
渡辺


-----Original Message-----
From: Watanabe, Hiroshi
Sent: Friday, April 08, 2005 1:14 PM
To: linux-users@xxxxx
Subject: [linux-users:104781] RE: [linux-users:104780] Re: キャッシュサーバで特定ドメインの名前がひけない

こんにちは。
返信ありがとうございます。

>「引けない」とは、
> (1). キャッシュサーバが無反応
> (2). キャッシュサーバがNXDOMAIN(でしたか?、
> そんなものは登録されていないというお答え)
> が返ってくる
>のいずれでしょうか。

当時、nslookupを使って ns.yyyy.or.jp に問い合わせたところ、
サーバーの応答はあるが、該当サーバのAレコードが引けない状態だったため、
(2)に相当すると思います。

>ログの 6),7) で応答が戻ってきているように
>見えますが、これは何でしょうか?

なんでしょう?
ns.yyyy.or.jpが、「自分は問い合わせられたアドレスを知らないよ。」と返しているのではないでしょうか?
ただ、6)、7)の応答を受けて、Lameキャッシュしたりはしないのでしょうか?
また、4)、5)で、2回問い合わせているのが良く分かりません。

> なお
> > C) "ns.yyyy.or.jp"は、xxxx.co.jpドメインについて
> > Lame 状態であるが、キャッシュサーバはLameであると
> > 認識しないのでしょうか?
> > (8.2.2では、Lameサーバは転送対象のNSには
> > ならないので、ns.yyyy.or.jpにアクセスしないはず)
> とありますが、xxxx.co.jpドメインのNSレコードとして
> ns.yyyy.or.jpを、co.jpドメインのネームサーバに登録
> していないということでしょうか? それならば普通
> キャッシュサーバはns.yyyy.or.jpへ問い合わせない
> はずです。

co.jpのネームサーバには、ns.yyyy.or.jp と ns.xxxx.co.jp が正しく登録されています。
ns.yyyy.or.jpが、ゾーン転送が失敗しているなどの理由で、xxxx.co.jp ドメインに対して応答できなくなっているため、
ns.yyyy.or.jp に対して mx.xxxx.co.jp を問い合わせた結果、Lameにならないのかな〜?ということです。

リンク、ありがとうございます。

何か、お気づきの点があれば、補足お願いします。
渡辺


> ログの内容:
> 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


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




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