tcpdump(8)の結果(2)

最初の調査では、named(8)と問い合わせ元との間の通信を確認していなかったため、どのタイミングでエラーを返しているのかがわかりませんでした。そこで、問い合わせ元(loopback)と外部のLANの両方でtcpdump(8)を実行して調べた結果です。前回とまったく条件が同一ではなかった可能性がありますが、LAN側の通信で目的のAレコードを取得するまで至っていないようでした。

まとめると、名前解決に必要なネームサーバーのIPアドレスを調べている途中で、AAAAレコードが返った時点で諦めてSERVFAILのエラーを返し、その後でしっかりAレコードを受け取っています。このため、次に問い合わせを受けたときはキャッシュしている情報を元に正常に名前解決ができることになります。

問い合わせを受けてから応答するまで

少し長いですが、named(8)がloopback経由で問い合わせを受けてから、応答を返すまでです。

[14:32:40.369700]: localhostでtarget.example.netのAレコードの問い合わせをUDPで受付
[14:32:40.370315]: i.gtld-servers.netにtarget.example.netのAレコードをUDPで問い合わせ
[14:32:40.507730]: i.gtld-servers.netから14:32:40.370315に対する応答: TCビットオン
[14:32:40.622795]: i.gtld-servers.netにtarget.example.netのAレコードをTCPで問い合わせ
[14:32:40.737367]: i.gtld-servers.netから14:32:40.622795に対する応答: 以下のレコード

ns:
example.net. [2d] NS ns21.domaincontrol.com
example.net. [2d] NS ns22.domaincontrol.com
A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. [1d] NSEC3
A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. [1d] RRSIG
VJP6M4I4OHHOTNJBLTLITD8EBVKGA3UB.net. [1d] NSEC3
VJP6M4I4OHHOTNJBLTLITD8EBVKGA3UB.net. [1d] RRSIG

ar:
ns21.domaincontrol.com. [2d] A 216.69.185.11
ns22.domaincontrol.com. [2d] A 208.109.255.11

[14:32:40.738107]: f.gtld-servers.netにns22.domaincontrol.comのAレコードをUDPで問い合わせ
[14:32:40.738144]: f.gtld-servers.netにns21.domaincontrol.comのAレコードをUDPで問い合わせ
[14:32:40.738197]: f.gtld-servers.netにns22.domaincontrol.comのAAAAレコードをUDPで問い合わせ
[14:32:40.738257]: f.gtld-servers.netにns21.domaincontrol.comのAAAAレコードをUDPで問い合わせ
[14:32:40.861401]: f.gtld-servers.netから14:32:40.738197に対する応答: TCビットオン
[14:32:40.875993]: f.gtld-servers.netから14:32:40.738257に対する応答: TCビットオン
[14:32:40.875999]: f.gtld-servers.netから14:32:40.738144に対する応答: TCビットオン
[14:32:40.876001]: f.gtld-servers.netから14:32:40.738107に対する応答: TCビットオン
[14:32:40.977946]: f.gtld-servers.netにns22.domaincontrol.comのAAAAレコードをTCPで再問い合わせ
[14:32:40.992536]: f.gtld-servers.netにns21.domaincontrol.comのAAAAレコードをTCPで再問い合わせ
[14:32:40.994498]: f.gtld-servers.netにns21.domaincontrol.comのAレコードをTCPで再問い合わせ
[14:32:40.994538]: f.gtld-servers.netにns22.domaincontrol.comのAレコードをTCPで再問い合わせ
[14:32:41.094499]: f.gtld-servers.netから14:32:40.977946に対する応答

ns:
domaincontrol.com. [2d] NS ans01.domaincontrol.com
domaincontrol.com. [2d] NS ans02.domaincontrol.com
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. [1d] NSEC3
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. [1d] RRSIG
TR7L9N2AL8K6BEE8C7UCBPTVFO2NG5ME.com. [1d] NSEC3
TR7L9N2AL8K6BEE8C7UCBPTVFO2NG5ME.com. [1d] RRSIG

ar:
ans01.domaincontrol.com. [2d] A 216.69.185.35
ans02.domaincontrol.com. [2d] A 208.109.255.35

[14:32:41.109469]: f.gtld-servers.netから14:32:40.992536に対する応答

ns:
domaincontrol.com. [2d] NS ans01.domaincontrol.com
domaincontrol.com. [2d] NS ans02.domaincontrol.com
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. [1d] NSEC3
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. [1d] RRSIG
TR7L9N2AL8K6BEE8C7UCBPTVFO2NG5ME.com. [1d] NSEC3
TR7L9N2AL8K6BEE8C7UCBPTVFO2NG5ME.com. [1d] RRSIG

