Mac OSX Yosemiteにしたらネットに繋がらない | What a Mac life!
 

Mac OSX Yosemiteにしたらネットに繋がらない

MacOSXをYosemiteにした直後に起きたエラーが2つ.
その1:アップグレード後にネットに繋がらなくなった.
MacBookAirをMarvericksからYosemiteにアップデートしたら,何故かネットに繋がらなくなった.Wi-Fiは拾っているし,IP addressも割り当てられている.しかしインターネットには繋がらない.そんな時はまずアクセス権を修復,ということで,ディスクユーティリティからアクセス権修復をしたら,これは直った.
続いてiMacをアップデートしても同じ症状.正確にはWiredもWi-Fiもインターネットに繋がらない.しかも今度はアクセス権修復やディスク修復,fsckをかけても直らない.否,正確には,Wi-Fiは繋がるが,Wiredのネットワークには如何しても繋がらない.困ったな〜.
wi-fiはWiMAXまたはFLETS, 職場のwiredネットワークはproxyで,ポート80しか空いていない.
何度もアクセス権を修復試みたが,そのたび,discoverydがのアクセス権が毎回修復される.そこでアクティビティ・モニタでネットワークの状況を見てみると,”discoveryd”が欄のトップをずーっと占めている.アクティビティ・モニタからdiscoverydをkillすると繋がる.どうやらこいつがネットワークが詰まる原因の様子.
そこでしばらくは,アクティビティ・モニタでdiscoverydが詰まる度,killを繰り返して一時的にしのいでいたが,最初にkillすれば以降まず大丈夫なWi-Fi経由のAirに対し,wiredネットワークで使っているiMacの方はしばらくすると再発することがしばしば.proxyなんて使ってるからいかんのだろうか.繰り返しネットワークが途絶えるiMacに業を煮やし,Wi-Fiとは書いてあるけどネットワークのトラブルに効きそうなので,
記事にあった解決策を試してみた.

・ネットワーク設定を消去し,再設定:
1. wi-fiをoffにする.
2.メニューバーの「フォルダへ移動」から
/Library/Preferences/SystemConfiguration/
を開き,

3. 以下のファイルをデスクトップなどへ移動(万一の際戻せるようにフォルダなどにまとめておく)
com.apple.airport.preferences.plist com.apple.network.identification.plist (これはなかった) com.apple.wifi.message-tracer.plist NetworkInterfaces.plist preferences.plist

このうち,com.apple.network.identification.plistはフォルダに無かった.似たような名前のファイルでcom.apple.network.eapolclient.configuration.plistというのがあったが,これは残しておいた.
4.Macを再起動
5.Wi-FiをonWi-Fiをon.作成したネットワーク設定が消去されているので,再度設定が必要なら設定し直す.
上記プロセスをやってみたところ,今のところ解決.アクティビティ・モニタでは相変わらずdiscoverydがネットワークの上位にいるが,トラフィックは詰まること無くネットワークは繋がるようになった.ふう.

試してはいないが,
記事に紹介されていたその他の解決方法も載せておく.
・カスタムDNSを使って新しいネットワーク環境を作成する:
1.システム環境設定の「ネットワーク」で,新しいネットワーク環境を作成する(「ネットワーク環境を編集…」から「+」ボタン,または「ネットワーク」ウインドウ左下の「+」ボタン).
2.右下「詳細…」ボタンから,「DNS」タブを選択.「+」ボタンでDNSサーバを指定.記事ではGoogleのDNSとして8.8.8.8を入れているが,
NameBenchという速いDNSサービスを見つけてくれるソフトなどを使って,自分のMacに近い所のDNSサーバを指定するのをお勧め.
3.「ハードウエア」タブの「構成」を手動にし,MTUを「1453」に設定.
4.「適用」して完了.SafariやMail等のネットワークを使うアプリを全て再起動.

・DNSとWi-Fiのエラー修正にdiscoveryd.plistファイルをunload&reloadする:
これは一時的な解決方法.Macを再起動する度この操作をする必要がある.アクティビティ・モニタからkillするのと同じことをしていると考えられる.
1.Terminalを開き,

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

でdiscoverydをアンロード.パスワードを聞かれるので入力.

2.つづいて,下記コマンドを入力

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

これでdiscoverydがアンロード&リロードされる.

他の方法:
2.4GHz network (N network)に繋ぐ(一部では2.4GHzネットワークではこのトラブルは起こらないとの報告)
・ルーターの5GHz (G)ネットワークのチャンネルを50-120のどれかにする.
Bluetoothを切る

上記解決策を講じても解決しない場合,他の問題が潜んでいるので,
・YosemiteをClean installする
・Appleがアップデートを発表するまでMarvericksにダウングレードして使う

記事によると,このネットワーク不通問題は,どうもYosemiteにした一部のMacで起こる症状らしい.クリーンインストールした場合より,Marvericksからアップデートした場合の方が頻度が高いらしく,ネットワーク設定やプレファレンスファイルが壊れているか不適切なものになってしまったのが原因と考えられる,とのこと.
discoveryd.plistはどうやらBonjourのネットワークを探すための設定ファイルらしく(間違っていたらスイマセン),Yosemite以前は
mDNSResponder.plistが同じ役目をしていたらしい(Yosemiteにはこのファイルは無い).mDNSの時からこの手のトラブルは報告されている様子.Bonjourサービスを切ってしまえば良いのだが,そのためにはmDNSResponder.plistを書き換えるという,ちょっとリスキーな技がいるらしい.


追記(12/30/2014):ネット関係の初期設定ファイルを捨てる方法は,しばらくは効を奏したが,再び症状がMacBookAirで(続いてiMacでも)再発した.紹介した記事にある他の方法を試してみるかな.


その他リンク:
Fix Wi-Fi Problems in OS X Yosemite
discoveryd process uses 100% CPU - Safari Can't find the server
DNS overriedes in Yosemite 10.10 - /etc/hosts
Discoveryd Alternative to Replace mDNSResponder Argument?
OSX Yosemite Bonjour / mDNSResponder problems...


Information