Mac OS XでDNSが解決しない


101

私の同僚の何人かはMacで問題を抱えています-DNS解決はMac OS Xでは動作しません。彼らはSnow Leopard 10.6.8を実行しています。OS Xで実行されているWindows 7仮想マシン(VMware Fusion 3.1.3)でDNSを使用できます。コンピューターは15インチMacBook Pro、2011年初頭モデルです。

彼らが試したがうまくいかなかったこと:

  • 空港のオン/オフ
  • 再起動
  • wifiの代わりに有線接続を使用する
  • 接続資格情報を削除して再度追加する
  • Macファイアウォールをオフにする
  • 固定静的IPを使用する
  • DNSサーバーを手動で設定する
  • mDNSResponderの再起動
  • この他の質問からの修正

回答の編集 Martínの回答:

使用するDNSをpingできますか?

$ ping apple.com
ping: cannot resolve apple.com: Unknown host

使用するDNSのIPアドレスとは何ですか?

これはDHCPで提供される会社のDNSサーバーであり、他の人にとってはうまく機能します。また、Googleの8.8.4.4と205.171.3.65も試しました(GRCのDNSベンチマークで最速であることがわかりました)。

8.8.8.8(google)またはOpenDNS 208.67.222.222または208.67.220.220を使用してみましたか?

動作しません。GoogleChromeの出力をご覧ください。

DNSルックアップが失敗したため、www.apple.comのサーバーが見つかりません。DNSは、Webサイトの名前をインターネットアドレスに変換するネットワークサービスです。このエラーは、ほとんどの場合、インターネットへの接続がないか、ネットワークが正しく構成されていないことが原因です。また、応答しないDNSサーバーまたはファイアウォールにより、Google Chromeがネットワークにアクセスできないことが原因である可能性があります。

それらのホストにpingできますか?

$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from
8.8.8.8: icmp_seq=0 ttl=58 time=3.925 ms

空のユーザーを作成する

ゲストユーザーアカウントが作成されましたが、ゲストアカウントを使用しているときにDNSの問題が残っていました。

nslookupとdigの両方が正常に機能する

$ nslookup www.apple.com 8.8.8.8
Server:  8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
www.apple.com canonical name = www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net canonical name = www.apple.com.edgekey.net.
www.apple.com.edgekey.net canonical name = e3191.c.akamaiedge.net.
Name: e3191.c.akamaiedge.net
Address: 184.24.141.15

 

$ dig @8.8.8.8 www.apple.com
; <<>> DiG 9.6.0-APPLE-P2 <<>> @8.8.8.8 www.apple.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11298
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION: ;www.apple.com.   IN A
;; ANSWER SECTION:
www.apple.com.  1041 IN CNAME www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net. 38 IN CNAME www.apple.com.edgekey.net.
www.apple.com.edgekey.net. 8794 IN CNAME e3191.c.akamaiedge.net.
e3191.c.akamaiedge.net. 17 IN A 184.24.141.15
;; Query time: 4 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Oct 4 09:25:28 2011
;; MSG SIZE  rcvd: 158

DNSキャッシュのフラッシュも行われましたが、助けにはなりませんでした

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

編集2

$ cat /etc/resolv.conf
#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
domain {redacted}.com
nameserver 8.8.8.8
nameserver 208.67.222.222

私もライオンで起こります。
dkagedal

マーベリックス、10.9.4で私のために起こっている
greg7gkb 14

これは、ユーザーとネットワーク管理者の生活をLeopardからYosemiteに変えた歴史的な問題のようです。それでもこの問題が発生する場合は、複数のインターフェースがアクティブであり、さらにconfが取得されているかどうかを明確に報告してください。DHCPサーバーから(異なる側から)。どうして?私は他のUnixや私のMacでこのような問題を見たことはありません(私はたくさん持っています)が、DNS情報ソースと通信する複数のインターフェースを持っているものはありません。
ダン

(順序を変更したり、エントリを削除)、それは私のために同じ問題を解決するDNS設定を変更しよう
MEMS

回答:


91

