IP、路由與 IPv6

Mac 上的 IPv6 問題

大多數網路會同時給 Mac IPv4 和 IPv6 位址。如果 IPv6 路徑故障,有些連線就會等待或失敗。

適用於:「系統設定」的步驟適用於 macOS 13 Ventura 以上版本。終端機指令適用於所有目前的 macOS 版本。檢查日期:2026年10月29日

症狀

  • 有些網站或 API 卡住,其他的卻立刻載入。
  • 工具要延遲一陣子或重試幾次後才連上。
  • 連線在一個網路上正常,在另一個網路上卻不行。

可能原因

  • 路由器宣告了 IPv6,卻沒有轉送 IPv6。Mac 取得了 IPv6 位址,但 IPv6 流量到不了網際網路。
  • 網路供應商或 VPN 不完全支援 IPv6。有些 VPN 只承載 IPv4,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 會為 AI 代理程式傳回相同的步驟。請參閱「找出某個網站或 API 連不上的原因」。

常見問題

我應該一直關閉 IPv6 嗎?

不應該。只在測試時關閉。請網路擁有者修好 IPv6,然後再開啟它。

什麼是鏈結本地位址?

以 fe80 開頭的位址只在本地鏈結上有效,無法連到網際網路。

資料來源

資料來源檢查日期:2026年10月29日。man 頁面為 macOS 內建版本;在終端機中用 man <name> 開啟。