🐺

dig で +trace をつけても反復的名前解決が行われないときの対処法

2024/09/03に公開

TL; DR

dig のバージョンを 9.20.1 にする。

前提環境

  • macOS Sonoma
  • dig のバージョン
    • Before: 9.10.6
    • After: 9.20.1

問題

DNS に関する調査にあたって、権威サーバからの応答を確認したかったので、以下のコマンドを実行しました。

$ dig example.com +trace
; <<>> DiG 9.10.6 <<>> example.com +trace
;; global options: +cmd
;; Received 17 bytes from 192.168.11.1#53(192.168.11.1) in 142 ms

$ which dig
/usr/bin/dig

+trace は、ルートサーバから順に権威サーバへの問い合わせを実行してくれるオプションです。

ただ、この結果を見るにどうやら192.168.11.1からのみ応答があり、権威サーバにリクエストした形跡がありません。

対処

1, 2時間格闘したのですが結局よく分からず、最新の dig を入れたら権威サーバへのリクエストも確認できるようになりました。結果が大きかったので抜粋しています。

$ brew install bind

$ dig example.com +trace
; <<>> DiG 9.20.1 <<>> example.com +trace; (1 server found)
;; global options: +cmd
.                       512200  IN      NS      a.root-servers.net.
.                       512200  IN      NS      b.root-servers.net.
.                       512200  IN      NS      c.root-servers.net.
.                       512200  IN      NS      d.root-servers.net.
;; Received 525 bytes from 1.1.1.1#53(1.1.1.1) in 36 ms

com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
;; Received 1171 bytes from 192.5.5.241#53(a.root-servers.net) in 19 ms

example.com.            172800  IN      NS      a.iana-servers.net.
;; Received 235 bytes from 192.5.6.30#53(a.gtld-servers.net) in 236 ms

example.com.            3600    IN      A       93.184.215.14
;; Received 163 bytes from 199.43.135.53#53(a.iana-servers.net) in 131 ms

$ which dig
/opt/homebrew/opt/bind/bin/dig

終わりに

直接の原因はわからなかったのですが、9.10.69.20.1の差分が影響していることは間違いなさそうです。

ただ、9.10.6でもネームサーバを1.1.1.1に指定すると、9.20.1 同様の結果が得られました。8.8.8.8ではダメでした。

$ dig @1.1.1.1 example.com +trace
<権威サーバへの問い合わせ結果>

$ dig @8.8.8.8 example.com +trace
; <<>> DiG 9.10.6 <<>> example.com +trace
;; global options: +cmd
;; Received 17 bytes from 192.168.11.1#53(192.168.11.1) in 142 ms

あと、この記事を書いているときに気づいたのですが、9.10系は、すでに EOL になっていたので、そもそもアプデするのが良さそうです。

https://kb.isc.org/docs/aa-01118

標準でインストールされているコマンドが EOL だなんて、かなし〜。

HERO Tech Blog

Discussion