DNSはホスト名とIPアドレスを管理するためのシステムである。ホスト名からIPアドレスを解決するために使用される(逆引きも可能)。DNSの種類としては以下の3つ存在する。
種類 | 説明 |
---|---|
コンテンツサーバ | 権威サーバとも呼ばれる。 実際にホスト名やIPアドレスなどの情報を管理しているサーバ。 |
フルサービスリゾルバ | キャッシュサーバとも呼ばれる。 ホスト名・IPアドレスの情報は管理せず、コンテンツサーバへ問い合わせを行うサーバ。 解決するまで、上位から下位へとコンテンツサーバに対して問い合わせる。一度取得した情報はキャッシュする。 |
スタブリゾルバ | DNSクライアントと同じ?(厳密な意味でDNSクライアント=スタブリゾルバかは不明) フルサービスリゾルバへDNS解決を依頼する。キャッシュを持つものもある。nslookupやWindowsのDNS Clientなどが該当?linuxのnscd(キャッシュデーモン)もこれに該当か? |
名前解決の流れは、スタブリゾルバ → フルサービスリゾルバ(キャッシュサーバ) → コンテンツサーバ(権威サーバ)となる。 クライアントに指定するDNSサーバ(linuxの/etc/resolve.confやWindowsのTCP設定)は、フルサービスリゾルバを指定する。
IPアドレスを変更した際は、クライアント側(スタブリゾルバ)にもキャッシュが残ってしまうことがあるので、その場合クリアが必要。
DNSの情報を取得するコマンドとしては、nslookupとdigコマンドが有名。nslookupはWindowsでも利用可能。 両者ともFQDNで指定した方が無難。ホスト名だけの場合は、デフォルトのドメインが補完される。
nslookupコマンドnslookup {ホスト名やFQDN}
digコマンド
dig {ホスト名やFQDN}
DNSの各種レコードや全レコードを抽出するオプションもある。デフォルトだとAレコードの抽出になるかもしれない。個人的に勉強中のため、今回はメモレベルということで、ここまで。