• ベストアンサー
  • すぐに回答を!

名前解決の仕組み

例えば、WindowsのクライアントPCにおいて、優先DNSと代替DNSを下記のように 設定していたとします。    優先DNS:内部DNSサーバのアドレス    代替DNS:ISPのグローバルDNSサーバのアドレス 今までグローバルDNSサーバに定義されていたAレコードの内容を 内部DNSサーバに定義しました。(このときグローバルDNSサーバの 該当Aレコードは削除しました。) クライアントPCからnslookupを実行して、Aレコードを引くと、きちんと 内部DNSサーバに定義されていたAレコードの値が返ってきます。 しかしこのAレコードをメールのPOP3に設定すると、受信が出来ませんでした。 (エラーはなし)MXレコードとAレコードは、間違いなく定義しております。 そのドメインあてには、テストメールは送付していて、送信者にはエラーは 返ってきておりません。 メールサーバにもメールが届いていることを確認しております。 優先DNSを見ていないように思えるのですが(代替DNSを見ている?)、なぜなのでしょうか。 また、このような事象が起こることがあるのでしょうか? 今まで優先DNSで名前解決が出来ない場合は、代替DNSに問い合わせにいくと思っていましたが、 ランダム?に名前解決しているように思えました。 そもそも、優先DNSに内部DNSサーバを定義し、フォワーダーとして、ISPのグローバルDNSサーバの IPアドレスを定義するので、クライアントPCには代替DNSサーバは定義しなくてもいいということ なのでしょうか? 詳しい方アドバイスを頂ければと思います。 よろしくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数851
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1
  • maesen
  • ベストアンサー率81% (646/790)

WindowsのDNSクライアントの動作は以下のWebサイトを参考にして下さい。 http://www.atmarkit.co.jp/fwin2k/win2ktips/241dnsservers/dnsservers.html ざっくり言うと、優先DNSサーバが一定時間内に応答を返さないと代替DNSサーバが使用されるということになります。 ここで注意は、Non-existent domain(否定応答)は応答したと判断するということです。 >今まで優先DNSで名前解決が出来ない場合は、代替DNSに問い合わせにいくと思っていましたが、 名前解決出来ない場合ではなく、一定時間内に応答がない場合ですね。 >優先DNSを見ていないように思えるのですが(代替DNSを見ている?)、なぜなのでしょうか。 >また、このような事象が起こることがあるのでしょうか? 優先DNSと代替DNSが同じリソースを管理していない場合はこのような事象が発生することがあります。 つまり今回の場合は該当します。 優先DNSサーバが何らかの理由で応答を返すのが遅いため、代替DNSサーバからの応答を是とましたが、代替DNSサーバは該当Aレコードを持っていないため Non-existent domain(否定応答)が返ったのだと思われます。 この応答からWindows側はその名前は無いとの判断になったのだと思います。 優先DNSサーバがそんなに遅いの?という疑問はありますが、これは通信をキャプチャするなどして覗いてみないと詳しいことはわからないですね。 ただ、一度このやり取りをしますと名前が無いという情報がクライアントにキャッシュされますのでキャッシュ時間内は再度の問い合わせを行いません。 キャッシュ時間は、ネガティブキャッシュのTTLに依存しますが1日とかに設定していることも多いです。 >クライアントPCからnslookupを実行して、Aレコードを引くと、きちんと >内部DNSサーバに定義されていたAレコードの値が返ってきます。 nslookupコマンドは指定したDNSサーバに対してしか問い合わせを行いません。 つまり、デフォルトでは優先DNSサーバが問い合わせ先のサーバになるため、優先、代替の仕組みはコマンド内では動作しません。 >そもそも、優先DNSに内部DNSサーバを定義し、フォワーダーとして、ISPのグローバルDNSサーバの >IPアドレスを定義するので、クライアントPCには代替DNSサーバは定義しなくてもいいということ >なのでしょうか? 内部DNSサーバとISPのグローバルDNSサーバが同じリソースを管理しているのであれば、代替DNSサーバを設定する意味はあると思います。 内部DNSサーバがDNSをサービス出来ないような状況になった場合でも名前解決が出来るルートがありますので。 ただ、今回のように管理しているAレコードが違うなどリソースの内容が異なる場合にはトラブルが発生する場合があります。 それぞれのDNSサーバのレコードの内容を同じに出来ないのであれば、トラブルの元なので代替DNSサーバは設定しないほうがいいと思います。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