解決策はmDNSResponderをバウンスすることでした。

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

これは、このサーバー障害の質問とは別の同僚によって取得されました。

OS X 10.10.0 – 10.10.3、ヨセミテ

どうやら、mDNSResponderはYosemite(OS X 10.10)に存在しません。これらの問題を解決するには、代わりにdescoverydを再起動します。

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist

OS X 10.10.4+、ヨセミテ

OSX 10.10.4では、mDNSResponderが再導入れました。したがって、最初のものを使用すると再び機能します。


5
しかし、これは本当に満足のいく答えではありません。そもそもそれを防ぐ方法を知る必要があります。
dkagedal

1
@dkagedalこれは実際に私たちが得るつもりの答えです-これは、すべてのDNSルックアップでDNSサーバー(おそらくルーター)をヒットすることを避けるためにMACがDNSエントリをキャッシュするために起こります-これは頻繁に起こります。このキャッシュは必要であり、優れていますが、エントリが見つからない場合の動作が改善されればいいと思います(これはバグだと思います)。いずれにせよ、キャッシュにはタイムアウトがあります。私のマシンで10分ほど待ったとき、この状況は解決しました。大多数のユーザーにとって、既存の動作は問題ないので、すぐにAppleによって変更される可能性はありません。
マット

2
もちろん、これは得られるほど良くありません。他のOSにはこの問題はありません。DNSには何の問題もありません。www.google.comの記録は失われていません。MacOSキャッシュだけが何らかの理由で失われ、再取得されません。そして、それは修正が必要なバグです。
dkagedal

1
10.9でこの問題が発生し、ソリューションは完全に機能しました。私の場合、DNSは短い名前ではなくフルネームを解決していました。
ソリン

1
@Matteoファイルが存在する必要はないか、Yosemite向けに答えを更新する必要があるかもしれません。この問題はありますか?これらのコマンドを実行すると修正されますか?
CajunLuke

10

実際に、使用したいと思うかもしれません

scutil --dns

scutil -r hostname

これらのコマンドは、/ etcのフラットファイルとは対照的に、configdの動的ストアを使用します。これは、多くの場合、シングルユーザーモードおよび非ネットワークシステムでのみ読み取られます。

man scutil   # or

scutil --help  

3
これらのコマンドがこの問題に役立つ理由を説明しません。彼らもですか?または、これは他の答えの1つまたは何かへのコメントとして意味されましたか?
dkagedal

scutilの利点の1つは、コンピューターが検出またはmDNSResponderのどちらを使用しているかに関係なく機能することです。導入前の日付です。
DAヴィンセント

1
これらのコマンドは問題を解決しません
Radu Simionescu

7

OSX(および一般的にUNIX)での名前解決は、/ etc / resolv.conf(覚えている限りOS Xが自動的に生成する)にあるファイル内のDNSのIPアドレスから取得されます。

あなたは私の頭に浮かぶ事実上何でも試みたので、私はあなたに尋ねたいと思います:

  • 使用するDNSにpingできますか?
  • 使用するDNSのIPアドレスとは何ですか?
  • 8.8.8.8(google)またはOpenDNS 208.67.222.222または208.67.220.220を使用してみましたか?
  • それらのホストにpingできますか?

最後に、通常素晴らしいテストは、空のユーザーを作成し、その新しいユーザーが同じ問題を示すかどうかを確認することから成ります。そうでない場合は、現在のユーザーが持っているものを掘り始めて、問題を引き起こしている可能性があります。それも失敗する場合は、これがより「システム」に関連していることがわかります。

また、コンソールを見て、関連する可能性のあるものを見つけることができるかどうかを確認します(ここに貼り付けてください)。

最後になりましたが、お使いのMacには2つの重要なDNSコマンドがnslookupありdigます。

したがって、Googleのサーバーを使用してwww.apple.comを解決するには、次のように入力します。

nslookup "解決するホスト" "使用するDNSサーバー"。例えば:

