DNSルックアップとは
ドメイン名とIPアドレスを紐づけるためにDNSサーバーへの問い合わせを行うこと
「正引き」(フォワードルックアップ)と「逆引き」(リバースルックアップ)がある
DNSルックアップ:「ドメイン名⇔IPアドレス」の変換
フォワードルックアップ(正引き):「ドメイン名→IPアドレス」の変換
リバースルックアップ(逆引き):「ドメイン名←IPアドレス」の変換
nslookupコマンド
このコマンドを使うことでドメイン名→IPアドレス、IPアドレス→ドメイン名と相互に変換可能
nslookupで「ドメイン名⇔IPアドレス」の変換を試す
jprs.jpというドメイン名を使って検証
まずフォワードルックアップ
jprs.jpのIPアドレスを調べてみると117.104.133.164であることが分かる
>nslookup jprs.jp
サーバー: UnKnown
Address: 2404:1a8:7f01:b::3
権限のない回答:
名前: jprs.jp
Addresses: 2001:218:3001:7::b0
117.104.133.164
※「UnKnown」や「権限のない回答:」という文言は気にしてはいけない
次にリバースルックアップ
117.104.133.164を逆引きしてドメイン名を取得するとjprs.jpであることが分かる
>nslookup 117.104.133.164
サーバー: UnKnown
Address: 2404:1a8:7f01:b::3
名前: jprs.jp
Address: 117.104.133.164
結果
「jprs.jp ⇔ 117.104.133.164」であることが分かる
正引きと逆引きが一致しない場合
ただし、以下のように、あるドメイン名をもとにフォワードルックアップで取得したIPアドレスを使って、リバースルックアップを行っても、元のドメイン名が得られるとは限らない
>nslookup google.com 8.8.8.8 # nslookupはこのように第2引数に利用するDNSを指定することもできる
サーバー: dns.google
Address: 8.8.8.8
権限のない回答:
名前: google.com
Addresses: 2404:6800:4004:810::200e
172.217.25.206
>nslookup 172.217.25.206 8.8.8.8
サーバー: dns.google
Address: 8.8.8.8
名前: nrt12s13-in-f206.1e100.net # 正引きしたIPアドレスを使って逆引きしても元のドメイン名と一致していない
Address: 172.217.25.206
「google.com → 172.217.25.206」だが、「172.217.25.206 → google.com」ではないことが分かる
これは、フォワードルックアップに利用される情報(Aレコードと呼ばれる)と、リバースルックアップに使われる情報(PTRレコードと呼ばれる)が個別に設定できることなどが理由としてあげられる
用語のおさらい
正引き 【 forward lookup 】 フォワードルックアップ
ドメイン名やホスト名から対応するIPアドレスを探索すること
逆引き 【 reverse lookup 】 リバースルックアップ
IPアドレスから対応するドメイン名やホスト名を探索すること
Aレコード
ホスト名(FQDN)に対応するIPアドレスを定義するもので、フォワードルックアップに利用される
https://e-words.jp/w/A%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89.html
PTRレコード
特定のIPアドレスに対応するホスト名を定義するもので、リバースルックアップに利用される
http://e-words.jp/w/PTR%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89.html
参考リンク
-
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
DNSルックアップ -
1つのIPアドレスに複数のホスト名を付けている場合の逆引きとは
https://www.atmarkit.co.jp/fnetwork/dnstips/018.html -
AレコードとCNAMEレコードを整理する
https://qiita.com/pirorirori_n712/items/9f9f1e7c3ee7e6850645