「DNSとは何か」と検索して、専門用語だらけの解説にたどり着いて余計に混乱した経験はないでしょうか。結論から言うと、DNSは「人間が覚えやすい名前」を「コンピューターが通信に使う住所」に変換する仕組みです。この変換のことを「名前解決」と呼び、インターネット上のほぼすべての通信の入り口になっています。この記事では、DNSの仕組みを未経験者向けに図解レベルでやさしく整理します。
DNSとは?「名前」を「住所」に変換する仕組み
Webサイトを見るとき、私たちはexample.comのような名前(ドメイン名)を使います。しかし実際にコンピューター同士が通信するときに使うのは、IPアドレスと呼ばれる数字の住所です。DNS(Domain Name System)は、ドメイン名とIPアドレスを結びつける「電話帳」のような役割を持っています。
もしDNSが存在しなかったら、目的のサーバーにアクセスするたびに長い数字の羅列を正確に入力する必要があり、現実的にインターネットを使うのは難しくなります。DNSがあるからこそ、人間は名前だけを覚えればよくなっているというのが最初に押さえておきたいポイントです。
名前解決の流れ:ブラウザがIPアドレスを見つけるまで
ブラウザにURLを入力してからページが表示されるまで、裏側では次のような順番で名前解決が行われています。
- ブラウザやOSが、過去に調べた結果をキャッシュとして持っていないか確認する
- キャッシュがなければ、DNSサーバーの中でも最初の窓口となる「キャッシュDNSサーバー」に問い合わせる
- キャッシュDNSサーバーが、ドメインの情報を管理する「権威DNSサーバー」へ順番に問い合わせて答えを探しにいく
- 見つかったIPアドレスがブラウザに返され、そのIPアドレス宛てに通信が始まる
この一連の流れが、体感では一瞬のうちに完了しています。仕組み自体はシンプルですが、途中でどこか1か所でも答えが返らなくなると「サイトが表示されない」トラブルにつながる点は覚えておく価値があります。名前解決を含むネットワーク全体の基礎を体系的に学びたい場合は、ネットワークの勉強は何から?も参考になります。
覚えておきたいDNSの代表的なレコード
DNSサーバーが管理する情報は「レコード」と呼ばれ、種類ごとに役割が分かれています。未経験のうちは、まず次の4つを押さえておけば十分です。
| レコード種別 | 役割 |
|---|---|
| Aレコード | ドメイン名とIPアドレス(IPv4)を結びつける |
| CNAMEレコード | ドメイン名を別のドメイン名の別名として登録する |
| MXレコード | そのドメイン宛てのメールをどのサーバーが受け取るか指定する |
| NSレコード | そのドメインの権威DNSサーバーがどこかを示す |
これらのレコードには「TTL(Time To Live)」という有効期限のような値が設定されていて、この時間が過ぎるとキャッシュDNSサーバーは情報を破棄し、権威DNSサーバーへ再度問い合わせます。TTLの設計次第で、変更した情報が世界中に反映されるまでの時間の目安が変わってきます。
現場で起きるDNSトラブルと切り分け方
現役でインフラの現場にいる立場から言うと、「サイトにつながらない」という問い合わせの原因を調べると、ネットワークの経路よりDNSまわりだった、というケースは珍しくありません。よくあるパターンと確認の順番を整理します。
- 特定の端末だけつながらない: その端末のDNSキャッシュや設定を疑い、他の端末や
nslookupコマンドでも同じ結果になるか比較する - 設定を変更したのに反映されない: TTLがまだ切れておらず、古いキャッシュが参照されている可能性を確認する
- 一部の人だけつながらない: 利用しているキャッシュDNSサーバーの違いや、権威DNSサーバー側の設定ミスを疑う
いきなり原因を決めつけず、「どの段階で名前解決が止まっているか」をnslookupやdigのようなコマンドで一つずつ確認していくのが、遠回りに見えて一番早い直し方です。こうしたコマンド操作に慣れておくこと自体も現場で役立つ基礎力なので、Linuxコマンドは暗記しないもあわせて読んでおくと切り分けがスムーズになります。
InfraDojoならDNSも手を動かして理解できる
DNSは仕組みを読むだけでも理解できますが、実際にnslookupやdigを打ってレコードの中身を見てみると、記憶への残り方がまったく違います。InfraDojoのブラウザ上のターミナルなら、環境構築を気にせずすぐにコマンドを試せます。DNSはネットワーク学習の土台の一部なので、ネットワーク学習ロードマップに沿って基礎から順番に進めると全体像がつながりやすくなります。
よくある質問
Q. DNSサーバーがダウンすると何が起きますか
そのDNSサーバーに問い合わせている端末は、ドメイン名からIPアドレスを見つけられなくなり、サイトやサービスに「つながらない」状態になります。IPアドレスを直接指定すれば通信自体は可能な場合もありますが、通常の利用では現実的ではありません。
Q. DNSの設定を変更したのにすぐ反映されないのはなぜですか
TTLで設定された有効期限の間、キャッシュDNSサーバーが古い情報を保持し続けるためです。変更を急ぎ確実に反映させたい場合は、事前にTTLを短く設定しておくといった準備が有効です。
Q. 未経験からの学習でDNSはどこまで理解しておくべきですか
「名前解決の流れ」と「代表的なレコードの役割」を自分の言葉で説明できるレベルがまず目安になります。それができれば、nslookupやdigを使ったトラブルの切り分けも理解しやすくなります。