1. DNS/リゾルバ/動作例
Contents
www.qmail.jp A レコードを取り込むまでのリゾルバ(キャッシュサーバ)の動きを見てみよう。
- (注: AAAA レコードは省略)
jp ゾーンの (登録)NS は root (ゾーン)サーバから、委譲返答として得る。
2. $ dnsq a www.qmail.jp a.root-servers.net
1 www.qmail.jp: 426 bytes, 1+0+7+13 records, response, noerror query: 1 www.qmail.jp authority: jp 172800 NS a.dns.jp authority: jp 172800 NS b.dns.jp authority: jp 172800 NS c.dns.jp authority: jp 172800 NS d.dns.jp authority: jp 172800 NS e.dns.jp authority: jp 172800 NS f.dns.jp authority: jp 172800 NS g.dns.jp additional: a.dns.jp 172800 A 203.119.1.1 additional: b.dns.jp 172800 A 202.12.30.131 additional: c.dns.jp 172800 A 156.154.100.5 additional: d.dns.jp 172800 A 210.138.175.244 additional: e.dns.jp 172800 A 192.50.43.53 additional: f.dns.jp 172800 A 150.100.6.8 additional: g.dns.jp 172800 A 203.119.40.1
用心深いリゾルバであれば、ここでなにかするかもしれない。
ひとまず、上の返事を信じて、 a.dns.jp に問い合わせてみよう。
- 見やすさのためにドメイン名で記述しているが、実際には IP アドレスを使用する。
3. $ dnsq a www.qmail.jp a.dns.jp
1 www.qmail.jp: 65 bytes, 1+0+1+1 records, response, noerror query: 1 www.qmail.jp authority: qmail.jp 86400 NS a.ns.qmail.jp additional: a.ns.qmail.jp 86400 A 14.192.44.5
qmail.jp の登録情報が返ってくる。 (俗に『権威のない』 『委任情報』と呼ばれているもの)
この状態では JP NS は root からの委譲を示すもののままである。
- よくある動作はこのようなものです。
jp NS情報については権威ある返答がキャッシュされることはまれである。
qmail.jp NS に対して、問合せると:
4. $ dnsq a www.qmail.jp a.ns.qmail.jp
1 www.qmail.jp: 81 bytes, 1+1+1+1 records, response, authoritative, noerror query: 1 www.qmail.jp answer: www.qmail.jp 86400 A 14.192.44.5 authority: qmail.jp 86400 NS a.ns.qmail.jp additional: a.ns.qmail.jp 86400 A 14.192.44.5
この返事に含まれている authority, additional を受け入れるかどうかは議論の余地がある。
- jp 登録情報と一致しているので、受け入れてよいと判断できる。
受け入れたとしても TTL をどう扱うかは悩ましい。 ー>(Ghost Domain Names 脆弱性)
-- ToshinoriMaeno 2014-11-04 23:57:20
5. キャッシュの内容
この時点でのキャッシュの内容はどういうものだろうか。