DNSとは?名前解決の仕組みと「つながらない」時の対処

4 min 1,211 views

知っていますか?

インターネットの世界には「DNS」という重要な仕組みがあります。

ウェブサイトにアクセスする時、私たちは「example.com」のような分かりやすい名前(ドメイン名)を使いますよね?

しかし、コンピュータが実際に通信する時は「192.0.2.1」といった数字の羅列(IPアドレス)を必要とします。

この「ドメイン名」と「IPアドレス」を橋渡しするのが、DNS(Domain Name System)です。

DNSは、インターネットの住所録のような役割を果たしており、私たちが知っている名前をコンピュータが理解できる数字に変換することで、スムーズなウェブ閲覧を可能にしているのです。

DNSの役割:名前解決って?

「DNS」の文字が入った地球儀のイラスト(名前解決の節の扉絵)

DNSの主な役割は名前解決です。

例えば… あなたが「example.com」とブラウザに入力すると、次のことが実行されています。

  1. あなたのパソコンがDNSサーバーに「example.com」のIPアドレスを問い合わせます。
  2. DNSサーバーは「example.com」に対応するIPアドレス(ここでは説明用に「192.0.2.1」とします)を返します。
  3. あなたのパソコンは、そのIPアドレスを使ってウェブサイトを表示します。

このように、DNSは私たちがドメイン名を入力するだけでウェブサイトにアクセスできるようにしてくれる、とても重要なシステムなんです。

DNSサーバーの種類

四角・三角・六角形の中から3人がそれぞれ1つを選んでいるイラスト(DNSサーバーの種類の節の扉絵)

DNSサーバーには、大きく分けて 権威DNSサーバーキャッシュDNSサーバー の2種類があります。

権威DNSサーバー

そのドメインの情報(IPアドレスやメールの宛先など)を管理していて、問い合わせに答える側です。

キャッシュDNSサーバー

一度問い合わせたIPアドレス情報を一時的に保存し、次回同じドメインにアクセスする際の処理速度を向上させます。

調べ物をしていると フルサービスリゾルバー という言葉に出会うことがありますが、これはキャッシュDNSサーバーとほぼ同じものを指します。JPドメイン名を管理する JPRS は、権威DNSサーバー側もキャッシュを持つことがあるため、この2つは厳密には呼び分けが必要だと注意を促していますまずは「問い合わせに答える側」と「問い合わせを代行して覚えておく側」の2つがあると押さえておけば十分です。

この2つを通した、名前解決のひと通りの流れが次の図です。

名前からIPアドレスを調べる流れを示した図。左のパソコンから中央のキャッシュDNSサーバー、右の権威DNSサーバーへ向かって「①名前を問い合わせる」の矢印が伸び、逆向きに「②IPアドレスが返ってくる」の矢印が戻っている

DNSエラーって?

モニターに赤い警告マークと ERROR の文字が表示されたイラスト(DNSエラーの節の扉絵)

インターネットに接続できない時、「DNSサーバーに接続できません」といったエラーメッセージを見たことはありませんか?

これは、パソコンがDNSサーバーにアクセスできない、またはDNSサーバーが正常に動作していないことを意味します。

DNSエラーの原因としては次の点が考えられます。

  • インターネット回線の問題
  • DNSサーバーの障害
  • パソコンの設定ミス

DNSエラーが出たときに試すこと

原因の見分けはつきにくいので、上から順に試すのが早道です。

  1. STEP

    ほかのサイトも開けないか確かめる

    1つのサイトだけ開けないなら、相手側の問題であることが多く、こちらでできることはありません。いくつかのサイトだけ開けないときも、まずは時間をおいてみてください。どのサイトも開けないなら、自分の側かDNSの問題です。(約10秒)

  2. STEP

    スマホを同じWi-Fiにつないで、同じサイトを開いてみる

    同じWi-Fiにつないだ状態で試すのが大事です(モバイル回線のままだと別のネットワークの話になり、比べる意味がありません)。スマホでも開けないならルーターか回線の側、スマホだけ開けるならパソコン側と切り分けられます。(約30秒)

  3. STEP

    Wi-Fiをつなぎ直し、ルーターとパソコンを再起動する

    DNSサーバーの情報はDHCPという仕組みでルーターから配られるので、受け取り直すだけで直ることがあります。再起動している数分間はネットが切れますので、急ぎの用事がある人は後回しにしてください。(約3分)

DNSが原因かどうかを見分ける方法

コマンドプロンプトで、次の2つを続けて実行します。

ping 8.8.8.8
nslookup www.yahoo.co.jp

上はIPアドレスを直接指定して届くか、下は名前をIPアドレスに変換できるかを見ています。

上が通って下が失敗するなら、通信は届いていて名前を調べるところだけが失敗している=DNSの問題です。両方だめなら、DNS以前に通信そのものが届いていません。

※ 名前の代わりにIPアドレスをブラウザに直接入力する方法は、おすすめしません。いまのウェブサイトは1つのIPアドレスを多数のサイトで共有しているため、DNSが正常でも別のページやエラーが出て、かえって判断を誤ります。

DNSが原因だと分かったら

原因が絞れたら、次の3つを上から試します。

  1. STEP

    パソコンが覚えている古い情報を消す

    パソコンも一度調べた結果をしばらく覚えています。引っ越し直後のサイトなどで、古い情報が残っていることがあります。コマンドプロンプトで次を実行すると消えます。

    ipconfig /flushdns
  2. STEP

    別のDNSサーバーを使ってみる

    普段はプロバイダのDNSサーバーが自動で設定されています。そこが不調なときは、公開されているDNSサーバー(Googleの 8.8.8.8、Cloudflareの 1.1.1.1 など)に変えると直ることがあります。パソコンのネットワーク設定か、ルーターの管理画面から変更します。

    会社や学校のパソコンでは勝手に変えないでください。社内のサーバー名が引けなくなることがあります。

  3. STEP

    急ぎのときはスマホのテザリングに逃げる

    会議や締め切りが迫っているなら、原因究明は後回しにして構いません。スマホのテザリングに切り替えれば、DNSごと別の経路になるので回避できます。

    ただし、テザリングが使えるかどうかは、契約している会社とプランによって違います。いざというときの逃げ道にするつもりなら、先に確かめておいてください。

DNSのセキュリティ

チェックマークが入った盾のイラスト(DNSのセキュリティの節の扉絵)

DNSはインターネットの基盤となる重要なシステムであるため、セキュリティ対策も重要です。

近年では、DNS over HTTPS (DoH) などの技術が登場し、DNS通信を暗号化することでセキュリティを強化しています。

ただしDoHが守ってくれるのは「自分の機器とDNSサーバーの間」の区間だけです。返ってきた答えが本物かどうかを保証する仕組み(DNSSEC)は別にあります。「暗号化されているから安心」ではなく、盗み見られにくくなると理解しておくのがちょうどよい距離感です。

まとめ

DNSは、私たちがインターネットを快適に利用するために欠かせない存在です。

普段意識することは少ないかもしれませんが、DNSはウェブサイトの表示速度やセキュリティにも大きく関わっています。持ち帰っていただきたいのは次の3点です。

  • DNSは名前をIPアドレスに変換する仕組み。答える側が権威DNSサーバー、代行して覚えておく側がキャッシュDNSサーバー
  • DNSが原因かどうかは ping 8.8.8.8nslookup の2つで見分けられる
  • 急いでいるときは原因究明よりテザリングで逃げるのが正解
関連記事