$ nslookup www.apple.com 8.8.8.8
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
www.apple.com   canonical name = www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net    canonical name = www.apple.com.edgekey.net.
www.apple.com.edgekey.net   canonical name = e3191.c.akamaiedge.net.
Name:   e3191.c.akamaiedge.net
Address: 184.24.141.15

NSLookupを古いコマンドである(それは数年前に廃止されることになっ及びDIGに置き換えられますが、構文を使用して簡単には私が推測殺すためにあまりにも良いとした。)、その「交換」はdig、はるかに強力なコマンド、その構文よりクレイジーです。

同じクエリを実行するには、次のように入力します。

dig @ 8.8.8.8 www.apple.com

また、出力は次のとおりです。

$ dig @8.8.8.8 www.apple.com

; <<>> DiG 9.7.3 <<>> @8.8.8.8 www.apple.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17356
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.apple.com.         IN  A

;; ANSWER SECTION:
www.apple.com.      1782    IN  CNAME   www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net. 42 IN CNAME   www.apple.com.edgekey.net.
www.apple.com.edgekey.net. 21581 IN CNAME   e3191.c.akamaiedge.net.
e3191.c.akamaiedge.net. 2   IN  A   184.24.141.15

;; Query time: 26 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Oct  3 21:21:49 2011
;; MSG SIZE  rcvd: 158

ご覧のとおり、digははるかに「冗長」です(これは一体何が起こっているかをデバッグするのに適しています)。発掘の力は、実行するクエリのタイプを指定できるという事実に基づいています(特に)。

いずれにせよ、これらのコマンドの正確な出力をお知らせください。


質問の編集を参照してください。
CajunLuke

@CajunLukeうーん、興味深い…cat /etc/resolv.confの出力を質問に追加してもいいですか?
マーティンマルコンチーニ

編集済み。(コメントをフィットさせるためのパディング。)
CajunLuke

@CajunLuke私は困惑しています。ルーツに戻りましょう...これはこのマシンでのみ発生し、OSXの下でのみVMは問題ありません。ParallelsまたはVMwareが何らかのトラブルを引き起こしているのではないかと疑い始めています。これらのVMはどのタイプのネットワークを使用していますか?ブリッジ?共有?
マーティンマルコンチーニ

1
あなたが本当に短いかどうか、あなたは常に...んできapple.com +短い掘る ...
Pryftan

7

私は同じ問題を経験しました…そして、mDNSResponderを再起動すると「動作する」ように見えますが、1時間ごとに何度か再起動します。

