ルートゾーンサーバが返すルートサーバのA/AAAAのTTLがルートのNSよりも長い場合があることに気付いた。なんでそうなっているのかはわからない。
#!/bin/sh
for s in $(dig | awk '$1=="." && $4 == "NS" { print $5 }' | sort); do
echo "======================================== $s"
dig @$s . ns +norec +edn=0
dig @$s root-servers.net. soa +norec +edn=0
dig @$s version.bind txt chaos +norec +edn=0
done
TTLを調べた結果
| . NS | . A | *.root-servers.net. NS/A | version.bind TXT | |
|---|---|---|---|---|
| a | 518400 | 518400 or 3600000 | 3600000 | This space intentionally left blank. |
| b | 518400 | 3600000 | 3600000 | 4.8.1 |
| c | 518400 | 3600000 | 3600000 | c-root |
| d | 518400 | 3600000 | 3600000 | BIND 9.8 |
| e | 518400 | 518400 | 3600000 | REFUSED |
| f | 518400 | 3600000 | 3600000 | 9.9.6-P1 |
| g | 518400 | 3600000 | 3600000 | REFUSED |
| h | 518400 | 518400 | 3600000 | NSD 4.1.0 |
| i | 518400 | 3600000 | 3600000 | contact info@netnod.se |
| j | 518400 | 3600000 | 3600000 | This space intentionally left blank |
| k | 518400 | 518400 | 3600000 | NSD 3.2.14 |
| l | 518400 | 518400 | 3600000 | NSD 4.1.0 |
| m | 518400 | 3600000 | 3600000 | 9.9.4-P2 |
さすがに ". NS" のTTLや "*.root-servers.net. NS/A/AAAA" のTTLはゾーン転送で同期が取れていてどれも同じだった。
そもそも . NS? の問い合わせでADDITIONALセクションに *.root-servers.net. の A が入って返ってくるということは、 . と root-servers.net. の両方の権威になっているということである。ルートゾーンはnet.を委譲しているのでAのゾーンデータをもっていないはずなのに答えられるとうことはroot-server.net.のゾーンデータをもっているはずだ、という理屈。であれば [a-m].root-servers.net. . A? の問い合わせで返ってくる A は同じじゃないとおかしい。
あと a.root-servers.net. は2種類TTLを返してくる。anycastになっているんだろうか。















