treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

(1/3)ちょっとした疑問:優先DNSと代替DNS設定

WindowsのTCP/IP設定の一つにDNS設定があります。
優先DNSと代替DNSという設定項目が各々存在し、異なるDNSサーバのアドレスを入力することになります。
今日はこのDNS設定についての素朴な疑問についてご報告します。

この話はDNSサーバのうち「キャッシュサーバによる名前解決」の話であり、「権威サーバ」の話ではありません。よって、DNSクライアントが名前解決の要求(リクエスト)をDNSに送信し、望むホスト名・コンピュータ名を手に入れる、という名前解決の仕組み上の話です。

DNSサーバの設定値

この設定、普段はDHCPなどで勝手に割り当てられるので入力不要とされます。
でも自分でDNSサーバを用意した場合、そのDNSサーバのIPアドレスを入力することになるのですが、「優先」と「代替」っていうくらいだから、優先DNSが使えないときの代役として「代替」が存在するって認識だと思います。

f:id:treedown:20180701142417p:plain

で、この代替DNSの設定に何を入れるか、という点についてです。

例えば

例えば、Active Directoryなどで用意された内部DNS、これを優先DNSに設定して、ルータに用意されたDNSフォワーダー専用の機能を代替に設定するとどうなる?という点、これ結構気になる小規模なネットワーク管理者はいそうな気がします。

これの答えをくれる文献が以下

■DNS Clients and Timeouts (Part 1)と(part 2)

https://blogs.technet.microsoft.com/stdqry/2011/12/02/dns-clients-and-timeouts-part-1/

https://blogs.technet.microsoft.com/stdqry/2011/12/14/dns-clients-and-timeouts-part-2/

結論から言うと

結論から言えば、優先DNSと代替DNSは同じゾーン情報を保有していることを前提にDNSを参照する側のWindowsが動作する、という前提があります。
Active Directoryなどで用意されたDNSサーバとルータなどで動作するDNSフォワーダーで提供されるDNS機能では「ゾーン情報が異なる」ことがほとんどです。(ルータのフォワード先のDNSは概ねプロバイダのDNSであることが多いため)
と、いうことは、

だいたいは動作するけど、優先DNSで提供するレコード情報と代替DNSで提供するレコード情報が相違することによって、動作上問題が起こることもある

という結論になります。

ま、要するに
DNSによる名前解決をどれくらい使っているか、使っているレコード情報が両方のDNSで参照できるならそれほど問題にはならない
と言い換えることもできます。あんまやらないけどやってもいいよくらいの感じ。

もう一つ結論

内部ネットワークではホスト間(コンピュータ同士の)通信は発生せず、全部リソースはインターネットの向う側にある、というネットワークを構成している環境の場合。例えば最近なら社内システム・リソースは全部クラウド上に存在していますので、内部ネットワークにはなーんにもありませんよ、みたいな、環境なら、DNSクライアント上のDNSサーバ設定はどのようになっていたとしても、インターネット上のホストの名前解決が出来ればそれでよい=ルータアドレス(経由でのプロバイダのDNSサーバ)で十分、ってことになります。

でもそれなら、わざわざ内部にDNSサーバが設置されることもなく、ルータがしっかり動作していればそれでいいか、ってことになりますね。

よくある組み合わせ

ありがちなシチュエーションとしては、イントラ内のDNSサーバを優先DNSで参照しつつ、ルータアドレスなどを参照してプロバイダのDNSを代替DNSで参照する、というのはどうか?というやり方です。実際いくつか考えたことがあるインフラ構成です。

この場合、両方のDNSサーバが全く同一の名前解決を提供しないので、片方(大体は代替のほう)のDNSサーバで名前解決ができないケースがあることが多い、でもないよりましなので代替DNSに指定する、ということがほとんどに思えます。(体験談を踏まえると)

  • イントラ内のDNSサーバ:内部ネットワークのホストとインターネット上のホスト名前解決
  • プロバイダのDNSサーバ:インターネット上のホスト名前解決のみ

この構成の時、どんな動きをしてどう考えるか、と言う点について、頭の中にあることを書き出してみたいと思います。

続きます

まだ書いてないので続きは後日