ar:
ans01.domaincontrol.com. [2d] A 216.69.185.35
ans02.domaincontrol.com. [2d] A 208.109.255.35

[14:32:41.109986]: ans01.domaincontrol.com.domainにns21.domaincontrol.comのAAAAレコードをUDPで問い合わせ
[14:32:41.112163]: f.gtld-servers.netから14:32:40.994498に対する応答

ns: 
domaincontrol.com. [2d] NS ans01.domaincontrol.com
domaincontrol.com. [2d] NS ans02.domaincontrol.com
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. [1d] NSEC3
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. [1d] RRSIG
TR7L9N2AL8K6BEE8C7UCBPTVFO2NG5ME.com. [1d] NSEC3
TR7L9N2AL8K6BEE8C7UCBPTVFO2NG5ME.com. [1d] RRSIG 

ar: 
ans01.domaincontrol.com. [2d] A 216.69.185.35
ans02.domaincontrol.com. [2d] A 208.109.255.35

[14:32:41.112635]: ans01.domaincontrol.com.domainにns21.domaincontrol.comのAレコードをUDPで問い合わせ
[14:32:41.113310]: f.gtld-servers.netから14:32:40.994538に対する応答

ns:
domaincontrol.com. [2d] NS ans01.domaincontrol.com
domaincontrol.com. [2d] NS ans02.domaincontrol.com
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. [1d] NSEC3
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. [1d] RRSIG
TR7L9N2AL8K6BEE8C7UCBPTVFO2NG5ME.com. [1d] NSEC3
TR7L9N2AL8K6BEE8C7UCBPTVFO2NG5ME.com. [1d] RRSIG

ar:
ans01.domaincontrol.com. [2d] A 216.69.185.35
ans02.domaincontrol.com. [2d] A 208.109.255.35

[14:32:41.113780]: ans01.domaincontrol.com.domainにns22.domaincontrol.comのAレコードをUDPで問い合わせ
[14:32:41.182047]: ans01.domaincontrol.comから[?](ns22.domaincontrol.comのAAAAレコード)に対する応答

answer:
ns22.domaincontrol.com. [2d] AAAA 2607:f208:302::b

ns: 
domaincontrol.com. [1d] NS ans02.domaincontrol.com
domaincontrol.com. [1d] NS ans01.domaincontrol.com

ar:
ans02.domaincontrol.com. [10m] A 208.109.255.35
ans01.domaincontrol.com. [10m] A 216.69.185.35

[14:32:41.188965]: ans01.domaincontrol.comから14:32:41.109986(ns21.domaincontrol.comのAAAAレコード)に対する応答

answer:
ns21.domaincontrol.com. [2d] AAAA 2607:f208:206::b

ns:
domaincontrol.com. [1d] NS ans02.domaincontrol.com
domaincontrol.com. [1d] NS ans01.domaincontrol.com

ar:
ans02.domaincontrol.com. [10m] A 208.109.255.35
ans01.domaincontrol.com. [10m] A 216.69.185.35

[14:32:41.189799]: localhostで14:32:40.369700(target.example.netのAレコードの問い合わせ)に対するServFailをUDPで応答!

応答を返した後

SERVFAILの応答を返した後で、問い合わせに対する応答を受け取っていました。

[14:32:41.192803]: ans01.domaincontrol.comから14:32:41.112635(ns21.domaincontrol.comのAレコード)に対する応答

answer:
ns21.domaincontrol.com. [10m] A 216.69.185.11

ns:
domaincontrol.com. [1d] NS ans02.domaincontrol.com
domaincontrol.com. [1d] NS ans01.domaincontrol.com

ar:
ans02.domaincontrol.com. [10m] A 208.109.255.35
ans01.domaincontrol.com. [10m] A 216.69.185.35

[14:32:41.201634]: ans01.domaincontrol.comから14:32:41.113780(ns22.domaincontrol.comのAレコード)に対する応答

answer:
ns22.domaincontrol.com. [10m] A 208.109.255.11

ns:
domaincontrol.com. [1d] NS ans02.domaincontrol.com
domaincontrol.com. [1d] NS ans01.domaincontrol.com

ar:
ans02.domaincontrol.com. [10m] A 208.109.255.35
ans01.domaincontrol.com. [10m] A 216.69.185.35