そこで、今のところ、dnsmasqをローカルで実行することで問題を「解決」しました。それを行うには:

  • dnsmasqをビルドします(tgzをダウンロードするおよびmakeまたはbrew install dnsmasq
  • これをdnsmasq.confファイルに入れます:

    resolv-file=resolv.conf
    user=nobody
    group=nobody
    interface=lo0
    cache-size=1024
    
  • これをresolv.confファイルと同じディレクトリにあるdnsmasq.confファイルに入れます(nb:not /etc/resolv.conf):

    nameserver 8.8.8.8
    nameserver 4.2.2.1
    nameserver 4.2.2.2
    
  • で実行dnsmasqsudo dnsmasq --no-daemon --log-queries -C dnsmasq.confます。出力は次のようになります。

    ...
    dnsmasq: reading resolv.conf
    dnsmasq: using nameserver 4.2.2.1#53
    dnsmasq: using nameserver 4.2.2.2#53
    dnsmasq: using nameserver 8.8.8.8#53
    dnsmasq: read /etc/hosts - 6 addresses
    
  • ネットワーク設定を開き127.0.0.1、それが唯一のDNSサーバーであることを確認します(ネットワーク設定->詳細設定-> DNS-> 127.0.0.1を追加)

物事は再びうまく機能するはずです。

作業が完了したら、オプションdnsmasqなしで実行できるため、バックグラウンドで起動し、ターミナルウィンドウを開いたままにする必要はありません。--no-daemon--log-queries


16時間連続でインターネットを精査した後、これが唯一の解決策であり、どちらも社内の会社名を解決し、スプリットネットワーキングを適切に機能させることができることを指摘したいと思います。このコメントをありがとうございます。
ロントンプソン

また、OS X El Capitanでは、これをセットアップするスクリプトを作成するために、openconnectコマンドをpythonスクリプトでラップし、networksetup -setdnsservers 127.0.0.1and などのコマンドを使用することも指摘しましたnetworksetup -setsearchdomains "$COMPANY_NAME".comdnsmasqコマンドを追加すると、すべて設定できます!このコメントのおかげで、ついに安定したVPNソリューションが完成しました。
ロントンプソン

将来の読者のために、職場の私のボックスにsshし、ネームサーバー用のIPを特定し、それらのIPを8.8.8.8(googles DNSサーバー)の下のresolv.confにハードコードするのが最も簡単だと思いました。これにより、会社のサーバーを経由せずに、会社名以外のすべての名前を適切に解決できます。これは、プライバシーと速度に役立ちます。ハードコーディングに関する限り、これらのIPはすぐには変更されません。変更された場合、影響を受けるのは私だけではなく、2行を編集するのは簡単です。
ロントンプソン

dnsmasqを起動しようとすると、アドレス127.0.0.1がすでに使用されていると表示されます。私は何をしなければなりませんか?ハイシエラ
IceFire

@IceFireこれは古いことは知っていますが、それはそのポートにバインドされたサービスが既にあることを意味します(53)。技術的には、エラーEADDRINUSEを取得していることを意味しますが、私はそこには行きません:) 私は同様の問題を抱えていますが、他の答えがそれを解決することを私は(願っています)私は自分の権限のあるDNSサーバーを持っているので(少なくとも1つはホームネットワークで有効にする必要はありません)ローカルおよび私が使用するもの)。Otohは長年のUnixユーザーとして/etc/resolv.confを使用できるという事実は魅力的ですが、もう一方を最初に試します。
プリフタン

6

私はまったく同じ症状を抱えていました(そしてトラブルシューティングにしばらく時間を費やしていました)が、私が混乱し/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist、自分がしたことは何らかの形で不正な形式と解釈されることに気付いたときに解決できました。バックアップから復元すると、マシンはホスト名を再度解決できました。

ソリューションに進む前に、SOCKS5プロキシを使用ssh -Dしてトンネルを介してDNSルックアップを試行した場合、インターネットを閲覧できることにも気付きました。


1
私の会社はこの問題を何ヶ月も何ヶ月も抱えており、そのたびにMacを「天才バー」に連れていきました。私はあなたの投稿を見て、com.apple.mDNSResponder.plistを削除して再起動し、問題は解決しました。私はあなたに10億回賛成できたらいいのにと思います。
トーマスソログッド

1
削除に注意してくださいcom.apple.mDNSResponder.plist!@TomThorogoodが示唆したようにそれをやった。戻るのに苦労しています。ファイルを元に戻し、再起動しても、インターネットからの応答を得ることができませんでした。sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist助けたよりも。
パベルビナー14年

5

症状がわずかに異なっていたことを除いて、非常によく似た問題がありました。

ユーザーは名前(ローカルNAS、Googleなど)を解決できませんでしたが、同じiMac(OS X 10.7.4)のゲストユーザーは問題なく機能しました。

前述のmDNSResponderのフラッシュと再起動はしばらくの間機能していました。iMacがスリープモードになったときも機能し続けますが、再起動すると必ず失敗します。

フラッシュ/再起動が機能しなくなったとき、他の理由/解決策を探しましたが、ファイアウォールに関連していることがわかりました。私の(OS X)ファイアウォール設定でがそれを引き起こしていたのかはわかりませんが、ファイアウォール設定を元に戻すと機能しました。

使用したデフォルト設定を復元するには:

sudo cp /usr/libexec/ApplicationFirewall/com.apple.alf.plist /Library/Preferences/com.apple.alf.plist

明らかに、この復元によってカスタムルールが削除されます。

私はこの問題の私のバージョンを共有したかったので、それは何ヶ月も私を悲しませてくれており、この投稿はネット上の可能な解決策の最高のコレクションです!


4

