1. DNS/実装/KnotDNSresolver/親子同居

同居ゾーンの場合にzone cutを見逃すという不良があったが、現在は修正されている。


qmail.jp ゾーンと a.b.c.d.qmail.jp ゾーンを同居させて、Knot-resolverの動作を見てみました。


$ dnsqr ns a.b.c.d.qmail.jp

2 a.b.c.d.qmail.jp:
53 bytes, 1+1+0+0 records, response, noerror
query: 2 a.b.c.d.qmail.jp
answer: a.b.c.d.qmail.jp 600 NS f.ns.a.b.c.d.qmail.jp

この設定で、 dnsqr a www.xxx.a.b.c.d.qmail.jp をやってみた。


[plan] plan 'www.xxx.a.b.c.d.qmail.jp.' type 'A'

[resl]   => root priming query
[plan]   plan '.' type 'NS'
[resl]     => querying: '198.41.0.4' score: 10 zone cut: '.' m12n: '.' type: 'NS'
[iter]     <= rcode: NOERROR
[resl]   => querying: '32.1.5.3' score: 10 zone cut: '.' m12n: 'Jp.' type: 'NS'
[resl]      optional: '198.41.0.4' score: 10 zone cut: '.' m12n: 'Jp.' type: 'NS'
[resl]   => NS unreachable, retrying over TCP
[resl]   => querying: '32.1.5.3' score: 10 zone cut: '.' m12n: 'jP.' type: 'NS'
[resl]      optional: '198.41.0.4' score: 10 zone cut: '.' m12n: 'jP.' type: 'NS'
[plan] plan 'www.xxx.a.b.c.d.qmail.jp.' type 'A'
[plan]   plan 'a.root-servers.net.' type 'AAAA'
[resl]     => querying: '192.5.5.241' score: 10 zone cut: '.' m12n: 'neT.' type: 'NS'
[iter]     <= referral response, follow
[resl]     => querying: '192.5.6.30' score: 10 zone cut: 'net.' m12n: 'ROOt-serVErs.NET.' type: 'NS'
[iter]     <= referral response, follow
[resl]     => querying: '192.5.5.241' score: 245 zone cut: 'root-servers.net.' m12n: 'a.RoOT-sErvErs.nEt.' type: 'AAAA'
[iter]     <= rcode: NOERROR
[resl]   => querying: '32.1.5.3' score: 10 zone cut: '.' m12n: 'Jp.' type: 'NS'
[resl]      optional: '198.41.0.4' score: 10 zone cut: '.' m12n: 'Jp.' type: 'NS'
[resl]   => querying: '192.228.79.201' score: 10 zone cut: '.' m12n: 'JP.' type: 'NS'
[iter]   <= referral response, follow
[resl]   => querying: '203.119.1.1' score: 10 zone cut: 'jp.' m12n: 'QMaIL.jP.' type: 'NS'
[iter]   <= referral response, follow
[resl]   => querying: '14.192.44.5' score: 10 zone cut: 'qmail.jp.' m12n: 'd.qMAiL.JP.' type: 'NS'
[iter]   <= rcode: NXDOMAIN
[iter]   <= found cut, retrying with non-minimized name
[resl]   => querying: '14.192.44.5' score: 41 zone cut: 'qmail.jp.' m12n: 'Www.XXX.a.B.C.D.qmAIl.Jp.' type: 'A'
[iter]   <= rcode: NXDOMAIN
[ pc ]   => answer cached for TTL=900
[resl] finished: 4, queries: 2, mempool: 16392 B
[resl]   => NS unreachable, retrying over TCP
[resl]   => querying: '198.41.0.4' score: 172 zone cut: '.' m12n: 'JP.' type: 'NS'
[iter]   <= referral response, follow
[resl]   => querying: '202.12.30.131' score: 10 zone cut: 'jp.' m12n: 'qmaIL.JP.' type: 'NS'
[iter]   <= referral response, follow
[resl]   => querying: '14.192.44.5' score: 70 zone cut: 'qmail.jp.' m12n: 'D.QmAIl.Jp.' type: 'NS'
[iter]   <= rcode: NXDOMAIN
[iter]   <= found cut, retrying with non-minimized name
[resl]   => querying: '14.192.44.5' score: 55 zone cut: 'qmail.jp.' m12n: 'wWw.XXx.A.B.C.d.qMAIl.jp.' type: 'A'
[iter]   <= rcode: NXDOMAIN
[ pc ]   => answer cached for TTL=900
[resl] finished: 4, queries: 2, mempool: 32784 B