今回は、内向けと外向けのレコード内容を同一にして対応しました。 細かなご説明ありがとうございました。

関連するQ&A

  • 代替DNSの動作について

    以下を検討しています。 ・ローカルなネットワーク(インターネットに接続しないネットワーク)で、2種類のDNSサーバを持つ。 ・各DNSには別の内容を定義する。 ・クライアントのDNS設定には、それぞれのDNSサーバを優先DNS、代替DNSとして定義する。 上記のように定義して、優先DNSに登録していないホスト名が来たとき、代替DNSに問い合わせに行くことを期待しているのですが、そのような動きになるのでしょうか?それとも、優先DNSに無かった時点で代替DNSには問い合わせには行かないのでしょうか?

  • ローカルドメイン名をグローバルと同名にするとメール不能に

    NTドメインからW2Kドメインにアップデートしたのですが、この際マニュアル本に従ってローカルドメイン名(といっていいのか)をグローバルドメイン名と同じ名前のPcompany.co.jpとしました。 その後、社内のネットワークもインターネットも特に問題なく処理できていたのですが、レンタルメール会社にホスティングしているグローバルドメインを使用したインターネットメールだけは、「POP.Pcompany.co.jp」が見つからないとなり使用することができません。 おそらくドメインのラベルが同名であるためにローカルドメイン上のDNSを探してPOP.Pcompany.co.jpが見つからずにエラーがでていると思いますが、このような場合のために、ISPから取得したDNSアドレスでフォワーダーも設定しており、実際、他のドメインを使ったインターネットメールやWEBは問題なく接続できます。 フォワーダーは、同じドメイン名であればDNSにレコードがなくても外部のDNSへ探しに行ってはくれないのでしょうか。 アドバイスお願いします。 尚、ご参考までに設定状況は下記のとおりです(アドレスやドメイン名は架空ですが)

  • VPNでDNSでの名前解決ができません

    windows7でVPN(PPTP)接続でDNSサーバのアドレスを自動取得にすると名前解決ができません。 インターネットアクセスなしと表示されます。 名前解決が出来きていないため、表示上はインターネットアクセスなしと出ていますが、 IPアドレスをたたくとインターネット接続できるので繋がってはいます。 VPNクライアントの「VPNのプロパティ」→「ネットワーク」→「インターネットプロトコルバージョン4」の設定で DNSサーバのアドレスを自動で取得にして、PPTPサーバからDNSサーバのアドレスを自動取得すると (1)のようにルータのDNS(192.168.11.1)が自動で取得されているのですが、なぜか名前解決ができないんです。 192.168.11.1にはpingは通りますしVPN接続は完了しています。 (2)のように手動入力すると名前解決できるようになりインターネットアクセスなしから解放されます。 また(1)においてiphoneから同じようにVPN接続すると、DNSサーバのアドレスが自動取得できて名前解決できているようでネットに繋がります。 なのでVPN接続先のルータのDNSの動作がおかしいとは思わないんです。 windows7のネットワークに問題があるかVPNクライアントに問題があるのか、DNSサーバからアドレスを自動取得しているくせに名前解決の結果を得ることができていないです。 当然この場合、nslookup www.yahoo.co.jpとしてもIPアドレスに解決されませんでした。 (1)DNSサーバのアドレスを自動取得する PPP アダプター VPN: 接続固有の DNS サフィックス . . . : 説明. . . . . . . . . . . . . . . : VPN DHCP 有効 . . . . . . . . . . . . : いいえ 自動構成有効. . . . . . . . . . . : はい IPv4 アドレス . . . . . . . . . . : 192.168.11.4(優先) サブネット マスク . . . . . . . . : 255.255.255.255 デフォルト ゲートウェイ . . . . . : 0.0.0.0 DNS サーバー. . . . . . . . . . . : 192.168.11.1 ←※DNSサーバのアドレスを自動で取得すると名前解決されない NetBIOS over TCP/IP . . . . . . . : 有効 ============================================================================= (2)DNSサーバのアドレスを手動入力する PPP アダプター VPN: 接続固有の DNS サフィックス . . . : 説明. . . . . . . . . . . . . . . : VPN DHCP 有効 . . . . . . . . . . . . : いいえ 自動構成有効. . . . . . . . . . . : はい IPv4 アドレス . . . . . . . . . . : 192.168.11.4(優先) サブネット マスク . . . . . . . . : 255.255.255.255 デフォルト ゲートウェイ . . . . . : 0.0.0.0 DNS サーバー. . . . . . . . . . . : 8.8.8.8 ←※手動入力すると名前解決される NetBIOS over TCP/IP . . . . . . . : 有効 ご指導のほどよろしくお願いします。

  • 自前外部DNSサーバをアウトソーシング移管する場合

    以下の手順でよろしいでしょうか? 間違いや注意点などありましたらご教示お願い致します。 (1)外部DNSサーバのアウトソーシングの契約をして、レコードは自前外部DNSサーバのレコードと同じ設定にする。 (2)自前外部DNSサーバのNSレコードを、アウトソーシング外部DNSサーバに書き換えて転送させる。 (3)しばらく平行稼働させて浸透するのを待つ。1週間ぐらい? (4)自前外部DNSサーバを撤去する。同時に内部DNSサーバのフォワーダ先を自前外部DNSから、アウトソーシング外部DNSに変更する。

  • 名前解決について

    教えてください。 現在、新らしく構築したDNS(LINUX)サーバ上にログインして コマンドで #nslookup #server (DNSサーバ自身のアドレス) #www.abc.co.jp と入力すると名前解決できています。 ただし、他のPC端末で #nslookup #server (DNSサーバのアドレス) #www.abc.co.jp すると名前解決できません。 Firewallでどこかで53ポートの通信が遮断されている可能性があるのですが、 分かりません。 とりあえずPCの方はインターネット上のDNSサーバを指定すればインターネットは参照できています。 尚、DNSサーバとPCのセグメントは同じです。 宜しくお願いいたします。

  • WindowsServer2003のActiveDirectory環境について

    syato_tabbyと申します。 WindowsServer2003 R2 Standardを2台導入して、ActiveDirectoryを構成しております。 その2台はドメインコントローラとして稼動しているのですが、1台は拠点Aに、もう1台は拠点Bに配置しております。それぞれのロケーションで、クライアントはDNSサーバとして自分のロケーションのサーバを優先DNSサーバに設定し、代替DNSサーバを別ロケーションのDNSサーバを設定しております。 例:拠点AのクライアントのDNS設定: 優先→拠点AのDNS、代替→拠点BのDNS ある日、拠点Aのドメインコントローラが故障によりダウンしてしまったのですが、クライアントは代替のDNSとして拠点Bのサーバを設定しているので問題ないだろうと思っていたのですが、名前解決ができない状態となってしまいました。 通常であれば問題ないと思いますが、皆様方で同じような現象を体験した方がいらっしゃいましたら、原因や解決方法等をご指導いただければと思います。 以下、今回の事象を箇条書きでまとめます。 ・拠点A、拠点Bにドメインコントローラを配置 ・ドメインコントローラは、当然DNSサーバとして動作 ・クライアントは、自ロケーションのサーバを優先DNSとして設定 ・クライアントは、他ロケーションのサーバを代替DNSとして設定 ・拠点Aのドメインコントローラがダウン(当然、DNSがダウン) ・拠点BのDNSで名前解決できたはずなのに、できなかった。 よろしくお願いします。

  • windowsのドメイン名前解決がうまくいかない

    独自ドメインを使用しており、LAN内に公開サーバがいます。 LAN内からもLAN外からもドメイン名を指定してアクセスできるようにしたいですが、LAN内からはルーターのIPアドレスになってしまいます。 そこでLAN内にDNSサーバ(dnsmasq)を構築し、 dnsの優先度を以下のように設定しました。 1. LAN内のDNSサーバ 2. ルーター なお、Linuxは固定IPを使用しているため、上記DNSをdhcpcd.confに指定 WindowsはDHCPを使用しているため、ルーター側のDHCPの設定で上記DNSを指定 しました。 Linuxからは内部にも外部にもドメインでアクセスできています。 Windowsからは内部のサーバにドメインでアクセスできません。 内部のDNSが優先にも関わらず、ルーターのipを引いてしまっています。 原因が分からないので、アドバイスをお願いします。 提示すべき情報がありましたら、可能な範囲で開示します。

  • ワークグループ設定のPCの名前解決

    すごく初歩的な質問なのですが、Webや書籍で調べても拉致が空きませんでしたので、教えて頂けないでしょうか? 環境は ●サーバ:Windows Server 2003 R2(WINS・DNS) ●クライアント:Windows XP SP3(IP自動取得・WINSサーバ設定はしない・”この接続のアドレスをDNSに登録する”にチェック・DNSは↑のサーバを見に行くよう設定) DHCPはルータの機能を使用しております。 ドメイン設定してあるクライアントPCはDNSに登録され、名前解決されるのですが、ワークグループ設定してあるPCはきちんと名前解決がされません(IPでPingは通るが、コンピュータ名では通らない)。 WINSにはこのクライアントPCのレコードがあり、DNSには動的更新の設定をしているのですが、↑のクライアントPCのレコードは無い状態です。 DNSの設定がきちんとなされてないのでしょうか? 宜しくお願い致します。

  • linuxの名前の解決について

    いつもお世話になっております。 vmwareでlinux(CentOS5)をインストールした所、クライアント(Windows)からping "IPアドレス" は飛ぶのですが、ping "hostname"は飛ばない状態になりました。 名前解決する方法は、 ・DNSサーバに登録する。 ・各クライアントからhostsで解決する。 の2通りの方法があるという事で良いでしょうか。 現状、上手く名前解決できているサーバがあり、クライアント(Windows)の設定を確認してもhostsは定義されてなかったので、DNSで解決されているのかと思い、 クライアントから nslookup 解決されているサーバ名 dnsサーバのIP と打ってみたのですが、 setup.netvolante.jp can't find xxxxx: Non-existent domain と出て、DNSに登録されていないように感じます。 ちなみに nslookup 解決出来ない名 dnsサーバのIP setup.netvolante.jp can't find yyyyy: Non-existent domain と同様でした。 新しくインストールしたサーバの名前解決するにはどうしたら良いのでしょうか。 dnsに登録するというのは、リモートからでも出来るのでしょうか。 (小さい社内開発環境なので、自由にいじっても大丈夫なのですが、 この辺詳しかったものが辞めてしまい、申し訳ありませんが教えてください。) いくつか質問入ってしまい、すいませんが、 どれかでもアドバイスよろしくお願いします。

  • 内部ネットワークのコンピュータをWebサーバーにする

     TL6.1Jでインターネット接続できる環境で、内部(プライベート側)にある、コンピューターをWebサーバーとする為に、ipmasqadm をインストールしました。  しかし、クライアントからグローバルアドレスを入力して”サーバーが見つからないか、DNSエラーです”と出ます。  定義は次の通りです。誰か助けてください。  ipmasqadm -a -P tcp -L 211.xxx.yyy.zzz 80 -R 192.168.aaa.bbb 80 尚、DNSの定義には、今プライベート側にあるWebサーバーに関する情報は載せていません。さらに、ipchains による定義もはずしました。(内から外へのみ通す定義)