とあるホストについて「DNSサーバーに設定されているTTLは何秒だろうか?」「あと何秒でTTLが切れるのだろうか?」そんなことを知りたい場合はありませんか。
そんなときに役立つDNS TTLを調べる方法をご紹介します。
タップできる目次
www.google.comのTTLを調べよう
www.google.comのTTLを調べる場合、次の手順で調べます。
- google.comのNSレコードを調べる
- google.comのネームサーバーに対して問い合わせる
google.comのNSレコードを調べる
ここから先はすべてnslookupを使います。LinuxやmacOSの場合はdigやhostコマンドが使えますが、ここはWindows環境を考慮してnslookupを使います。
まず最初にgoogle.comドメインに設定されているネームサーバーをNSレコードで調べます。
google.comのネームサーバーを調べるためにはクエリータイプに「NS」を指定します。注意しないといけないのは「www.google.com」ではなくて「google.com」とする点です。google.comドメインのNSレコードを調べるのでこのようにする必要があります。
nslookup -q=ns google.com
こんな感じですね。実際にやってみましょう。
4つのネームサーバーが確認できました。これがgoogle.comの権威DNSサーバーと呼ばれるDNSサーバーです。権威DNSサーバーとは、簡単に言うとgoogle.comのDNS情報を管理しているDNSサーバーのことです(google.comドメインの場合)。
- ns1.google.com
- ns2.google.com
- ns3.google.com
- ns4.google.com
次にこのネームサーバーに対して問い合わせを行います。
google.comのネームサーバーに対して問い合わせる
問い合わせるネームサーバーはどれを選んでも問題ありません。ここではns1.google.comにしましょう。
このネームサーバーに対して次のコマンドで問い合わせを行います。
nslookup -debug www.google.com ns1.google.com
「-debug」を付けるのがミソです。続いて問い合わせたいホスト(www.google.com)、そして問い合わせ先のネームサーバー(ns1.google.com)と続きます。
では問い合わせをしてみましょう。
①と②がありますが、①がIPv4で②がIPv6です。どちらもTTLが300秒(5分)となっている事がわかります。
これがwww.google.comに設定されているTTL値です。
あと何秒でTTLが切れるのか知りたい
DNSサーバーに設定されているwww.google.comのTTLが300秒だと分かったので、TTLが切れるまで何秒かかるのか知りたい場合があります。
この問い合わせはキャッシュサーバーに対しておこないます。キャッシュサーバーとは、会社や学校、あるいはプロバイダーが提供しているDNSサーバーです。皆さんのパソコンに設定されているDNSサーバーはキャッシュサーバーなので、今のところ深く考えなくても大丈夫です。
キャッシュサーバーへの問い合わせは次のようなコマンドを実行します。
nslookup -debug www.google.com
このコマンドを実行すればキャッシュサーバーでのTTL残時間が分かります。では確認してみましょう。
①がIPv4で②がIPv6です。IPv4は残り249秒であることがわかります。
おしまいに
普段DNSのTTLを気にする機会が無いかと思いますが、何かの機会でDNSのTTLを調べなくてはならなくなった方の参考になれば幸いです。
nslookupの結果は実行環境によって変わる場合がありますので、ご注意ください。
以上です。