DNSとは
- DNS=Domain Name System
- システム・サーバー間の通信を行う際、ドメイン名とIPアドレスの紐付け(名前解決)や、宛先ホストを指示するためのシステム
IPアドレス | ドメイン名 |
---|---|
123.456.789 | aaa.com |
※IPアドレスは数字で構成され人間にとって識別し辛いためドメイン名が考案された。
DNSを使った問い合わせの流れ
- PC がDNSキャッシュサーバーに、ドメイン名でアクセスする
- DNSキャッシュサーバーがDNSルートサーバーに、管理情報 (ドメイン名に対応するIPアドレスは何か) を問い合わせる
- DNSルートサーバーがDNSキャッシュサーバーに、管理情報のあるDNSサーバーを知らせる
- DNSキャッシュサーバーが管理情報のあるDNSサーバーに、ドメイン名に対応するIPアドレスを問い合わせる
- 管理情報のあるDNSサーバーはDNSキャッシュサーバーに、IPアドレスを回答する
- DNSキャッシュサーバーはPCに、IPアドレスを回答する
- PCはIPアドレスでWebサイトにアクセスし、ブラウザ上にWebサイトが表示される
※DNSサーバは世界中にサーバを分散させたり、キャッシュを行う(DNSキャッシュサーバを利用する)ことで、大量のアクセスに対応する。
DNSキャッシュサーバ(フルサービスリゾルバ)
- ドメイン名に対応するIPアドレスを一時的に保存しているサーバ。
- 過去に問い合わせ済→過去のIPアドレスを回答
- 過去に問い合わせ無、または有効期限(TTL)切れ→DNSルートサーバに問い合わせ
※DNSキャッシュサーバの役割
- DNS問い合わせの処理時間短縮
- ルートDNSサーバの負荷軽減
※キャッシュ=データを一時的に保存する機能
※TTL(Time To Live)=DNSキャッシュサーバがキャッシュする情報の有効期限
ルートDNSサーバ(ネームサーバの最上部)
- DNSキャッシュサーバが最初に問い合わせをするサーバ
- 世界に13機
ネームサーバ(権威DNSサーバ、DNSコンテンツサーバ)
DNSレコード(ゾーンファイル)
- 権威DNSサーバー内に存在
- ドメイン名に関連付けられたIPアドレスや、ドメインに対するリクエストを処理する方法などのドメインに関する情報
- レコードはテキストファイルから構成(DNSシンタックス)されている
- 例.) TTLレコード=DNSサーバーがレコードを更新する頻度
DNSシンタックス=DNSサーバーに何を実行するか指示するためのコマンドとして使用される文字列
レコード種別 | 内容 |
---|---|
A | ホストのIPアドレス(IPv4) |
AAAA | ホストのIPアドレス(IPv6) |
SOA | ゾーン(ドメイン)情報 |
NS | ドメインのDNSサーバ名 |
CNAME | ホスト名のエイリアス(別名) |
PTR | IPアドレスに対するホスト名(逆引き) |
MX | ドメインのメール・サーバ名 |
HINFO | ホストの追加情報。ホストのハードウェア・ソフトウェア(OS)情報。 |
WKS | ホストで実行されているサービス情報(Well Known Services) |
TXT | ホストへのテキスト情報 |
Aレコード
項目 | 設定値(例) | 説明 |
---|---|---|
Name | www.aaa.com. |
ドメイン名 |
TTL | 300 | キャッシュサーバ上でのレコードの有効期限 |
Type | A | レコード名 |
Value | 123.456.789.123 | IPアドレス(IPv4)。複数設定可能。 |
SOAレコード
DNSサーバの親・子のうち、子のみが保有し、ドメインのゾーンの起点(親)を示すレコード。
項目 | 設定値(例) | 説明 |
---|---|---|
Name | @ | 「@」の場合ゾーン名自身を示す。 |
TTL | 300 | キャッシュサーバ上でのレコードの有効期限 |
Type | SOA | レコード名 |
Value | aaa.com. email.aaa.com. 1 7200 900 1209600 86400 |
<MNAME+RNAME+SERIAL+REFRESH+RETRY+EXPIRE+MINIMUM> MNAME:基となるデータを持つネームサーバの名前 RNAME:このドメインの管理者のメールアドレス(@は.に置換) SERIAL:ゾーンファイルのバージョン REFRESH:ゾーンの情報をリフレッシュするまでの時間 RETRY:REFRESHでリフレッシュNGのときのリトライの時間 EXPIRE:リフレッシュNG時の、セカンダリネームサーバ上のデータ有効時間 MINIMUM:ネガティブキャッシュ(存在しないドメイン情報)の保有時間 |
NSレコード
ドメインのDNSサーバ名を示すレコードで、
DNSサーバの親・子双方で保有し、権限移譲の状態を表している。
【例】子DNSサーバ:aaa.com
(Aレコード(IPアドレス)保有しているサーバ)
項目 | 設定値(例) | 説明 |
---|---|---|
Name | @ | 「@」の場合ゾーン名自身を示す。 |
TTL | 300 | キャッシュサーバ上でのレコードの有効期限 |
Type | NS | レコード名 |
Value | www.aaa.com. |
権限移譲先のネームサーバ(子DNSサーバ自身) |
【例】親DNSサーバ:com
(Aレコードを持っておらず、子サーバに権限移譲している)
項目 | 設定値(例) | 説明 |
---|---|---|
Name | aaa | 子DNSサーバ名(最後の「.」なしで、後ろの「.com.」を省略) |
TTL | 300 | キャッシュサーバ上でのレコードの有効期限 |
Type | NS | レコード名 |
Value | www.aaa.com. |
権限移譲先のネームサーバ(子DNSサーバ) |
CNAMEレコード
ホスト名のエイリアス(別名)を示すレコード。(Canonical NAME)
特定のホスト名を、別のドメインに転送できる。
以下の例だと、
http://www.aaa.com
のアクセスを、http://www.bbb.com
に転送する。
【例】DNSサーバ:aaa.com
項目 | 設定値(例) | 説明 |
---|---|---|
Name | www | ホスト名(最後の「.」なしで、後ろの「.aaa.com.」を省略) |
TTL | 300 | キャッシュサーバ上でのレコードの有効期限 |
Type | CNAME | レコード名 |
Value | www.bbb.com |
転送先のドメイン |