WindowsにDNSサーバーを手動で複数(3つ以上)設定する方法とその仕組み
2019/09/04
本エントリーの目次
Windows PCに、複数のDNSサーバーを手動で設定するにはどうしたら良いの?
PCやスマホの通信を支える重要な技術の一つに、DNSが挙げられます。
これが正常に動作していなければドメイン名とIPアドレスの対応づけ(正引き、逆引き)がうまくできず、インターネット上のwebサイトの閲覧ができない。
あるいはActiveDirectoryの機能が正常に動作しないなど、多数の問題が起こるでしょう。
そこでDNSサーバーの障害に備え、複数のDNSサーバーを用意。
あらかじめこれをクライアントPCに設定しておけば、あるDNSサーバーに障害が起きて応答しない場合でも、別のDNSサーバーに問い合わせを行い、通信を正常に行えるようにできます。
これは、クライアントPCにDHCPを使ってIPアドレスやDNSサーバーのIPアドレスを配布している場合、DHCPサーバー側で複数のDNSサーバーのIPアドレスを配布するように設定すればOKです。
またDNSサーバーを手動設定したい場合は、Windowsの設定画面で複数のDNSサーバーのIPアドレスを指定します。
ただWindowsの設定画面の初期表示状態では、最大で2つのDNSサーバーしか設定できません。
環境によっては、4つ程度のDNSサーバーを設定したいこともあるため、入力ができず困ってしまうこともあるでしょう。
そこで今回は、Windows PCで3つ以上のDNSサーバーを手動設定する方法をご紹介します!
Windows PCに、複数のDNSサーバーを手動設定する方法
まずはWindows PCが使用するDNSサーバーのIPアドレスを、手動で1~2個設定する方法からご紹介しましょう。
任意の画面を表示した状態で『Windows』キーを押しながら『R』キーを押下。
以下のような『ファイル名を指定して実行』画面が表示されたら、『名前』のテキストボックスにncpa.cplと入力してから『OK』ボタンをクリックし、コントロールパネルのネットワーク接続の一覧画面を表示します。
ネットワーク接続の一覧画面では、DNSサーバーの設定を行いたいネットワーク接続を右クリックし、『プロパティ』を選択します。
『プロパティ』画面が表示されたら、『この接続は次の項目を使用します』というリストから、『インターネット プロトコル バージョン 4(TCP/IPv4)』を選択し、ダブルクリック。
あるいは『プロパティ』ボタンをクリックしてください。
すると『インターネット プロトコル バージョン 4(TCP/IPv4)のプロパティ』画面が表示されるので、『次のDNSサーバーのアドレスを使う』を選択。
『優先DNSサーバー』にDNSサーバーのIPアドレスを指定します。(下記例ではDNSサーバーのIPアドレスとして、192.168.10.1を指定しています。)
また2つのDNSサーバーを設定したい場合には、『優先DNSサーバー』と『代替DNSサーバー』にIPアドレスを設定してください。(下記例では1つ目のDNSサーバーのIPアドレスに192.168.10.1を、2つ目のDNSサーバーのIPアドレスに192.168.10.2を指定しています。)
設定するDNSサーバーの数が1~2であれば、この方法で設定を行った後に『OK』ボタンをクリックすれば、設定は完了です。
DNSサーバーのIPアドレスを、手動で3個以上設定する方法
『インターネット プロトコル バージョン 4(TCP/IPv4)のプロパティ』画面を見れば分かるとおり、初期表示状態ではDNSサーバーは『優先DNSサーバー』と『代替DNSサーバー』の最大2つしか設定できません。
3つ以上のDNSサーバーを設定したい場合は、画面右下にある『詳細設定』ボタンを押下し、『TCP/IP 詳細設定』画面から設定を行う必要があります。
『TCP/IP 詳細設定』画面が表示されたら画面上部のタブを操作し、『DNS』タブに切り替えます。
そして『DNSサーバーアドレス(使用順)』というボックス周辺の『追加・編集・削除』ボタンや『順番上下』ボタンを使い、DNSサーバーのIPアドレスを設定したり、その使用順を定義します。
『インターネット プロトコル バージョン 4(TCP/IPv4)のプロパティ』画面の『優先DNSサーバー』に設定したDNSサーバーのIPアドレスは、本画面では使用順1番目として表示。
そして『代替DNSサーバー』は使用順2番目として表示される仕組みとなっています。
今回は3つ目のDNSサーバーとして、192.168.10.3を設定してみましょう。
この場合『DNSサーバーアドレス(使用順)』下部にある『追加』ボタンを押下。
表示された画面内の『DNSサーバー』に192.168.10.3と入力し、『追加』ボタンを押下します。
これで3つ目のDNSサーバーのIPアドレスが、使用順3番目の状態で追加されています。
尚、本画面で設定した使用順1番目のDNSサーバーのIPアドレスが、『インターネット プロトコル バージョン 4(TCP/IPv4)のプロパティ』画面の『優先DNSサーバー』に。
そして使用順2番目のDNSサーバーのIPアドレスが、『代替DNSサーバー』に設定されるので、本画面で1~2番目のDNSサーバーの順番を入れ替えても問題ありません。
Windowsに複数のDNSサーバーを設定した場合の動作の仕組みについて
Windows PCに複数のDNSサーバーを設定した場合の動作の仕組みは、やや勘違いされやすい内容です。
そこで最後に、その概要についてふれておきましょう。
Windows PCに複数のDNSサーバーを設定した場合(ここでは仮に『優先DNSサーバー』と『代替DNSサーバー』の2つのDNSサーバーを設定したとしましょう)、クライアントPCが『代替DNSサーバー』を使用するのは、『優先DNSサーバー』からの応答が一定時間ない場合です。
『優先DNSサーバー』が正常な状態で、かつ自分が解決できない名前の情報に対する問い合わせを受けた場合には、『優先DNSサーバー』は否定応答※を行います。
※DNS応答が戻ってこないのではなく、そのレコードが存在しないという結果(否定)応答のこと。
そして『優先DNSサーバー』から否定応答を受けたクライアントPCは、次に『代替DNSサーバー』に問い合わせを行い名前解決を試みる。
と勘違いされていることが多いですが、実際には『代替DNSサーバー』に問い合わせを行わないのです。
たとえば『優先DNSサーバー』と『代替DNSサーバー』がともに正常で、『代替DNSサーバー』しか解決できない名前への問い合わせがあった場合、その名前解決は失敗し、通信が正常にできません。
ただし『優先DNSサーバー』が障害などの理由で正常に応答できない場合。
あるいは何らかの問題により著しく応答が遅い(応答が一定時間以内になかった)場合、『代替DNSサーバー』に問い合わせが行われ、名前解決が成功する可能性はあります。
そしてWindows PCは一度肯定、または否定応答を受け取ると、初期設定ではそれを一定時間キャッシュします。(肯定応答は86400秒=1日間、否定応答は900秒=15分間キャッシュする。)
そのため『代替DNSサーバー』しか解決できない名前への問い合わせが成功した場合、キャッシュの保持期間が経過するか、手動削除するなどしてDNSキャッシュを削除するまでは正常に通信が可能となるはずです。
そしてDNSキャッシュが削除され、『優先DNSサーバー』が正常に否定応答できる状態であれば、今度は通信ができなくなります。
参考:WindowsのDNS(名前解決)キャッシュのクリア方法やキャッシュさせない方法
こういった動作仕様のため、複数のDNSサーバーの設定をWindows PCで行うのは、DNSサーバーの冗長化を目的としています。
したがって各DNSサーバーが名前解決できる内容は、同じにしておくのが一般的です。
そして『優先DNSサーバー』が自身で解決できない名前の情報に対する問い合わせを受けた場合に、別のDNSサーバーに再度問い合わせて名前解決を行わせたければ、DNSサーバーのフォワーダーという機能を使用します。
Windows ServerのDNSサーバーでは、DNSマネージャーでDNSサーバーのプロパティを開き、『フォワーダー』というタブで設定可能です。
以上、参考になさってくださーい!