この問題は、ヨセミテ(10.10)で発生しました。discoverydCPUを大量に消費しているため、キーデーモンが強制終了されたことがわかりました。

2014/10/22 3:50:07.000 PM kernel[0]: process discoveryd[49] thread 1251 caught burning CPU! It used more than 50% CPU (Actual recent usage: 68%) over 180 seconds. thread lifetime cpu usage 90.016372 seconds, (74.516637 user, 15.499735 system) ledger info: balance: 90007570271 credit: 90007570271 debit: 0 limit: 90000000000 (50%) period: 180000000000 time since last refill (ns): 131905306167 

不意に再起動しても、再起動しませんでした。

私は手動でサービスを再起動しました:

sudo launchctl kickstart -k system/com.apple.networking.discoveryd

そして今、すべてが順調です。


1
これもヨセミテでの私にとっての解決策でした。いくつかの詳細:host、dig、Chromeは正常に機能しましたが、ping、telnet、ssh、firefox、safariはホスト名を解決できませんでした。このソリューションは私の問題を修正しました。
ライアンHoegg

これは迷惑なことです。サービスを再起動する必要があります。
カラムロジャース

2

10.6.8でも同じ問題が発生しています。Apple Storeへの最初の旅行の結果、システムが復元されました。しかし、その後、海外にいる間にDNSが再び壊れ、システムDVDを持っていませんでした。その時に私はこのスレッドを見つけ/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist、@ freezedpeanutsと@Tom Thorogoodごとに削除しました。

問題は修正されましたが、驚くべきことに、数日後にDNSが3度目に壊れました。10.6.3のシステムイメージを探して、次のことを行いました。

  1. /System/Library/LaunchDaemons/com.apple.mDNSResponder.plistシステムイメージからコピー。
  2. sudo chown root /System/Library/LaunchDaemons/com.apple.mDNS*
  3. 再起動しました

これで問題は解決しました。

今は定期的に(1か月に1回程度)壊れており、再起動の代わりに次のことができることを除いて、復元手順は上記の手順になっています。

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist


2

まだ問題がある場合は、キャッシュがクリアされるまでパブリックDNSサーバーを削除する必要がある場合があることに注意してください。


1
support.apple.com/en-au/HT203244に言及する必要があるかもしれません。
DAヴィンセント

@DAVincent数年遅れましたが、そのリンクは残念です。これは明らかにAppleのバグですが、ユーザーのエラーに起因しています。
weberc2

2

私はOPと同じ問題を抱えていたようです。networksetupツールを使用すると、指定されたネットワーク名に対して、間違ったDNSが構成されていることがわかりました。

networksetup -getdnsservers <networkname>

DNSとして192.168.0.1をリストしました。scutil --dnsを使用すると、リゾルバー#2がネームサーバー[0]を使用していることを一覧表示して、同等の結果が得られました:192.168.0.1。

コマンドを使用する

networksetup -setdnsservers <networkname> 192.168.188.1 8.8.8.8

特定のネットワークのDNSを再構成し、VPNに接続したときにローカルマシンとグローバルマシンの名前を解決することができました。


2

私の場合は、他のすべてが大丈夫だった:mDNSResponderが実行中で働いていた、host/ nslookup働いて、両方/etc/resolv.confnetworksetup(例えば持つすべてのことにもかかわらず、正しいDNSサーバなど、一般的なDNS解決を報告しping、必然的に、数時間後にいくつかの時点で動作を停止)ブート。

この特定の問題は多少ありそうにないかもしれませんが、とにかく答えとしてここに文書化するつもりです。

マシンの速度が低下し始めたときだけに気付きましたが、同じプロセスが多数実行されていましたsensu-client、具体的に。

このplistファイルを使用してlaunchdで構成しました。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
  <dict>
  <key>KeepAlive</key>
  <true/>
  <key>RunAtLoad</key>
  <true/>
  <key>WorkingDirectory</key>
  <string>/etc/sensu</string>
  <key>UserName</key>
  <string>root</string>
  <key>Label</key><string>org.sensuapp.sensu-client</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/bin/sensu-client</string>
      <string>-d/etc/sensu/conf.d/</string>
      <string>-b</string>
    </array>
  </dict>
