2012-10-29 19:11:22 +0000 2012-10-29 19:11:22 +0000
146
146

nslookup'が正常に動作しているのに、'ping'が名前を解決できないのはなぜですか?

Windows XPのワークステーションで、DNSで接続したいマシンをnslookupで見つけることができます:

nslookup wolfman
Server: dns.company.com
Address: 192.168.1.38

Name: wolfman.company.com
Address: 192.168.1.178

しかし、そのマシンに接続しようとすると、マシンが見つかりません(つまり、DNSで調べることができません)というエラーが出ます:

C:\> ping wolfman
Ping request could not find host wolfman. Please check the name and try again.

私は、IPアドレスを直接使えば接続できます:

C:\> ping 192.168.1.178

Pinging 192.168.1.178 with 32 bytes of data:

Reply from 192.168.1.178: bytes=32 time=41ms TTL=126
Reply from 192.168.1.178: bytes=32 time=41ms TTL=126
Reply from 192.168.1.178: bytes=32 time=44ms TTL=126
Reply from 192.168.1.178: bytes=32 time=38ms TTL=126

この追加によって、この周りで仕事ができます。DNSで調べることができません):

C:\> ping wolfman.company.com
Ping request could not find host wolfman.company.com. Please check the name and try again.

私はIPアドレスを直接使用する場合、私は接続することができます:

&001

私は私のhostsファイルにエントリを追加することによって、これを回避して動作することができますが、私はむしろこれが起こっている理由を見つけたいと思います。問題は一過性であり、ほとんどの日、私はちょうどうまくマシンに接続することができます。

これはどのように可能ですか?

ETA: 私は簡潔さのためにこれを残しましたが、それはのために尋ねられました:

&001

ETA: 他のアプリケーションは、同じ結果を得る。telnetは接続できず、Cygwinアプリは “unknown host wolfman "メッセージを表示します。それは単に "could not find host "エラーメッセージを報告しているだけです。

回答 (22)

107
107
107
2012-11-20 08:40:31 +0000

nslookup は DNS ポート上で winsock 接続を開いてクエリを発行するのに対し、ping は DNS クライアントサービスを利用していると思います。

様々なネットワーク状態を再初期化するいくつかのコマンド :

WINSOCK エントリをインストール時のデフォルトにリセット : netsh winsock reset catalog TCP/IP スタックをインストール時のデフォルトにリセット : netsh int ip reset reset.log DNS リゾルバキャッシュをフラッシュ : ipconfig /flushdns DNS クライアント登録を更新し、DHCP リースをリフレッシュ : ipconfig /registerdns ルーティングテーブルをフラッシュ : route /f (再起動が必要です)

33
33
33
2014-05-05 01:08:15 +0000

ホスト名の後にドットをつけて ping してみてください。そのため、ping wolfman の代わりに ping wolfman.

を使ってみてください。 これで hosts ファイルなどの回避策をしなくても解決できるはずです。

17
17
17
2012-11-19 21:57:53 +0000

ipconfig /displaydnsを試してみて、wolfmanを探してみてください。もし “name does not exist "としてキャッシュされている場合(おそらく以前に断続的に失敗した検索が原因)、ipconfig /flushdnsでキャッシュをフラッシュすることができます。

nslookupはキャッシュを使わず、DNSサーバーに直接問い合わせます。

14
14
14
2017-10-09 11:51:27 +0000

その接続のDNSサフィックスに.を追加してみてください。例えば、次のようにしてください:

  1. Ethernet Status
  2. プロパティ]をクリックします。インターネットプロトコルバージョン 4
  3. プロパティ]をクリックします。これらの DNS サフィックスを(順番に)追加する 7.サフィックスとして . を追加する

これで ping wolfman が動作するはずです。これがnslookup wolfmanコマンドの唯一の目的です。これは既に動作しているので、DNSが動作し、wolfmanが実際にIPアドレスに対応していることを確認したことになります。ホスト名(nslookup)が対応するIPを取得する。そのIPにパケットを送り、応答を待つ

Windowsでは(Windows10などの最近のバージョンでも)、最初のステップは簡単に失敗してしまいます。後方互換性のために、Windowsではホスト名解決の様々な方法(hostsファイル、DNS、NetBIOS/WINS、LMHOSTファイル)をサポートしています。

残念ながら、WindowsのwolfmanコマンドはDNSの検索を常に試みているわけではないようです。

幸いなことに、 FQDN (完全修飾ドメイン名) を使用することで、Windows に DNS 検索を強制的に行わせることができます。実際には、ホスト名に ping wolfman ドットを接尾辞として wolfman を付けることでこれを行います。

