DNSサーバーとは
人間様は通常サイトの判別にドメイン名を使用している(google.comなど)
しかし、💻にとってはドメイン名ではそのサイトがどこにあるかの判別ができず、そのドメインからIPアドレスに変換する作業が必要になる。
このドメイン名とIPアドレスの変換作業を担っているのがDNSサーバーである
DNSサーバーの種類
DNSサーバーには役割の違いで2種類存在する
フルリゾルバー(DNSキャッシュサーバー)
人間がドメイン名を指定した際に💻が最初にリクエストする先のサーバーである。
フルリゾルバーで解決できるドメイン名に関してはそのまま直で💻にIP アドレスを返す。
しかし、フルリゾルバーが全てのドメイン名<=>IPアドレス解決ができるわけではないので、解決できなかった時に問い合わせする先がもう1種類のDNSサーバーである権威DNSサーバーである。
この権威DNSサーバーへの問い合わせによって得られた結果を
フルリゾルバー自身が知らないドメイン名<=>IPアドレス変換を権威DNSサーバーに問い合わせた結果を💻に返すことになる。
また、この権威DNSサーバーへの問い合わせを毎回するのは非効率なので問い合わせ結果をキャッシュする機能が備わっている。これがDNSキャッシュサーバーとも言われる所以である。
権威DNSサーバー(DNSコンテンツサーバー)
自分の管理しているドメイン名<=>IPアドレス解決の情報を教えてあげるサーバーのこと。
権威DNSサーバーは自信が保有するゾーンファイルを基にレスポンスを返す。
またフルリゾルバーからリクエストされた権威DNSサーバーが全て解決できることはなく、その権威DNSサーバー自信が解決できなくともゾーンファイルを参照し、このDNSサーバーなら知っているかもという内容を基にそのDNSサーバーの宛先をフルリゾルバーに返すこともある。
ゾーンファイル
権威DNSサーバーが管理しているドメインの情報が記載されているファイル
ゾーンファイルにはドメイン<=>IPアドレスの対応表だけでなく、そのドメインはあちらのDNSサーバーに任せているよといった内容、自信が管理しているゾーンの管理情報などが記載されている。
DNSレコードタイプ
Aレコード
IPv4でホスト名とIPアドレスの関連付けを定義する種類のDNSレコード
AAAAレコード
IPv6でホスト名とIPアドレスの関連付けをする種類のDNSレコード
PTRレコード
IPアドレスからホスト名を参照する場合の逆引きに使用される種類のDNSレコード
MXレコード
対象ドメイン宛のメール配送先ホスト名を定義する種類のDNSレコード
メール転送先のホスト名はAレコードで登録しておく必要があある
SOAレコード
ドメインのゾーンの管理のために情報を設定するために利用する種類のDNSレコード
書式
【ドメイン名】 【クラス名】 SOA 【DNSサーバのドメイン名】 【連絡先】 (
【シリアル番号】
【更新チェックの間隔】
【リトライ間隔】
【問い合わせ諦めるぜ期間】
【ネガティブキャッシュの有効期限】 )
- DNSサーバーのドメイン名: ゾーンファイルの基となるデータを持つネームサーバの名前
- 連絡先: このドメインの管理者のメールアドレス
- シリアル番号: ゾーンファイルのバージョンを表す数字
- 問い合わせ諦めるぜ期間: 何らかの理由でゾーン情報のリフレッシュができない状態が続いた場合、セカンダリネームサーバが持っているデータをどれだけの時間利用してもよいかを示す
- ネガティブキャッシュの有効期限: ネガティブキャッシュとは、存在しないドメイン名であるという情報のキャッシュを意味する
NSレコード
ドメインのゾーン情報を管理する種類のDNSレコード
NSレコードはゾーン情報を管理するネームサーバのサーバを指定しますが、ドメイン自身のDNSサーバを定義するケースと、サブドメインのDNSサーバを定義するケースがある
SPFレコード
送信者からスパムが送信されるのを防止する種類のDNSレコード
TXTレコード
ホスト名に関連付けるテキスト情報を定義する種類のDNSレコード
DNSサーバ上でテキスト情報を設定する際に使用するもので、送信ドメイン認証の認証情報といった内容を記述する
あるゾーンに対する権威(オーソリティ)を持つ権威サーバー(権威DNSサーバー)を指定するためのリソースレコードです。ゾーンを委任する際に使用され、複数台の権威サーバーがある場合には、その数だけNSリソースレコードをゾーンファイルに記述する必要がある
CNAMEレコード
ドメインやホスト名の別名を定義する種類のDNSレコード