DNS解決はWebブラウザーで失敗しますが、nslookupは成功します


9

私たちは、BYODとActive Directoryが混在する環境(Windows Server 2012 Standard、Windows 7 Enterprise)を備えた小規模な300シートの組織であり、ドメインでの組織のドメイン名を解決するための非常に特定のスコープの障害を含む非常に奇妙な問題が発生しています-参加、会社管理の機械。この説明では、ドメイン名の代わりにcompany.comを使用します。

バックグラウンド:

  • Active Directoryドメインコントローラーは172.16.1.3にあります
  • AD / DCマシンはDHCP、DNS、およびHTTP(IIS)も実行しています
  • company.comおよびsubdomain.company.comにある私たちの組織のWebサイトは、AD / DCマシン上のIISによってホストされています
  • AD / DCサーバーが内部DNS解決に使用されるが、別のオフサイトサーバーがパブリッククエリのDNS解決を提供する分割DNSシナリオがあります。
  • company.comおよびsubdomain.company.comに対応するIPアドレスは、ネットワークのエッジでファイアウォールによって使用されるパブリックIPアドレスです(AD / DC DNSサーバーとオフサイトDNSサーバーの両方)。
  • ファイアウォールは、NAT用に正しく構成されており、パブリックIPアドレスで受信したHTTPおよびHTTPSリクエストをAD / DCサーバーの内部IPに渡し、反映します。

シナリオ1:

  • ドメインに参加しているWindows 7 Enterpriseマシンのユーザーは、DHCPサーバーによって発行されたローカルアドレス172.16.6.100 / 16でローカルネットワークに直接接続されています。
  • DNSサーバーエントリはDHCPによって提供されます(172.16.1.3)
  • このユーザーは、company.comおよびsubdomain.company.comでホストされているWebサイトにアクセスできます
  • 編集: nslookupはこのシナリオで実行され、内部DNSサーバー(172.16.1.3)から適切なDNSレコードを正しく返します

シナリオ2:

  • 同じドメインに参加しているWindows 7 Enterpriseマシン上の同じユーザーが家に帰り、住宅用ISPを使用してインターネットに接続します
  • クライアントマシンのIPおよびDNSサーバーエントリはDHCPによって提供されます
  • このユーザーは、google.comなどのインターネットリソースにアクセスできます
  • このユーザーは、company.comまたはsubdomain.company.comの Webサイトにアクセスできません(「ホストが解決されていません」エラーが返されます)
  • このユーザーは、上でnslookupを実行するとcompany.com彼らはDO DNSが提供する正しい公開IPアドレスを受け取ります
  • IPアドレスへのHTTP / HTTPSリクエストは成功し、ウェブページはサーバーによって適切に返されます
  • この問題はすべてのWebブラウザーで発生します
  • tracert company.comを使用すると、「ターゲットシステム名を解決できません」が返される
  • ping company.comを使用すると、「ホストcompany.comが見つかりませんでした」が返される
  • 失敗したリクエストの前/間にクライアントでWiresharkを実行すると、クライアントマシンからパケットが送信されません(DNS解決または最初のHTTP / ping / tracertリクエストのいずれか)。
  • DNSクライアントサービスを再起動しても問題は解決しません
  • DNSクライアントサービスを停止しても問題は解決しません
  • ipconfig / flushdnsを使用しても、この問題は解決しません
  • ルート/ fを使用してもこの問題は解決しません
  • netsh int ip resetを使用してネットワーク接続をリセットしても、この問題は解決しません
  • 編集: nslookupはこのシナリオで実行され、ユーザーが使用するネットワークのDHCP設定で指定されたDNSサーバーから適切なDNSレコードを正しく返します

シナリオ3:

  • 個人の(ドメインに参加していない)Windows 7 Professionalコンピューター上の同じユーザーは、ローカルネットワークに接続されている場合、company.comおよびsubdomain.company.comの Webサイトにアクセスできます
  • 編集: nslookupはこのシナリオで実行され、内部DNSサーバー(172.16.1.3)から適切なDNSレコードを正しく返します

シナリオ4:

  • 個人の(ドメインに参加していない)Windows 7 Professionalコンピューター上の同じユーザーは、ホームネットワークに接続すると、company.comおよびsubdomain.company.comの Webサイトにアクセスできます
  • 編集: nslookupはこのシナリオで実行され、ユーザーが使用するネットワークのDHCP設定で指定されたDNSサーバーから適切なDNSレコードを正しく返します

最終メモ:

