## page was renamed from DNS/用語/キャッシュサーバ実装/yatz82.qmail.jp
## page was renamed from DNS/キャッシュサーバ/yatz82.qmail.jp
## page was copied from watchNS/yatz82.qmail.jp
DNS/watch/yatz82.qmail.jpについて、ここに記述してください。
<<TableOfContents()>>

目的

 * togetter.comのかつての設定でなぜ問題が発生しなかったのかの調査
 * value-domain.com のDNS管理機能を使った設定の調査

== 警告 ==
かなり怪しげな設定をしているので、けして真似をしてはならない。

== yatz82.qmail.jp ==

  
$ dnsq any www.yatz82.qmail.jp a.ns.qmail.jp
{{{
255 www.yatz82.qmail.jp:
89 bytes, 1+0+2+0 records, response, noerror
query: 255 www.yatz82.qmail.jp
authority: yatz82.qmail.jp 600 NS ns1.value-domain.com
authority: yatz82.qmail.jp 600 NS ns2.value-domain.com
}}}

== 権威サーバでの設定 ==
注意: CNAME の行は本来あってはいけないものです。

$ dnsq a yatz82.qmail.jp ns1.value-domain.com
{{{
1 yatz82.qmail.jp:
211 bytes, 1+5+2+2 records, response, authoritative, noerror
query: 1 yatz82.qmail.jp
answer: yatz82.qmail.jp 1200 CNAME moin.qmail.jp
answer: yatz82.qmail.jp 1200 CNAME ghs.google.com
answer: yatz82.qmail.jp 1200 CNAME www.yatz82.qmail.jp
answer: yatz82.qmail.jp 1200 A 218.44.237.137
answer: yatz82.qmail.jp 1200 A 202.41.218.243
authority: yatz82.qmail.jp 1200 NS ns1.value-domain.com
authority: yatz82.qmail.jp 1200 NS ns2.value-domain.com
additional: ns1.value-domain.com 1200 A 119.245.243.94
additional: ns2.value-domain.com 1200 A 175.28.48.57
}}}
-----
{{{
以下はいくつかのキャッシュサーバに問い合わせてみたときの返事です。
}}}
== 8.8.8.8 ==
$ DNSCACHEIP=8.8.8.8 dnsqr a yatz82.qmail.jp
{{{
1 yatz82.qmail.jp:
87 bytes, 1+3+0+0 records, response, noerror
query: 1 yatz82.qmail.jp
answer: yatz82.qmail.jp 1188 CNAME moin.qmail.jp
answer: moin.qmail.jp 86388 CNAME www9.qmail.jp
answer: www9.qmail.jp 86388 A 202.41.218.243
}}}

== てもとのunbound ==
$ dnsqr a yatz82.qmail.jp
{{{
1 yatz82.qmail.jp:
223 bytes, 1+3+2+3 records, response, noerror
query: 1 yatz82.qmail.jp
answer: yatz82.qmail.jp 1200 CNAME moin.qmail.jp
answer: moin.qmail.jp 82745 CNAME www9.qmail.jp
answer: www9.qmail.jp 82745 A 202.41.218.243
authority: qmail.jp 82745 NS a.ns.qmail.jp
authority: qmail.jp 82745 NS uz5b3p79vgf8v8yttum0fr1cbpg4tr0gdywhvwzdmb6u3hj6b8lk30.a.ns.qmail.jp
additional: a.ns.qmail.jp 84935 A 202.41.218.243
additional: a.ns.qmail.jp 84935 A 218.44.237.137
additional: uz5b3p79vgf8v8yttum0fr1cbpg4tr0gdywhvwzdmb6u3hj6b8lk30.a.ns.qmail.jp 84935 A 59.106.175.222
}}}

委譲されていることは(理由は不明だが、結果として)無視されているような返事だ。 -- ToshinoriMaeno <<DateTime(2011-07-08T20:25:24+0900)>>

いえ、完全に無視されているわけではないようです。moin.qmail.jpのCNAMEは、'yatz82.qmail.jp'のサブドメイン内のゾーン情報として設定しているものですから。 --[[yatz82|yatz82]]
----
それは設定内容を知っているから言えることですね。
 上の結果だけをみると、yatz82.qmail.jp は委譲されているようには見えないでしょうと言いたかった。-- ToshinoriMaeno <<DateTime(2011-07-08T21:20:56+0900)>>

そうですね、そのとおりです。私も書いてから気付きました。
 ところで、自宅環境のBINDだとSERVFAILになります。
 KDDIのキャッシュサーバもBINDのようで同じくSERVFAILでした。 --[[yatz82|yatz82]]

{{{
プライマリDNS 	210.196.3.183
セカンダリDNS 	210.141.112.163
※v6アドレスのキャッシュサーバでも同じ
}}}

別ドメイン(yatz82.com)で確認したところ、KDDIのサーバはCANMEを2つにすると
SERVFAILになります。下記のそれぞれのサーバも同じでした。 --[[yatz82|yatz82]]

== sphere.ad.jp, so-net.ne.jp  ==
http://www.sphere.ne.jp/dnssec/

$ DNSCACHEIP=203.138.63.115 dnsqr ns yatz82.qmail.jp
{{{
2 yatz82.qmail.jp:
temporary failure
}}}
tmaeno@:~$ DNSCACHEIP=203.138.63.115 dnsqr a yatz82.qmail.jp
{{{
1 yatz82.qmail.jp:
temporary failure
}}}

