※本記事にはプロモーション(広告)を含みます。

DNSの設定でトラブルを避けたいなら、まずは正引き用のAレコードとメールの疎通に関わるMXレコードを分けて理解することが出発点になります。この2つを混同したまま設定を進めると、サイトは表示されるのにメールだけ届かないといった状況に陥りやすいためです。本記事では、ドメイン名からIPアドレスが解決される仕組みを基礎から整理し、レコードの種類、家庭やオフィスでの実践的な設定手順、反映トラブルの切り分け方法までを一通り解説します。

DNSの基本的な仕組み

DNS(Domain Name System)は、人間が覚えやすいドメイン名と、コンピュータが通信に使うIPアドレスを対応づける仕組みです。ブラウザに「example.com」と入力したとき、その裏側では複数のサーバーが連携して数十ミリ秒のうちに名前解決を完了させています。この仕組みがなければ、私たちは目的のサイトにアクセスするたびに長い数字の羅列を覚えておく必要があります。

名前解決の流れ

名前解決は、大きく分けて4つのステップで進みます。まずパソコンやスマートフォンの中にあるOSのキャッシュを確認し、既知のドメインであればそこで即座に解決が終わります。キャッシュに情報がない場合、次に問い合わせ先となるのがキャッシュDNSサーバー(フルサービスリゾルバとも呼ばれます)です。

キャッシュDNSサーバーも情報を持っていない場合、ルートDNSサーバーへ問い合わせが飛び、そこから「.com」や「.jp」などを管理するTLD(トップレベルドメイン)サーバー、さらにドメインごとの詳細情報を持つ権威DNSサーバーへと順に問い合わせが行われます。この一連の問い合わせは「再帰的な名前解決」と呼ばれ、最終的に得られたIPアドレスがブラウザへ返却されて通信が始まります。

DNSサーバーの種類

DNSサーバーには役割の違ういくつかの種類が存在します。それぞれの役割を理解しておくと、設定を変更する場所を誤らずに済みます。

サーバーの種類主な役割
権威DNSサーバー特定ドメインのレコード情報を実際に保持し、正式な回答を返す
キャッシュDNSサーバー利用者からの問い合わせを受け、再帰的に情報を収集して返答する
ルートDNSサーバーTLDサーバーの場所を案内する、階層構造の最上位
TLDサーバー「.com」「.jp」など特定のトップレベルドメインを管理する

自分でドメインを取得して公開する場合、設定を行う対象は基本的に権威DNSサーバーです。レジストラやDNSサービスの管理画面から、このサーバーに登録されたレコードを編集することになります。

主要レコードの種類

DNSのレコードは用途ごとに種類が分かれています。用途を混同すると意図しない設定になりやすいため、代表的なレコードを一覧で確認しておきます。

レコード種別用途設定値の例
Aレコードドメイン名をIPv4アドレスに変換する203.0.113.10
AAAAレコードドメイン名をIPv6アドレスに変換する2001:db8::1
CNAMEレコードあるドメイン名を別のドメイン名の別名として扱うwww.example.com
MXレコードメールの受信先サーバーを指定するmail.example.com(優先度10)
TXTレコードドメイン所有の証明やSPF・DKIM等の認証情報を記載するv=spf1 include:example.net ~all
NSレコードそのドメインを管理する権威DNSサーバーを指定するns1.example.com

Aレコードとの違い

Aレコードは、ドメイン名をIPv4アドレスへ直接変換する最も基本的なレコードです。一方でCNAMEレコードは、あるホスト名を別のホスト名の別名として扱う仕組みで、参照先のドメインがさらに別のAレコードへとつながります。例えば「www.example.com」をCNAMEで「example.com」に向けておけば、サーバーのIPアドレスが変わった際にexample.com側のAレコードだけを更新すればよく、管理対象を一元化できます。ただしCNAMEはドメインのルート(example.comそのもの)には設定できないという制約があるため、ルートドメインに別名を持たせたい場合はALIASレコードやANAMEレコードなど、DNSサービスごとの独自機能を利用する必要があります。

