如何診斷 IPv6 不受支援的原因

如何診斷 IPv6 不受支援的原因

如果我訪問https://ipv6-test.com/網站告訴我不支援 IPv6 連線。

如何診斷哪些元件無法支援 IPv6?

據我所知,鏈條是這樣的:

+---------+     +----+     +--------+     +-----+     +------+
| Browser | --> | OS | --> | Router | --> | ISP | --> | Site |
+---------+     +----+     +--------+     +-----+     +------+

如果這些項目中的任何一項不支援 IPv6,則 IPv6 支援將不可用。但我怎麼知道是哪一個導致了失敗呢?

(fwiw,我在 Windows 10 上使用 Firefox,但我正在尋找適用於其他瀏覽器和其他 Windows 版本的通用解決方案 - 如果合適的話,甚至可能是其他作業系統。)

答案1

從中間開始:您的電腦有可以使用的 IPv6 位址嗎?

假設目前的瀏覽器和作業系統都支援 IPv6(除非刪除),但每個 ISP 都需要單獨將 IPv6 部署到其網路。

所以先看看ipconfig /allip addr檢查你是否有全球的IPv6 位址和 IPv6 閘道。目前全域位址以 開頭2xxx:,而fxxx本機位址則有幾種不同類型。

如果您有 IPv6 位址,請檢查是否可以ping透過網域名稱和 IPv6 位址進行伺服器。 (Sprint 的網站是2600::一個方便的測試位址。)如果可以的話 – IPv6 可能在您的瀏覽器中被停用;如果您無法 – IPv6 可能會在您的路由器中損壞,或被那些認為 IPv6 支援「洩漏」的 VPN 應用程式之一封鎖。

如果您可以按位址 ping 站點,但不能按名稱 ping 站點,請確保您的 DNS 伺服器不會過濾 AAAA 記錄,就像 PiHole 或某些 VPN 等軟體通常所做的那樣。實際的 DNS 伺服器是否僅支援 IPv4 並不重要,這不會影響其提供 AAAA 記錄的能力,例如nslookup -q=aaaa google.com 8.8.8.8

如果你有 IPv6 位址,請檢查您的路由器是否有(在其 WAN 和 LAN 介面上)。它需要為自己取得一個全域 WAN 位址(這部分可能會因 ISP 的不同而有所不同),然後為您的 LAN 取得一個全域前綴(使用 DHCPv6-PD)。它可能沒有位址,只是因為您的 ISP 尚未推出 IPv6(無論是在您所在的區域還是根本沒有)。

答案2

根據我的經驗,通常是 ISP 需要先為您啟用 IPv6,然後您在路由器上進行設定。除非有人自行停用了 IPv6 相關功能,否則您的裝置將會接收到它。

向您的 ISP 詢問您的 IPv6 詳細資訊。他們將根據需要啟用它並向您發送以下重要詳細資訊:

• 附遮罩的WAN IP,

• LAN 前綴,也帶有掩碼,有時稱為前綴長度。請記住,雖然前綴以 結尾::,但您必須在其後添加一個非零數字,這將使其成為有效的 IP,例如1路由器是否接受 LAN IPv6 位址等欄位。

然後,您可以在路由器上設定這些。確保啟用 radvd。

如果您希望與純 IPv6 用戶端良好運行,則必須透過建立自訂 radvd.conf 檔案在 radvd 回應中新增自訂欄位。最重要的是 RDNSS。若要為設定為僅使用 IPv6 的有問題的 Windows 7 用戶端提供支持,請將位址新增fec0:0:0:ffff::1至路由器 LAN 接口,例如 br0。這是因為 Windows 7 會忽略路由通告封包指定的 DNS 並使用此 DNS。

您可能考慮新增的另一個欄位是 DNSSL。這指定您的網域後綴,通常類似於lan,localhome。這樣做將改善 Windows 中的本機網路名稱解析,由於缺少此配置,Windows 中的本機網路名稱解析通常會出現錯誤。在 IPv4 上可以透過新增domain=lan(自訂單字區域網路)在 dnsmasq.conf 中。

相關內容