DNS/watch/yatz82.qmail.jpについて、ここに記述してください。

1. 警告

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

1.1. yatz82.qmail.jp

value-domain.com のDNS管理機能を使った設定の調査;

$ 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

1.2. 権威サーバでの設定

注意: 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


以下はいくつかのキャッシュサーバに問い合わせてみたときの返事です。

1.3. 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

1.4. てもとの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 2011-07-08 11:25:24

いえ、完全に無視されているわけではないようです。moin.qmail.jpのCNAMEは、'yatz82.qmail.jp'のサブドメイン内のゾーン情報として設定しているものですから。 --yatz82


それは設定内容を知っているから言えることですね。

そうですね、そのとおりです。私も書いてから気付きました。

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

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

1.5. 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

1.6. 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

1.7. OpenDNS

-- ToshinoriMaeno 2011-07-08 15:25:39

$ 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はこんなことをしているのか。


$ 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は無視されている。

1.8. 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 なのか)

1.9. 考察

unbound の answer section だけを見ると 8.8.8.8 と一致している。

どちらのキャッシュサーバもRFCに反したデータを与えられて混乱しているように見える。

1.10. 結論

BINDのようにSERVFAILを返すのがいいと考えますが、そうするとアクセスできなくなります。 (当然の報いです。)