</plist>

-bフラグは、sensu-clientそれがデーモンとして動作し、バックグラウンドにフォークます。ただし、launchd元のプロセスが終了したKeepAliveことがわかるため、(フラグに従って)プロセスを再起動します。これにより、数千のフォークされたプロセスがバックグラウンドに残り、それでもlaunchdは実行されているという事実の賢明なものではなくなります。

これらの数千のプロセス(すべてsensu-client、launchd configを作成したソフトウェア)が同時にmDNSResponderにリクエストを送信し、DNSキャッシュのローカルサービス拒否を効果的に引き起こしたと考えています。これらのプロセスを終了し、launchdに指定されたplistを修正することで、最終的に問題を解決しました。

plistの修正は-b、sensu-client呼び出しから(バックグラウンド/デーモン化)フラグを削除するだけでした。これはsensuのせいではないことに注意してください。このplistは、この会社の元システム管理者によって作成されました。


2

DNS問題のトラブルシューティングに役立ついくつかの高度なコマンドを次に示します。

  • 実行digして、ルートネームサーバーをリストします。
  • 実行dig example.comして、example.comドメインのDNSルックアップを実行します。
  • 次の方法でハードウェアポートをリストしますnetworksetup -listallhardwareports
  • クライアントがDHCP / BOOTPサーバーから受け入れたDHCP / BOOTPパケットの出力を次の方法で確認しますipconfig getpacket en0
  • 次の方法でDNS構成を確認しますscutil --dns
  • mDNSResponderプロセスが実行されていることを確認するには:ps wuax | grep mDNSResponder
  • 次の方法でARP変換エントリをフラッシュしますarp -adman arpヘルプを実行します)。ソース

mDNSResponderプロセスをデバッグするには、次のコマンドが役立ちます。

(sleep 1 && sudo killall -INFO mDNSResponder &); log stream | grep mDNSResponder

上記のコマンドはSIGINFO、プロセスにシグナルを送信し、デバッグの詳細をログ出力にダンプし、読み取りおよび分析できます。


1

Wi-Fiをオフにしてから再びオンにするのが役立ちました。

10.9.1を搭載したMacBook Pro

特に、wifiをオフにしてから再起動する場合。追加の遅延とIP /ネットワーク接続なしでの開始により、ネットワークへの再参加要求が成功する可能性が高くなります。


1
質問には多少の編集が必要かもしれませんが、それでも(このコメントを書いている時点では)労働者はすでにWi-Fiをオフにしたりオンにしたりしたと言います。この答えを撤回することができますか?
DAヴィンセント

私は、wifiをオフにしてからオンにすることについてのコメントを投稿に追加するほどの評判はありませんが、それはうまくいきました。答えを撤回するのはばかげている。

もう一度試してみてください。複数の回答が多くの人を助け、各ルーターには異なるタイムアウトと動作があります。
bmike

1

これはおそらく誰にも役に立たないでしょうが、念のため、DNSが特定のドメインでダウンしているときに、偶然にフォルダ内にファイルを作成しました。

/ etc / resolver /

これは、2年後に特定の名前が解決されるのを妨げていました。


どうもありがとう、これが私の問題でした。... erronous IPアドレスで、「テスト」と呼ばれるファイルを、私は時間のためにデバッグしてきた、と私が見たときに/ etc /もちろんのリゾルバ私が見つかりました
カイザー

1

残念なことに、これは私を助けませんでした、そしてそれを理解しようとし、コーヒーテーブルに対して頭を打つ1時間後に判明しました..何か、どういうわけか、どこか... /System/Library/LaunchDaemons/com.apple.mDNSResponder.plistファイルを削除し、私がこの問題を抱えていた理由でした。

このエラーメッセージを見たときにこれを実現しました: /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist: No such file or directory

こちらがエルキャピタンのバージョンのコピーです:https : //gist.github.com/tripflex/e7147690d1768dc74b1dd626614573c0