== sakura.ad.jp ==
DNSキャッシュサーバ(dns3.sakura.ad.jp, dns4.sakura.ad.jp) 210.224.163.[34]

DNSCACHEIP=210.224.163.4 dnsqr a yatz82.qmail.jp
{{{
1 yatz82.qmail.jp:
temporary failure
}}}

$ dig @210.224.163.4 ns yatz82.qmail.jp
{{{
; <<>> DiG 9.7.3 <<>> @210.224.163.4 ns yatz82.qmail.jp
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 6588
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;yatz82.qmail.jp.		IN	NS

;; Query time: 62 msec
;; SERVER: 210.224.163.4#53(210.224.163.4)
;; WHEN: Sat Jul  9 13:57:07 2011
;; MSG SIZE  rcvd: 33
}}}

$ dig +norec @210.224.163.4 any yatz82.qmail.jp
{{{
; <<>> DiG 9.7.3 <<>> +norec @210.224.163.4 any yatz82.qmail.jp
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26540
;; flags: qr ra; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;yatz82.qmail.jp.		IN	ANY

;; AUTHORITY SECTION:
yatz82.qmail.jp.	355	IN	NS	ns2.value-domain.com.
yatz82.qmail.jp.	355	IN	NS	ns1.value-domain.com.

;; ADDITIONAL SECTION:
ns1.value-domain.com.	288	IN	A	119.245.243.94
ns2.value-domain.com.	577	IN	A	175.28.48.57

;; Query time: 104 msec
;; SERVER: 210.224.163.4#53(210.224.163.4)
;; WHEN: Sat Jul  9 13:59:28 2011
;; MSG SIZE  rcvd: 117
}}}

== OpenDNS ==
-- ToshinoriMaeno <<DateTime(2011-07-09T00:25:39+0900)>>

$ DNSCACHEIP=208.67.222.222 dnsqr any yatz82.qmail.jp
{{{
255 yatz82.qmail.jp:
226 bytes, 1+8+0+0 records, response, noerror
query: 255 yatz82.qmail.jp
answer: yatz82.qmail.jp 1200 CNAME moin.qmail.jp
answer: yatz82.qmail.jp 1200 CNAME ghs.google.com
answer: yatz82.qmail.jp 2560 SOA ns1.value-domain.com hostmaster.yatz82.qmail.jp 1310137772 16384 2048 1048576 2560
answer: yatz82.qmail.jp 1200 NS ns1.value-domain.com
answer: yatz82.qmail.jp 1200 NS ns2.value-domain.com
answer: yatz82.qmail.jp 1200 CNAME www.yatz82.qmail.jp
answer: yatz82.qmail.jp 1200 A 202.41.218.243
answer: yatz82.qmail.jp 1200 A 218.44.237.137
}}}

any ではCNAMEの先は見てくれないが、 a なら見ているらしい。
 
$ DNSCACHEIP=208.67.222.222 dnsqr a yatz82.qmail.jp
{{{
1 yatz82.qmail.jp:
67 bytes, 1+2+0+0 records, response, noerror
query: 1 yatz82.qmail.jp
answer: yatz82.qmail.jp 1040 CNAME www.yatz82.qmail.jp
answer: www.yatz82.qmail.jp 0 A 67.215.65.132
}}}

www.yatz82.qmail.jp のA (IP address) はなにか。TTL 0 も気になる。

$ dnsname 67.215.65.132
{{{
hit-nxdomain.opendns.com
}}}

OpenDNSはこんなことをしているのか。

 www.yatz82.qmail.jpはAは設定していませんでした。IPもOpenDNSのものなので、ご推察通り勝手に付けてるんだと思います。 --[[yatz82|yatz82]]

 Aを付けてみました。上記のIPは答えなくなりました。--[[yatz82|yatz82]]

----
$ dig @208.67.222.222 ns yatz82.qmail.jp
{{{
; <<>> DiG 9.7.3 <<>> @208.67.222.222 ns yatz82.qmail.jp
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56308
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;yatz82.qmail.jp.		IN	NS

;; ANSWER SECTION:
yatz82.qmail.jp.	1169	IN	CNAME	www.yatz82.qmail.jp.

;; Query time: 176 msec
;; SERVER: 208.67.222.222#53(208.67.222.222)
;; WHEN: Sun Jul 10 12:46:19 2011
;; MSG SIZE  rcvd: 51
}}}

NSは無視されている。

== dnscache (djbdns) ==
%dnsqr a yatz82.qmail.jp
{{{
1 yatz82.qmail.jp:
51 bytes, 1+1+0+0 records, response, authoritative, nxdomain
query: 1 yatz82.qmail.jp
answer: yatz82.qmail.jp 1153 CNAME www.yatz82.qmail.jp
}}}

これも苦しい返事です。 nxdomain といいながら、CNAMEを返すとは。(error なのか)

== 考察 ==
unbound の answer section だけを見ると 8.8.8.8 と一致している。
 理由を考える必要がある。
どちらのキャッシュサーバもRFCに反したデータを与えられて混乱しているように見える。
 エラーにしないのがいけないのだが、ログには警告はでているのだろうか。調査する必要がある。

== 結論 ==
BINDのようにSERVFAILを返すのがいいと考えますが、そうするとアクセスできなくなります。 (当然の報いです。)
 これがtogetter.comにアクセスできないという話の根拠かも。 -- ToshinoriMaeno <<DateTime(2011-07-08T23:34:16+0900)>>
    でも、togetter.comがおかしい(CNAME, NS)というのはあったが、 アクセスできないという騒ぎにはなっていなかった。なぜか。