この問題は、会社所有のすべてのコンピューターに影響するように一般化されているようです。8月に読み込まれたばかりのすべての会社所有コンピューターに共通のシステムイメージを使用しています。私は可能な解決策を探してインターネットを精査しており、これまでのところ手ぶらで思いつきました。皆さんからの提案やアドバイスは本当にありがたいです。


2
ドメインコントローラーでWebサイトを実行していますか?それはブエノではありません。
ライアンリース2013

1
はい、同意します。予算はきついです。たぶん将来...
Dan

1.ドメインに参加しているマシンにグループポリシーでDNS設定を構成していますか?2.各シナリオのデバッグモードでnslookupを実行すると、おそらくいくつかの手掛かりが得られます。
joeqwerty 2013

提案をありがとう。DNSはグループポリシーではなくDHCPサーバーによって提供されるため、ユーザーが物理的な建物を離れると、接続しているネットワークのDNSサーバーを受け取ります。すべてのケースでnslookupを実行しましたが、すべてのケースで正しいDNS設定が返されます(シナリオ2の失敗ケースを含む)。前述したように、彼らは単に失敗2.シナリオ内の任意のネットワークトランザクションを開始せずに-問題は、何らかの理由でWebブラウザさえ限りnslookupを行くためにわざわざされていないということのようです
ダン・

彼らはそれwww.company.comだけでなくcompany.com、両方とも失敗するのではなく、それらにアクセスできると仮定できますか?
TheCleaner 2013

回答:


1

ドメインに参加しているコンピューターは、DNSベースのルックアップを行うだけでなく、DCを探します。ドメインはパブリックWebサイトと同じなので、DCにアクセスしてドメイン情報を取得する方法を伝えるためにSRVレコードを検索します。リモートネットワークにはDCがないため、通常のAD対応のWindowsパーツを使用してこの名前を解決できません。

pingまたは(ほとんど)Windowsアプリケーションを使用する場合、ADと通信する部分を含む完全なWindows IPスタックを使用します。一方、NSLookupは実際にはDNSクエリを実行するだけです。Wiresharkトレースでこれを確認しました。company.comにアクセスしようとしたときにWindowsによってルックアップは実行されませんが、nslookupは適切なDNSルックアップを示しています。これが、pingまたはWebブラウザーを介してドメインを解決できない理由ですが、nslookupは問題ありません。

この最初の部分の解決策は、www.company.comを使用して内部と外部の両方でWebサイトにアクセスすることです。これにより、クライアントはDCの検索を完全に無視します。

2番目の部分の解決策は、subdomain.company.comが内部と外部のどちらを参照しているかによって、より複雑になります。DCにはサブドメインのDNSレコードがありますか、それともそれらの要求は外部DNSサーバーに送信されただけですか?DNSレコードがある場合、そのレコードはどこを指しますか?


0

マシンのHOSTSファイル(http://en.wikipedia.org/wiki/Hosts_%28file%29#Location_in_the_file_system)に、アクセスしようとしているホストのエントリが含まれていないことを確認します。NSLOOKUPツールはhostsファイルをバイパスしますが、Webブラウザーはバイパスしないと思います。

一部の種類のプロキシもDNSを解決するため、Webブラウザでプロキシが構成されていないことも確認します。

また、IE( "iexplore -extoff")またはFirefox(起動時にShiftキーを押すか、 "firefox -safe-mode")を使用して、ブラウザーを "セーフモード"(つまり、すべてのアドオンとプラグインを無効にした状態)で実行してみます。

理想的には、可能であれば、別のWebブラウザーを試して、それがWebブラウザーなのかOSなのかを絞り込みます。

次に、まだどこにも到達しない場合は、どのサービスがネットワークアダプターにバインドされているかを確認します(特定のルールを持つクレイジーファイアウォールが邪魔をしていますか?)

最後に、これはますます可能性が低くなっていますが、NSLOOKUPはコンピューターまたは接続固有のドメイン名をクエリに自動的に追加します。たとえば、私のルーターはドメイン名を「ルーター」として設定しているため、「マシュー」などのnslookupは実際にDNSで「マシュー。ルーター」を検索します。パケットを送信したと言ったように、Webブラウザーがこれを実行していない可能性があります。キャプチャは、これがあなたの問題であるように聞こえません...しかし、あなたがパケットキャプチャでそれを逃したか、あなたのキャプチャ環境が完全に正しくなかった場合のために:-)。

これらは私が試してみるものであり、うまくいけばこれはあなたにも役立つでしょう:-)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.