その要点からのコードは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.apple.mDNSResponder.reloaded</string>
    <key>OnDemand</key>
    <false/>
    <key>InitGroups</key>
    <false/>
    <key>UserName</key>
    <string>_mdnsresponder</string>
    <key>GroupName</key>
    <string>_mdnsresponder</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/mDNSResponder</string>
    </array>
    <key>MachServices</key>
    <dict>
        <key>com.apple.mDNSResponder</key>
        <true/>
            <key>com.apple.mDNSResponder.dnsproxy</key>
            <true/>
    </dict>
    <key>Sockets</key>
    <dict>
        <key>Listeners</key>
        <dict>
            <key>SockFamily</key>
            <string>Unix</string>
            <key>SockPathName</key>
            <string>/var/run/mDNSResponder</string>
            <key>SockPathMode</key>
            <integer>438</integer>
        </dict>
    </dict>
    <key>POSIXSpawnType</key>
    <string>Interactive</string>
    <key>EnablePressuredExit</key>
    <false/>
</dict>
</plist>

0

判明したように、問題を解決するには、検索ドメインを設定し、それをシステム環境設定DNS設定の下の検索ドメインフィールドに追加する必要があります。基本的に、検索ドメインは.localのように機能しますが、代わりに.localが機能します。

これを機能させるには、DNSサーバーで検索ドメインをマスターゾーンとして設定する必要があります。


0

ホストサーバーの検索に関しても同様の問題があります。サーバーから21台のiMacが実行されており(El Capitan、最近アップグレードされました)、1台のみがバインドされません。通常、修正はSysPrefのユーザーとグループを介して非常に簡単です。ホストサーバーを削除して再バインドし、ドロップダウンオプションで使用可能なサーバーを見つけますが、何らかの理由でサーバーがとして表示されますが、サーバーunkown-00-00-12-34-56-78.homeのMACアドレスが見つかりました。私はこれをターミナルで実行しました:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

そして

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

SysPrefでサーバーにバインドするために戻り、正しいサーバー名オプションが短時間表示された後、目の前で「unkown-00-00-12-34-56-78.home」に戻りました。


0

受け入れられた回答からのコマンドに従う場合:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

警告が発生する場合があります。

システム整合性保護が作動している間は操作は許可されません

オフにする必要があります。全体の説明はこちら:https : //www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt/


0

私の場合、過去にOpenDNSをインストールしていましたが、きれいに削除されませんでした。DNSdnscrypt-proxyなどの実行中のDNS関連プロセスがいくつかありました。Activity Monitorで強制的に終了することはできませんでしたが、Library / LaunchDaemonsの.plistファイルを削除することで、再起動時に起動を停止することができました。


0

[設定]-> [ネットワーク]-> [詳細設定]-> [DNS]に移動します。次に、文字通りDNSに変更を加えます(たとえば、DNSエントリを並べ替えます)。次に、[OK]をクリックし、次の画面で[適用]をクリックします。あなたが行った特定の変更が重要であると考えることにだまされないでください。「適用」ボタンの魔法です。

~ $  time nslookup www.google.com
;; connection timed out; no servers could be reached


real    0m21.041s
user    0m0.006s
sys     0m0.010s

 ~ $  time nslookup www.google.com
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   www.google.com
Address: 172.217.5.4


real    0m0.079s
user    0m0.006s
sys     0m0.010s

0

私のために働いたのは、DNSサーバーと検索ドメインからすべてのサーバーエントリを削除することでした:

システム環境設定→ネットワーク→詳細...→DNS


-1

古いMac BookのSnow LeopardからMountain Lionにアップグレードした後、システムはDNSを解決できませんでした。フラッシング、再起動、何も助けなかった。WiFiを別のアクセスポイント(私の電話)に変更すると役立ちました。

Mountain Lionは、DHCPネットワーク設定に新しいクライアントフィールドを追加します。このフィールドに入力することで、Wi-Fiアクセスポイントが幸せになりました。空白のままにすると、Wi-Fi接続は成功したように見えても、何も通過しませんでした。

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