犯人は、フレッツ光です。(ということらしいです。2014年10月現在)
最近、IPv6対応サイトが増えて来た所為か、特定のサイトだけアクセスしにくくなるケースが増えています。「GitHubは普通に繋がるのに、なんでFacebookとGoogleに繋がらないの??」ということないですか? 「天下のGoogleがそんなにしょっちゅう落ちてる訳ない!」と思いつつも、「海外サイトが繋がらないのはプロバイダのIPがBANされてるのかな...」とか、「ルータの調子が悪くなることもあるよね」とかあきらめてませんか?
対策は簡単でした。フレッツ止めるか、「IPv6を使わない」こと。
- ブラウザのIPv6機能をオフにする
- OSレベルでIPv6の機能をオフにする
のどちらか。後者の方が確実ですが、AirDropが使えないとか、Bonjourが使えないとかの問題もあるので、ケースバイケースで。(業務用ルータであれば、他の手もあるはず。念のため)
ブラウザのIPv6機能をオフにする
Chromeの場合、設定項目がないのですが、起動オプションを付けるとオフにできます。
$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-ipv6
長ったらしいので、毎回使うならエイリアス設定を。
$ echo "alias chrome='/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-ipv6'" >> ~/.profile
OSレベルでIPv6の機能をオフにする
Mac OS 10.9 では、GUIからIPv6を切ることができないので、次のコマンドを実行します。
$ networksetup -setv6off Wi-Fi
これだけです。ちなみに、元に戻すときは、次のコマンド。
$ networksetup -setv6automatic Wi-Fi
IPv6がオフになっているか確かめる
次のサイトにアクセスしてみましょう。
即座に、"This webpage is not available"と表示されれば、設定成功です。
まとめ
IPv6について、動作しない場合はIPv4にフォールバックされるはずと高をくくっていましたが、ルーティング途中のエラー要因が複数ある場合は、ブラウザのフォールバックが効かない、非常に遅いという事態がありえるようです。少し古いですが、IETFの資料を参考に挙げておきます。フォールバックを並列で行うHappy EyeballsがRFCにありますが、各社のブラウザの実装はまちまち。
この問題、数年前から指摘されていたものの、最近になってIPv6対応サイトが増えて顕在化して来たみたいですね。フレッツ光のルーティングがなんでこんなことになってるかは、当時書かれたページほかに譲ります。
補足
アップルからサポート情報を見る限り、IPv6の手動設定を行えば良いということのようですが、該当情報が手元の環境ではプロバイダから提供されてないため、断念。IPv6接続オプションを申し込めば送られてくるのかしら...?
参考
- BフレッツのIPv6アドレス割り当てに関する注意事項 (フレッツ公式見解)
- 一部のサイトだけ、表示が遅い、または表示できない場合 - @nifty 会員サポート
- World IPv6 LaunchとNTT IPv6閉域網を巡る駆け引き - DNSでのAAAAフィルタ
- AirPort base station: IPv6 Tunnel Error after installing firmware 7.6.3 in router/NAT mode
- Experiences of host behavior in broken IPv6 networks - IETF
- List of Chromium Command Line Switches
- How to Disable IPv6 in Mac OS X - OSXDaily