MX・TXTレコード

MXレコードはメールの配送経路を決める重要な設定です。優先度の数値が小さいほど優先して使われる仕組みで、複数のメールサーバーを冗長構成にする際にはこの優先度を使い分けます。MXレコードの設定を誤ると、Webサイトは正常に表示されているのにメールだけが届かないという状態が起こりやすく、原因の切り分けに時間がかかりがちです。

TXTレコードは自由形式のテキスト情報を格納できるレコードで、近年はSPF・DKIM・DMARCといったメールの送信ドメイン認証に広く使われています。これらはなりすましメール対策として機能するもので、Gmailなど主要なメールサービスは送信元ドメインの認証状況を確認したうえで受信の可否を判断する仕組みを取り入れています。認証設定に不備があると正規のメールが迷惑メール扱いされる場合があるため、SPFやDKIMのTXTレコードは公式ドキュメントの記載どおりに正確に設定する必要があります。

家庭内での設定手順

自宅やオフィスのネットワークでも、DNSの設定を見直すことで通信速度や安定性に影響が出ることがあります。設定を変更する場所は、家庭用ルーターの管理画面か、各端末のネットワーク設定のいずれかです。

ルーターでの設定

家庭用ルーターにログインし、WAN設定またはインターネット設定の項目にあるDNSサーバーの欄を確認します。多くの機種では「自動取得(プロバイダから自動的に割り当てられたDNSを使う)」が初期設定になっていますが、この欄を手動設定に切り替えて、任意のDNSサーバーのIPアドレスを指定することができます。ルーター側で設定を変更すると、そのルーターに接続する家庭内のすべての端末に設定が反映される点が特徴です。個別の端末ごとに設定する手間を省きたい場合はルーター側での変更が効率的です。

パブリックDNSの利用

プロバイダが提供するDNSサーバーの代わりに、無料で公開されているパブリックDNSサービスを利用する選択肢もあります。代表的なものとして、GoogleがGoogle Public DNS(8.8.8.8および8.8.4.4)を、CloudflareがCloudflare DNS(1.1.1.1および1.0.0.1)をそれぞれ無料で提供しています。いずれも公式サイトでIPアドレスや利用条件が公開されており、設定画面のDNS欄にこれらのアドレスを入力するだけで切り替えが完了します。パブリックDNSへの切り替えによって名前解決の速度が改善する場合がある一方、環境やプロバイダとの組み合わせによって体感差は異なります。切り替え後は実際に複数のサイトへアクセスして表示速度を比較し、自分の環境に合っているかを確認してください。

反映トラブルの対処法

DNSレコードを変更したのにサイトの表示が切り替わらない、というトラブルは実務でも頻繁に発生します。原因の多くはキャッシュの残存によるものですが、設定ミスが隠れているケースもあるため、順を追って切り分けることが必要です。

反映されない原因

最も多い原因はTTL(Time To Live)によるキャッシュの保持です。TTLはレコードごとに設定できる値で、キャッシュDNSサーバーがその情報をどれだけの秒数保持し続けるかを決めます。TTLを3600(1時間)に設定していた場合、変更前の情報が最大で1時間程度、経由するサーバー側に残り続ける可能性があります。今後大きな変更を予定している場合は、事前にTTLを300程度の短い値に下げておくと、切り替え時の反映待ち時間を短縮できます。

TTLの経過を待っても反映されない場合は、権威DNSサーバー側の設定そのものを見直します。入力したIPアドレスにタイプミスがないか、レコードの種別を誤っていないか、対象のホスト名が正しいかを一つずつ確認します。ドメインのネームサーバー(NS)がレジストラ側と権威DNSサーバー側で一致していないケースも見落としやすいポイントです。

キャッシュクリア手順