最後のステップは、Windows がこのドットを自分で追加するように強制することです。これを行う方法は、この回答の冒頭ですでに示しました。

13
13
13
2012-11-19 21:29:17 +0000

Windowsでの通常の解決方法は以下のようになっています。クライアントは、照会された名前が自分の名前であるかどうかを確認します。クライアントは、ローカルコンピュータに保存されているIPアドレスと名前のリストであるローカルHostsファイルを検索します。ドメインネームシステム(DNS)サーバーが照会されます。 4.それでも名前が解決されない場合は、NetBIOSの名前解決シーケンスがバックアップとして使用されます。この順序は、クライアントのNetBIOSノードタイプを設定することで変更することができます。

8
8
8
2014-09-22 08:32:08 +0000

私は似たような問題で苦労してきたと@harrymcによって提案されたソリューションを試してみました。私は最終的に(少なくとも多少)microsoft technetフォーラムで動作するように思われるものを見つけた nslookupは動作しますが、他には何もないスタンドアロンWin7 PC上のDNSを持っている)&002&002ここでは引用です:&002&002 > …

ipconfig /flushdns

ipconfig /registerdns

詳細については、以下のリンクを参照してください。http://jefferyland.wordpress.com/2011/07/28/quick-review-of-flushdns-registerdns-and-dns-queries/ ](http://jefferyland.wordpress.com/2011/07/28/quick-review-of-flushdns-registerdns-and-dns-queries/)

だから基本的に私のために欠けていたものはipconfig /registerdnsでした

6
6
6
2015-04-28 08:41:42 +0000

ちょうど今日、同じ問題があったのですが、解決方法が違っていました。検索結果の上位にあったので、参考までに追加しておきます。

  • Problem : pingではホスト名を解決できませんが、nslookupでは解決できます。(2 つの異なる Windows Server 2012 R2 ホストで観測されました。)
  • 原因 . (各ホストの場合) ホストには複数のNICが接続されており、**複数のデフォルトゲートウェイが構成されています。(各ホストの場合)1つのNICを除くすべてのNICのコンフィグレーションからデフォルトゲートウェイを削除して、デフォルトゲートウェイ*が1つだけになるようにしてください。
5
5
5
2012-11-19 20:04:28 +0000

もしかしたら、wolfman.company.comは、C:Wolfram.comにあるのかもしれない。

5
5
5
2015-04-09 16:18:24 +0000

私はWindows 2012R2 (=8.1)システム上で同じ問題を抱えており、上記のすべての提案を試してみましたが、どれも修正してくれませんでした: - 完全修飾された名前へのpingは動作しました。 - 非修飾名へのpingは動作しませんでした。
- 必要なサフィックス検索文字列はすべてありました。 (マルチラベルクエリの回避策のような提案された修正のいくつかは、修飾されていない名前には1つの部分しかないので、明らかに無関係であることに注意してください。)

それから、私はpingしようとしていたターゲットシステムがIPv6アドレスを持っていないことに気がつきました。そこで、"ping -4 unqualified_name“を試してみたところ、うまくいきました。 だから、このシステムでのみ、何らかの理由で、pingだけがunqualified name->IPv6アドレスを解決しようとし、unqualified name->IPv4ではなく、unqualified name->IPv4を解決しようとしたのです。しかし、私は本当にIPv4とIPv6の両方のアドレスを解決しようとするping(またはおそらくDNSクライアントサービス)を伝えるために、より穏やかな方法を見つけることに興味があるだろう.

3
3
3
2015-01-01 16:01:56 +0000

私は、あるwin 7のコンピュータではping serverが使えるのに、もう一つのコンピュータではserverが解決できない理由を探っていました。

仕事用VPNを使用している間、FQDNを使用しないように設定(DNSのサフィックス)をいじっていたことが判明しました。コントロールパネルの「ネットワークとインターネット」の「ネットワーク接続」をクリックして、ネットワーク接続を右クリックして「プロパティ」をクリックします。インターネットプロトコルバージョン4をクリックして、プロパティボタンを押します。次に、この新しいウィンドウの詳細設定…ボタンをクリックします。DNSタブに移動します。これは私が仕事用にDNSサフィックスを追加していた場所ですが、通常の家での接続にもDNSサフィックスが必要でした。

2
2
2
2018-06-12 22:14:49 +0000

私もこの問題に遭遇しました。私にとっての「最も簡単な」修正方法は、ホスト名の最後に単に . を追加することでした。しかし、これはかなり厄介です。ほとんどのネットワークはこれを必要としません。ほとんどのネットワークではこれは必要ありません。

Frederik Aalund氏の提案を見ていたら、デフォルトの “Append primary and connection specific DNS suffixes "オプションからの切り替えが提案されていることに気づきました。これは、私のネットワークの設定が少し間違っているのかもしれないと思いました。

