IP、ルーティング、IPv6

MacでのIPv6の問題

多くのネットワークは、MacにIPv4とIPv6の両方のアドレスを割り当てます。IPv6の経路が壊れていると、一部の接続が待たされたり失敗したりします。

対象:「システム設定」の手順はmacOS 13 Ventura以降。ターミナルのコマンドは現在のすべてのmacOSバージョンで使えます。確認日:2026年10月29日

症状

  • 一部のサイトやAPIが止まるのに、ほかはすぐに読み込まれる。
  • ツールが少し待ってから、または何度か再試行してから接続する。
  • あるネットワークでは接続できるのに、別のネットワークでは接続できない。

考えられる原因

  • IPv6を通知しているのにルーティングしないルーター。MacはIPv6アドレスを取得しますが、IPv6の通信がインターネットに届きません。
  • IPv6に完全には対応していないプロバイダやVPN。IPv4しか通さないVPNもあります。その場合、IPv6の通信はトンネルの外を通るか、失敗します。
  • IPv6をブロックするファイアウォール。ルーターや会社のファイアウォールが、IPv4は許可したままIPv6の通信をブロックしていることがあります。

確認方法

  1. 各ネットワークポートのデバイス名を調べます。たとえばWi-Fiならen0です。

    networksetup -listallhardwareports
  2. Wi-FiインターフェイスのIPv6アドレスを表示します。fe80で始まるアドレスはリンクローカル専用です。

    ifconfig en0 inet6
  3. Macが受け入れたルーター広告を表示します。エラーになる場合は、応答したIPv6ルーターがありません。

    ipconfig getra en0
  4. IPv6で公開アドレスにpingを送ります。

    ping6 -c 3 2606:4700:4700::1111
  5. サイトにIPv4だけでリクエストし、次にIPv6だけでリクエストして、結果を比べます。

    curl -4 -I https://www.apple.com
  6. IPv4のリクエストが成功し、IPv6のリクエストが失敗する場合は、IPv6の経路が壊れています。

    curl -6 -I https://www.apple.com

解決方法

  1. ルーターを再起動してから、もう一度テストします。

  2. ルーターのファームウェアをアップデートするか、回線のIPv6についてプロバイダに問い合わせます。

  3. テストのために、サービスのIPv6をオフにします。

    networksetup -setv6off Wi-Fi

    管理者パスワードが必要です。

  4. テストが終わったらIPv6をオンに戻します。自動の設定を使ってください。

    networksetup -setv6automatic Wi-Fi

    管理者パスワードが必要です。

  5. 「システム設定」>「ネットワーク」> サービス >「詳細」>「TCP/IP」の「IPv6を構成」メニューを使うこともできます。

  6. IPv6をオフにしたときだけ問題が止まる場合は、ネットワークの管理者かプロバイダに報告します。

Kilobatを使う場合

  1. whyはIPv4とIPv6を別々に試し、どちらが失敗しているかを示します。

    kilobat why api.example.com
  2. MCPツールdiagnose_connectionは、同じ手順をエージェントに返します。特定のサイトやAPIに接続できない理由を調べるを参照してください。

よくある質問

IPv6はオフのままにするべきですか?

いいえ。オフにするのはテストのときだけにしてください。ネットワークの管理者にIPv6を直してもらい、それからオンに戻します。

リンクローカルアドレスとは何ですか?

fe80で始まるアドレスは、ローカルリンク上でしか使えません。インターネットには届きません。

出典

出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」でman <name>を実行すると開けます。