DNS(ドメイン・ネーム・システム)の仕組みの概要の概要です。
目次
説明 | DNS(ドメイン・ネーム・システム)の概要 |
ドメイン名からIPアドレスを取得する流れ | |
DNSサーバに登録する情報(リソースレコード) | |
DNSを使用しない時のファイル(hostsファイル) |
DNS(ドメイン・ネーム・システム)の概要
DNSは、ドメイン名とIPアドレスの対応関係を管理するシステムです。
上記図の流れは以下のとおりです。
1.example.comのサイトを見る場合、ドメイン名のexample.comをDNSサーバに送信します。
2.DNSサーバはドメイン名のexample.comに対応するIPアドレス(10.0.10.9)を問い合わせ元に返します。
3.PCは、受け取ったIPアドレス(10.0.10.9)でexample.comにアクセスします。
関連の用語/事項
ドメイン名(FQDN) | example.comがドメイン名で、wwwがホスト名です。 FQDNは、Fully Qualified Domain Nameの略で、 |
正引き | ドメイン名からIPアドレスを取得すること ブラウザにURLを入力してサイトを見るときは正引きが行われています。 名前解決ともいいます。 |
逆引き | IPアドレスからドメイン名(FQDN)を取得すること 名前解決ともいいます。 |
リゾルバ | DNSサーバに問い合わせするソフト |
DNSサーバの別名 | ネームサーバ、ドメインネームサーバ |
DNSを使用する場合 | ドメイン名を使用した通信をする場合は、PCまたはルーターにDNSサーバのIPアドレスを登録しておく必要があります。 |
DNSフォワーダ | DNSが解決できないDNSリクエストを転送する先です。 社内LANのDNSサーバは、DNSフォワーダとしてISPのDNSサーバを指定する等。 |
BIND | DNSサーバのソフトウェアとして有名 |
TLD | Top Level Domain(トップレベルドメイン)の略で example.comであればcomです。 jpは日本、comは商用、orgは団体というように意味があります。 |
nslookup | DNSサーバーに対して問い合わせを送り、その結果を表示するコマンド。 DNSサーバーと正しく通信ができているか確認できます。 例:nslookup google.co.jp |
dig | LinuxのDNSサーバーに問い合わせを送るコマンドです。 |
リソースレコード | DNSサーバに登録する情報 |
hostsファイル | DNSを使用しない時のファイル。 ドメイン名とIPアドレスの対応が書かれています。 Windows、Linuxともにあります。 |
ドメイン名からIPアドレスを取得する流れ
① | 「www.example.com」のIPアドレスを問い合わせます。 |
② | ルートネームサーバへ問い合わせします。 |
③ | comのDNSサーバのアドレスを返します。 |
④ | comのDNSサーバへ問い合わせします。 |
⑤ | example.comのDNSサーバのアドレスを返します。 |
⑥ | example.comのDNSサーバへ問い合わせします。 |
⑦ | 「www.example.com」のIPアドレスを返します。 |
⑧ | 「www.example.com」のIPアドレスを返します。 |
※毎回このような問い合わせが行われるわけではありません。
PCがすでに接続先のIPアドレスを保持している場合、それを再利用します。
キャッシュサーバも同様に接続先のIPアドレスを保持している場合、それを再利用します。
DNSのキャッシュは、TTL(Time To Live)という値でキャッシュの保持期間を指定できます。
期間が切れると再度問い合わせを行います。
図の右側にある3つのサーバー(ルートネーム,com,example.com)は権威サーバと呼ばれます(NSレコードにより指定される)。
権限委譲(delegation)
上位ドメインは下位ドメインのDNSサーバ情報のみを保持しています。
そのため、その下位ドメイン配下にはどのような下位ドメインでも作成できます。
DNSサーバに登録する情報(リソースレコード)
リソースレコードとは、DNSサーバに登録する情報のことです。
ゾーンファイルというテキストファイルにリソースレコードが記述されています。
以下は主なリソースレコードです。
リソースレコード | 説明 |
---|---|
SOAレコード | Start of Authority record 最初に記述されるリソースレコード。 自分が管理しているゾーン(ドメイン)の情報。 DNSサーバの各種管理情報あり。 |
NSレコード | Name Server record 自分が管理しているドメインのネームサーバを指定する。 プライマリ、セカンダリのDNSサーバを記述。 |
Aレコード | Address record ドメイン名に対するIPアドレスを指定する。 正引きで使用する。 |
PTRレコード | PoinTeR record IPアドレスに対するドメイン名を指定する。 逆引きで使用する。 |
CNAMEレコード | Canonical NAME record ホストの別名を指定する。 |
MXレコード | Mail exchange record ドメインのメールサーバを指定する。 |
DNSを使用しない時のファイル(hostsファイル)
hostsファイルは、ドメイン名とIPアドレスの対応が書かれたファイルです。
DNSに登録する前にFQDNでサーバにアクセスしたい時や、開発のテスト環境でDNSを利用できない時などに利用します。
hostsファイルの場所
Windows10 | C:\Windows\System32\drivers\etc |
Linux | /etc/hosts |
以下は、hostsファイルの中身です。
hostsファイルを更新して保存する方法は以下を参照下さい。
Windows10 hostsファイルを更新して保存する方法
関連の記事