端末側のキャッシュが原因で古い情報が表示され続けることもあります。Windowsであればコマンドプロンプトで「ipconfig /flushdns」、macOSであればターミナルで「sudo dscacheutil -flushcache」を実行することで、OSが保持しているDNSキャッシュを削除できます。ブラウザ自体も独自にDNSキャッシュを持つ場合があるため、ブラウザを再起動しても改善しない場合はOS側のキャッシュクリアを試してください。

それでも反映が確認できない場合は、オンラインのDNS確認ツールを使い、複数の地域から見た権威DNSサーバーの応答状況を確認する方法もあります。権威DNSサーバー側ではすでに新しい値が返っているのに手元の端末だけ古い値が表示される場合、原因は端末やプロバイダ側のキャッシュに絞り込めます。

よくある質問

Q1. DNSの設定変更にはどれくらい時間がかかりますか

設定変更自体は数秒から数分で反映されますが、世界中のキャッシュDNSサーバーに情報が行き渡るまでには、設定していたTTLの秒数に応じた時間がかかります。TTLを86400(24時間)に設定していた場合、一部の環境では最大24時間程度反映が遅れることがあります。

Q2. AレコードとCNAMEレコードはどちらを使うべきですか

接続先のサーバーが固定のIPアドレスを持つ場合はAレコード、サーバー側のIPアドレスが変わる可能性があるサブドメインを設定する場合はCNAMEレコードが適しています。ルートドメイン(example.comそのもの)にはCNAMEを設定できない点に注意してください。

Q3. 無料のパブリックDNSは安全に使えますか

Google Public DNSやCloudflare DNSは、それぞれの提供元が公式サイトでプライバシーポリシーや技術仕様を公開しています。利用を検討する際は各サービスの公式ドキュメントを確認したうえで、自分の用途に合っているかを判断してください。

Q4. MXレコードを複数設定する意味は何ですか

MXレコードは優先度の異なる複数の値を設定でき、優先度が最も低い数値のサーバーが応答しない場合に次の候補へ自動的に切り替わる仕組みです。メールサーバーを冗長化し、単一障害点を減らす目的で使われます。

Q5. サブドメインごとに別のDNSレコードを設定できますか

可能です。「blog.example.com」や「shop.example.com」のように、サブドメインごとに異なるAレコードやCNAMEレコードを割り当て、それぞれ別のサーバーへ振り分けることができます。

Q6. TXTレコードのSPF設定を間違えるとどうなりますか

SPFの記述内容が実際のメール送信元と一致していない場合、送信したメールが受信側で迷惑メールと判定されたり、拒否されたりする場合があります。設定後は送信テストを行い、実際に届くかどうかを確認する手順が欠かせません。

関連記事

まとめ

DNSは、ドメイン名からIPアドレスへの変換を担う仕組みであり、権威DNSサーバー・キャッシュDNSサーバー・ルートDNSサーバーといった複数の階層が連携して名前解決を完了させています。Aレコード・CNAMEレコード・MXレコード・TXTレコードはそれぞれ役割が異なるため、目的に応じて正確に使い分ける必要があります。設定変更時にはTTLの値を意識し、反映が確認できない場合はキャッシュの状態と権威DNSサーバー側の設定内容を分けて切り分けてください。バージョンや仕様は提供元によって更新される場合があるため、実際の設定作業では利用しているDNSサービスやOSの公式ドキュメントを必ず参照し、セキュリティに関わる設定は自己の責任のもとで実施してください。

【編集・制作ポリシー】
本記事はInfra Academy編集部が各ベンダー公式ドキュメント・エンジニア監修をもとに作成しています。インフラ・クラウド構築は環境により異なります。本番環境への適用前に必ずテストを実施してください。情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。 編集ポリシーはこちら
ABOUT ME
たから
フリーランスIT講師/エンジニア。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900//サーティファイC言語/情報処理技術者 ◆サイドビジネス:アパレル事業/複数のWEBメディアを運営