DNSサーバーとは
DNS (Domain Name System) は、ドメイン名とIPアドレスを変換する仕組みを提供しているサーバーのことです。インターネットを支える大切な技術で、これがないとWebサイトの閲覧やメールを使うことができません。DNSサーバーは、ふだん何気なく使っている英数字のドメイン名と、Webやメールのサーバー機器にアクセスする番号 (IPアドレス) を紐づける役割を担っています。今回はドメイン名とIPアドレスを結びつけるこの巨大なデータベースの仕組み、設定や確認方法を解説していきます。
DNSサーバーの仕組み
PCのブラウザ上でWebサイトのドメイン名を入力したとき、実は直接Webサイトが表示されているわけではなく、ステップを踏んでいます。世界中に無数にあるDNSサーバーが一瞬で連携してから表示されているのです。あまりにも短時間なので、通常インターネットを使用しているときはこのステップを意識している人はほとんどいないでしょう。メール利用の場合も基本は一緒で、DNSサーバーを経由して使用することができています。
よくあるエラーの解決方法
まず、普段インターネット使用していて時たま発生する「DNSサーバーは応答していません」というエラーの原因と対処方法についてご紹介していきます。DNSエラーはドメインとIPアドレスの紐付けがうまくいかずにインターネットへ接続できなくなっている状態です。DNSエラーが起きる原因はひとつではなく、普段使用している環境やそのときのサーバーの状況によってなどさまざまです。DNSエラーを解消するためには、その時の原因と状況を確認し改善する必要があります。
まずはネットワーク診断
エラーが起きたときは、焦らず冷静に原因を分析しましょう。まずはネットワーク診断などのトラブルシューティング機能を使用して、エラーの原因はなんなのか状況の診断を行いましょう。Windowsはスタートメニューから設定の「ネットワークとインターネット」からネットワーク診断ができます。Macはワイヤレス診断をしてみましょう。それぞれ自動で診断してくれますので、表示されるメッセージを確認して対処しましょう。
ルーターやモデム、デバイス自体を再起動
ネットワーク診断を行っても原因がよくわからない場合は、まずルーターとモデムの電源を切って再起動を行ってみましょう。インターネット接続で何かしらが上手くいっていなかっただけの場合は、これで不具合が解消することもあります。パソコンだけでなくテレビやゲーム機器でもDNSエラーは発生します。どのデバイスで発生した場合もメーカー等に問い合わせる前に、一度デバイス側の再起動を実施してみることをおすすめします。
確認事項① インターネットが問題なく利用できるか
パソコンやタブレットなどの端末は、基本的にはLANケーブルやルーターなどを経由してインターネットに接続されています。ルーターの電源が抜け落ちていたり、コードが別の端子に挿さっていたり、無線LANの設定がOFFになっていたりすると接続できません。気づかないうちに発生していることもありますので、まずはインターネットの接続状況を確認しましょう。自分のスマートフォンはいつも通りインターネットに接続できるのに、ゲーム機器やPCなど別のデバイスだけがつながらない場合は、インターネットの問題ではない可能性が高いでしょう。
確認事項② ネットワークの構成が共有接続になっていないか
アクセスポイントは、無線LANと有線LANを相互変換する装置です。Windowsで無線LANのアクセスポイントモード共有接続をしていたり、無線LANで共有接続をしている時にDNSエラーが発生することがあります。どちらの場合もDHCPと呼ばれるホストに設定情報を伝達するためのクライアントサーバーが自動的にIPアドレスを割り当てることに失敗している可能性があり、それがエラーの原因と考えられます。
共有接続になっていた場合の解決策
さらに、プレイステーションなどのゲーム機器を有線で利用している場合や、ケーブルテレビでインターネットサービスを使っている場合にもDNSエラーが起きることがあります。この場合、IPv6プロトコルを無効にした状態で再起動を行い、ブラウザのプロパティにある優先DNSサーバーを「8.8.8.8」、代替DNSサーバーを「8.8.4.4」に設定して、エラーが解消されるかどうかをチェックしてみてください。
確認事項③ 特定のページだけが見られない場合(サーバーの環境)
全てのインターネットにつながらないわけではなく、特定のページだけが見られない場合、ドメインとIPアドレスの紐付けがうまく行われていない可能性があります。個人事業主が自分で提供しているサービスのサイトや、自社のHPでDNSエラーが発生している場合には、ネームサーバーの設定を変更する必要があります。ドメインを取得したサービスへ問い合わせましょう。外部のサービスでDNSエラーが発生している時はサービスが停止されている可能性があります。サービス提供者の問い合わせ先が分かれば運用状況を問い合わせてみましょう。
確認事項④ DNSサーバーのダウン・一時的な混雑
DNSサーバーにアクセスが集中しすぎると、タイムアウトまでにドメイン名を返すことができずDNSエラーが発生する場合があります。この場合は少し時間をおいてリロードすることでエラーが解消されることが多いでしょう。ゲーム機器のエラーメッセージで表示されるエラーコード表示も一時的な問題によるものなので、しばらく時間をおいてからアクセスしなおしてみることをおすすめします。また接続先のDNSサーバーがダウンしている可能性があります。こちらも時間をおいてから再度確認してみることで判断しましょう。
パブリックDNSを使ってみよう
DNSサーバーのほとんどがプロバイダーによって用意されています。しかし、プロバイダーによっては用意しているDNSサーバーの障害が頻繁に発生することがあります。そこで、PCやブラウザの設定をプロバイダーのDNSサーバーから"パブリックDNS"という無料で安全に使える公共DNSサーバーに変更してみることで、快適な通信速度を実現することができる場合があります。もっとも広く使われているGoogleの運営する「Google Public DNS」での設定方法をご紹介します。
Windowsでの設定方法
Windowsでの設定方法をご紹介します。「コントロールパネル」から「ローカルエリア接続」を右クリックし、「ネットワーク」タブの項目で「インターネット プロトコル バージョン 4 (TCP/IPv4)」を選択します。次にプロパティを開き「全般」タブの「次のDNSサーバーのアドレスを使う」にチェックを入れます。最後に優先DNSサーバーを「8.8.8.8」、代替DNSサーバーを「8.8.4.4」に設定して、OKを押します。ウィンドウを閉じれば設定完了です。
Macでの設定方法
Macの場合は、まずメニューバーの左にあるAppleマークかDocから「システム環境設定」を選択します。次に「ネットワーク」をクリックします。インターネットの接続に使っているインターフェイス(EthernetやWi-Fiなど)を選択し、「詳細」ボタンを押して次へ進みます。「DNS」タブで「追加(+)」ボタンを押し、DNSサーバーのISPアドレスとして「8.8.8.8」、「8.8.4.4」を入力します。余計なIPアドレスがある場合は、該当するアドレスを選択して「削除(ー)」ボタンをクリックすれば問題ありません。
それでも解決しないときは
これまでにご紹介した方法でも解決されない場合には、パソコンのトラブル解決を専門にする業者にネットワーク環境を見てもらうことをお勧めします。自分でも気づかなかったところで不具合が起きている可能性もあるので、専門家に頼んでみるのもいいでしょう。それ以外にWebページの読み込みに思った以上の時間がかかる場合、DNSに関する設定に不具合がある可能性があります。例えば、「https://www.apple.com」でアクセスしたときのほうが、「http://17.172.224.47」でアクセスしたときよりも遅く感じられるときには、何らかの不具合がある可能性が高いでしょう。
おすすめのパブリックDNSサーバー
ここまではエラーの原因の確認方法や解消するための方法をご紹介してきました。解消方法の中でご説明した無料で利用できる"パブリックDNS"は、Google以外にも数多くあります。ここでは信頼性の高い代表的なサービスを3つ、詳細と特徴を含めてご紹介します。パブリックDNSを利用することで、オンラインゲームなどをしている方などは速度が格段にUPし、快適に利用することができます。
安全性&速度ならGoogle DNS
まず、先ほどもご紹介したGoogleのパブリックDNSです。一般向けのDNSとしては一番知名度が高く、利用者も多いです。DNSサーバーのIPアドレスは「8.8.8.8/8.8.4.4」です。Google DNSの特徴は、「安全性の高さ」と「速度の速さ」になります。それぞれ極端に性能が高いわけではありませんが、Googleが運営しているだけでも信頼性はかなり高いでしょう。まずはパブリックDNSを初めて利用してみたいという方にはぴったりのサーバーです。
速度に優れたCloudflare DNS
次にご紹介したいのは「Cloudflare DNS」です。知名度がそこまで高いというものではありませんが、レスポンス速度が優れているのでゲームをする方には一番おすすめできるDNSです。DNSサーバーのIPアドレスは「1.1.1.1/1.0.0.1」です。Cloudflareの特徴は、圧倒的なレスポンス速度です。DNSperfが公表しているデータによれば、Google DNSのレスポンス速度が22.06msなのに対してCloudflare DNSのレスポンス速度は14.77msです。通信速度を重視している方に最もおすすめしたいDNSです。
安全性に優れた quad9
3つ目は「quad9」というパブリックDNSです。DNSサーバーのIPアドレスは「9.9.9.9/149.112.112.112」です。quad9の特徴は、X-Force脅威インテリジェンスを利用した安全性の高さです。恐らくここで紹介した3つの中でも最も安全性の高いDNSなのですが、他の2社と比較するとレスポンス速度が40.71msと少し遅くなってしまいます。とにかく安全性の高いサーバーを利用したいという方は、速度の確認も含め一度利用してみるのもよいかもしれません。
企業にとってのDNSサーバー管理
IPSやファイアウォールなど色々なインターネットセキュリティを導入している企業でも、DNSのセキュリティに対する関心はあまり高くありません。しかし自社のIPアドレス情報を公開しているDNSサーバーが攻撃を受け情報が漏洩・改ざんされた場合、顧客の重要な個人情報が漏えいしてしまうかもしれません。または意図的に間違った情報を流されることで、組織自体の信頼を失いかねないような事態が発生する可能性もあります。DNSは、インターネットを利用する際には必ず必要なものです。そのため、攻撃を受けた場合の影響は測り知れないのです。
今までのDNSサーバーの構成と問題点①
従来は自社のDNSサーバーを配置する際、外部DNSサーバーと内部DNSサーバーの両方を配置し、内部DNSサーバーがDNSキャッシュサーバーを兼ねるという構成が主流でした。しかし近頃では、企業のDNSサーバーが攻撃されDNSキャッシュサーバーに間違った答えを送り返す攻撃が見られるようになってきました。今までの方法では世界中で情報漏洩等のトラブルが多発してしまう可能性が高まり非常に危険だと考えられるようになりました。
今までのDNSサーバーの構成と問題点②
DNSキャッシュサーバーは、2台を配置して何らかの問題が起きた際、片方が止まってももう一つのサーバーを運用させるというのが一般的でした。Windowsなどでは、DNSキャッシュサーバーを複数台設定できるのでこの対応で十分だと考えられていたのです。しかしインターネットの利用頻度が上がり、この切り替えがスムーズに行われない場合があることが問題視されています。片方のサーバーが停止した場合に、応答がないことを確認してもう一つのサーバーへリクエストを送ります。このタイムアウトは数秒ですが、通信量の多いネットワークでは数秒の処理の遅延が大きな負荷につながることがあるためです。
2020年代のDNSサーバー構成
こうした問題を考慮して、最近のサーバー構築では「DNSキャッシュサーバーは複数配置し、ロードバランサ―を使用して負荷を分散させる」「権威DNSサーバーとキャッシュDNSサーバーを分離する」「DNSサーバーソフトウェアは、複数のソフトウェアを配置する」などの方法で対策をとっている企業も多いようです。企業などで利用しているネットワークが小規模の場合は、内部権威DNSサーバーとDNSキャッシュサーバーをひとつのサーバー上に配置することもあります。しかしこのときもキャッシュと権威DNSサーバーの機能を別々のソフトウェアで処理するように構成するのがよい、と言われています。
攻撃を分析できる仕組みを導入
DNSに対する攻撃が多くなっていることから、DNSのログを取得し分析を行える仕組みを準備しておくことが主流になってきています。DNSログの記録プロセスをDNSサーバーから分離し、できる限りDNSサーバーの負荷を抑えた状態でログを取得する方法を提案するシステム会社もあります。DNSのログは膨大な量のため、ビックデータの解析ソフトウェアであるElasticsearchを使って分析できる方法なども生まれています。
DNSサーバーの管理
DNSサーバーを設置するためには専門知識が必要です。24時間365日稼働しなければならないことと、データベースの情報も常に最新にしておく必要があります。ネットワークの規模がある程度大きくなると、ドメインごとに管理できる仕組みが必要となってきます。WEBアプリケーションなどを使って管理できる仕組みもありますが、手間やコストがかかる場合が多いため多くの企業がDNSサーバーの運用をアウトソーシングしています。必要に応じて調べてみるのがよいでしょう。
DNSサーバーソフトウェアのアップデート
DNSサーバーのソフトウェアはアップデートが頻繁に行われます。そして致命的な問題も多いため、更新をためずにアップデートがリリースされたら即時にバージョンアップをしていく必要があります。こちらもアウトソーシングしている企業が多数あるほか、構築したサーバーに対し自発的にアップデートを行うアップデート適用サービスを提供している企業もあるため、いくつかの会社をピックアップし調べてみるのもよいかもしれません。