web-dev-qa-db-ja.com

MacBookはインターネットを使用できませんが、nslookupとpingの両方が機能します

インターネットを使用できない新しいハイエンドMacBookProを使用しているユーザーがいます。彼は私たちの有線または無線ネットワークに接続してファイル共有を閲覧するようなことをすることができますが、それ以上はできません。

テストのためにマシンを持ち込んだとき、nslookupを問題なく実行でき、nslookupから返されたアドレスに正常にpingを実行できることがわかりました。アドレスバーにIPアドレスを直接入力することで、Webページを表示することもできます。ただし、IPアドレスではなくドメイン名にpingを実行しようとすると、そこに留まります。したがって、どうやら私は名前解決を行うか、アドレスと通信することができますが、両方を同時に行うことはできません。

繰り返しますが、これらの症状は有線ネットワークと無線ネットワークの両方で発生します。他のいくつかのMacを含む、ネットワーク上の他のマシンには、この問題はありません。

何か案は?

12
Joel Coehoorn

mDNSResponderは実行されていますか?そうである場合でも、_Sudo killall mDNSResponder_を実行して、launchdに自動再起動させてください。 (すでにシステムを再起動しようとしても問題が解決しない場合は、これが原因ではない可能性があります。)

mDNSResponderは、現在Mac OSXのDNSリゾルバーインフラストラクチャの重要な部分です。 nslookupのようないくつかのツールには、独自のDNSリゾルバーコードが含まれているか、mDNSResponderを回避して従来のUnix DNSリゾルバーライブラリを使用する低レベルAPIを呼び出しますが、通常のAPIを呼び出すだけのほとんどのアプリとツールは名前解決を行うmDNSResponder。

また、システム環境設定のネットワークパネルでDNSがどのように構成されているかを確認し、_/etc/resolv.conf_を確認することもできます(注:「解決」に「e」はありません)。 _ipconfig getpacket en0_(en0をプライマリネットワークインターフェイスのBSDレイヤー識別子に置き換えます)は、マシンがDHCPから取得しているDNSサーバー情報を確認するのに役立ちます。 mDNSResponderからトラブルシューティング/デバッグ情報を取得するためのヒントについては、mDNSResponder(8)マニュアルページの「LOGGING」セクションも参照してください。

8
Spiff

私のMacの多く(まあ、Hackintoshes)でこの問題の根本的な原因は、スリープ/ディスクへの一時停止であることがわかりました。これが失敗した場合、次回の起動時にmDNSResponderは破損状態にあり、Sudo killall mDNSResponderコマンドはそれを修正します。

2
Corey Larson

Macの設定でDNSサーバーを手動で指定した可能性がありますか?表示されている設定を確認してください ここ 、そこにある可能性のあるDNSサーバーをすべて削除し、アクセスポイントIPに置き換えます(または空のままにしておくと、DNSはDHCP経由で設定する必要があります)。

1

この重要であるが文書化されていないコマンドは、MacOSのさまざまなバージョンで途方もなく変更されるため、以下の非常に役立つ参照リストをコピーして貼り付けます。

NeilGeeによる「COOLESTGUIDESON THEPLANET」 https://coolestguidesontheplanet.com/clear-the-local-dns-cache-in-osx/

ローカルDNSキャッシュをクリアする方法(URLが希望どおりに解決されない場合)

Sudo killall -HUP mDNSResponder(OSX 10.10.4、10.11.0、macOS Sierra 10.12.0)

Sudo discoveryutil mdnsflushcache(OSX 10.10.0 – 10.10.3)

Sudo killall -HUP mDNSResponder(OSX 10.9,10.8,10.7)

Sudo dscacheutil -flushcache(OSX 10.5,10.6)

また、WindowsとLinuxも含まれます

1
smci

私は本当にこれに苦労し、すべてのステップを試しました。私にとってうまくいったのは、ネットワーク設定に入り、イーサネットと空港のアダプターの両方を削除してから、それらを再度追加することでした。

0
Ryan