DD-WRTの設定を見てみると、「LANドメイン」が未設定のままになっていました。これを任意の文字列に設定すると、各マシンに特別な設定をすることなく、ネットワーク上のすべてのクライアントでこの問題が解決したようです。:)

1
1
1
2014-11-03 14:58:09 +0000

去年からこの問題に悩まされていて、回避策を見つけたかもしれないので、この問題を拾ってきました。ping は名前を解決しません。重要なのは icmp の部分ではなく、名前解決の部分です。しかし、すべてのクライアントインターフェースでIPv6を無効にしたので、問題は発生しなくなりました。

1
1
1
2012-11-23 05:38:19 +0000

ファイルc:/windows/system32/drivers/etc/hostsにエントリを追加すると修正されるかもしれません。

1
1
1
2014-03-21 17:23:50 +0000

i have encountered this when we migrated to windows 7 from windows XP, issue was related to a Windows 7 Multi Label DNS Query issue.

Allow DNS Suffix Appending to Unqualified Multi-Label Name Queries - see: [ http://computerstepbystep.com/allow_dns_suffix\_appending_to_unqualified_multi_\_label_name_queries.html ] ] (http://computerstepbystep.com/allow_dns_suffix_appending_to_unqualified_multi_label_name_queries.html)

Hope this helps.

1
1
1
2014-08-08 07:53:22 +0000

mac os xの場合、DNSキャッシュの問題かもしれません:

キャッシュをダンプ

sudo killall -HUP mDNSResponder
sudo dscacheutil -flushcache
1
1
1
2018-07-05 20:41:42 +0000

PING は Netbios/WINS と DNS (少なくとも FQDN を指定しない場合はこの順番で) を使用します。特にトラフィックがどこかのルーターを通過している場合は。

Netbiosを無効にするだけで、PINGはDNSを優先的に使用し、インターフェースに登録されているDNSトラフィックをホスト名に追加します。

0
0
0
2019-10-22 12:41:38 +0000

この問題は、ドメインに参加しているWindows 7クライアントで発生したもので、レジストリ内の誤ったDirectAccess設定が原因であることが判明しました。

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DnsClient\DnsPolicyConfig

のキーの内容をクリアしてから、「DNSキャッシュ」サービスを再起動してみてください。これらが正しく構成されているか、またはシナリオで必要とされているかどうかを確認します。これらのポリシーは、サーバー上のルーティングおよびリモートアクセスの役割の特定の設定で自動的に作成されることがあり、これが問題の原因となっています。

0
0
0
2015-04-09 09:43:47 +0000

私は同じ問題を抱えていたし、別のマシンが同じIPアドレスを持っていたことが判明し、それがそれを引き起こしていました。

0
0
0
2019-02-13 16:57:39 +0000

私の場合、この問題を解決したのは、Pingしようとしているホストのドメインを“DNS Suffix Search List”という名前のグループポリシーオプションに追加することでした。gpedit.mscを開いて、Computer Configuration -> Administrative Templates -> Network -> DNS Client > DNS Suffix Search Listに移動し、"Enabled “に設定し、リストにドメイン名を追加します(リストはデフォルトでは空です)。

これらの手順の詳細な説明は、こちらを参照してください。

0
0
0
2019-04-06 06:54:19 +0000

ここにある解決策のどれも私には効きませんでした。私の場合は、OpenVPNを使って仕事場のVPNに再接続しました。

コンピュータがopenVPNで接続されている間、問題は電源が切れたことに関係していたと思います。これを解明する唯一の方法は、WireSharkを使用することでした。すべてのクエリの宛先IPが仕事場の内部ネットワーク上のIPに向かっていることに気づきました。

0
0
0
2015-01-14 21:25:00 +0000

私はちょうどこの問題を抱えていて、非常に奇妙なことを発見し、それを修正することができました Lol

基本的に、もしあなたのホストファイルにあなたのpingが解決しようとしているIPと同じエントリがある場合、それは失敗します。

例えば、DNS に www.example.com - 10.0.0.20 のレコードがあっても、クライアントのホストファイルに 10.0.0.0.20 somethingelse.com というエントリがある場合、 www.example.com を ping することができません。

-1
-1
-1
2012-11-22 12:34:05 +0000

pingはICMPプロトコル、具体的には'Echo Request'と'Echo Reply'を使用します。

多くのネットワークは攻撃や基本的なネットワークスキャンを防ぐためにICMPユーティリティを無効にしています。私は、あなたが購入した多くのルータは、pingを無効にするための設定が付属していることを発見しましたし、ユーティリティのようなデフォルトで有効にします。