DNSはホスト名を解決できません。nslookupは


9

Windows 7で、DNS名がwindows.csのローカルサーバーにアクセスしようとしているユーザーがいます。2つの内部DNSサーバーがあります。DHCPサーバーは、2つの内部DNSサーバーをプライマリとセカンダリとしてユーザーに割り当て、次にISPのDNSを3次DNSサーバーとして割り当てます。

ユーザーは時々、windows.csのWebサイトにアクセスできません。pingを実行すると、ホスト名を解決できないと表示されます。DNSキャッシュをフラッシュし、DNSキャッシュを表示すると、次のようになります。

windows.cs-名前が存在しません

それでも、デフォルトでプライマリDNSサーバー(内部DNSサーバー)にクエリを実行し、windows.csにクエリを実行するnslookupを使用すると、正しいIPアドレスが返されます。

では、なぜpingを使用してWindowsがホスト名を解決できないのに、nslookupツールを使用すると解決できるのでしょうか。そして、どうすればこれを修正できますか?


1
+1、この問題が頻繁に発生します... 5分前に使用していたホスト名でも
ブラッド

回答:


12

あなたの言っていることから、windows.csへのリクエストがISPのDNSサーバーに時々送信されているように見えます。nxdomainの結果はWindowsのDNSクライアントによってキャッシュされ、Webブラウザーやpingなどでの再試行に使用されます。キャッシュをクリアすると(ipconfig / flushdns)、Windows DNSクライアントはクエリを強制的に再試行しますが、保証はありませんISPのDNSサーバーに再度アクセスすることはありません。

pingがホスト名を解決できないがnslookupが解決できる理由は、nslookupがWindows DNSクライアントをバイパスする低レベルのツールであるためです。指示したDNSサーバー(デフォルトでは最初のDNSサーバー)を使用し、その場でクエリを実行します。server <host>nslookupプロンプトから入力することで、照会するDNSサーバーを変更できます。ここで、hostはIPまたはFQDNです。

ただし、Windows DNSクライアントは、キャッシュにない(または期限が切れている)エントリに対してのみクエリを実行します。それ以外の場合は、キャッシュされた結果を返します。

WindowsクライアントがISP DNSサーバーを使用している理由はすぐにはわかりません。おそらく、最近(おそらく別のネットワーク上にあるため)ローカルサーバーを解決できなかった可能性があります。ローカルサーバーがエラーを返していた可能性があります。または、「TCP / IP詳細設定」>「DNS」で正しく注文されていない可能性があります。

個人的には、構成を簡素化し、このような問題を回避するために、ワークステーション上のローカルDNSサーバーアドレス(DHCPによって伝達される)のみを使用することを好みます。デスクトップでISPのDNSサーバーを設定する背後にある根拠を知りたいと思います。有効なパフォーマンス上の理由があるとは思えません。冗長性が2である限り、ほとんどのネットワークで十分です(3番目を追加しない場合)。


あなたは良いポイントを育てます。DHCPサーバーが3次サーバーとしてDHCPサーバーを割り当てる理由は特にありません。そして、それはなぜそれが解決しないのか(しかし、なぜそれが3番目のDNSサーバーに行くのか?? 方向をありがとう。DHCPを通じて配布された割り当て済みのDNSサーバーからパブリックDNSサーバーを削除し、問題が解決するかどうかを確認します。内部DNSサーバーは、とにかくそのDNSサーバーに応答できないクエリを渡す必要があるため、問題にはなりません。
Safado

更新:これで問題が解決したようです。提案をありがとう!
Safado

0

の結果は、特異性とバグのためにとはnslookup異なりますpingnslookup。ただし、これらは主な問題とは実際には関係ありません。つまり、フォールバックプロキシDNSサーバーはDNS名前空間の主要なビューと同じビューを提供する必要があるというルールに違反しています。ISPのプロキシDNSサーバーは、LAN上の独自のプロキシDNSサーバーと同じDNS名前空間のビューを提供しません。

さらに別のシステム管理者がMy ISPが提供し、文書化しているところを失ったように思われるので、私はそれを使用する必要があります。誤り。☺


つまり、平易な言葉で言えば、DNSサーバーが同じ情報を持っていることがわかっていない限り、ユーザーにDNSサーバーを割り当てないように言っているのでしょうか。リンクが機能しません。
Safado

0

TL; DRバージョン: 私の場合、IPv6によりDNSクエリの問題が発生しました。それを非アクティブ化すると、DNSクエリの問題が解決しました。

開発マシンでも同じ問題が発生しました。会社のネットワークにログインすると、内部ホスト名を解決できず、すべての外部ホスト名/ URIを解決できました。VPN接続に割り当てられているDNSサーバーを確認したところ、会社のDNSサーバーがプライマリおよびセカンダリとして構成されていることがわかりました。私も使用できましたが、DNS解決を取得するためにnslookupサーバーを手動で変更する必要がありましたserver X.X.X.X

最終的に、IPv6が名前解決の問題を引き起こしていることがわかりました。各DNSクエリで、IPv4企業のDNSサーバーではなくIPv6 DNSが照会されました。IPv6を非アクティブ化した後は、ipconfig /flushdns以前に照会したアドレスが解決されない場合があります。


0

DNSレコードを削除してflushdnsコマンドとregisterdnsコマンドを実行することで問題を簡単に解決でき、それを修正しました。DNS自体のエイジである理由。リースの有効期限が切れた後、DNSはレコードを削除せず、更新されなかったため、名前が販売されているため、名前を解決できませんでした。私はあなたがあなたの問題を修正するのに役立つことを願っています。

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