國內 IPv6 測試怎麼做?全國三網 IPv6 連通性與速度檢測方法
本文介紹國內 IPv6 測試方法,包括 AAAA 解析、IPv6 Ping、全國多節點及電信、聯通、移動三網連通性檢測,並說明常見異常的排查思路。
做網站維運時經常會碰到一種情況:自己所在地區存取一直正常,但使用者換到其他省份或其他電信業者後就開始出現逾時;有的網站 IPv4 存取很快,IPv6 延遲卻明顯高出一截;還有一些網站明明可以 Ping 通 IPv6 位址,瀏覽器開啟時卻一直連線失敗。
對於面向國內使用者的網站來說,IPv6 測試不能只回答「有沒有 IPv6」,還要進一步確認不同地區能不能存取、電信聯通移動三網是否正常、延遲和丟包有沒有異常,以及 HTTP/HTTPS 服務能否真正透過 IPv6 使用。國內 IPv6 測試最好不要只在自己電腦上跑一次 Ping,而是從 DNS、基礎連通性到全國多節點逐步檢查。
一、國內 IPv6 測試主要測什麼?
很多人第一次測試 IPv6,會先檢查電腦有沒有拿到 IPv6 位址,或者看看網站能不能開啟。這種方法可以做初步判斷,但如果測試對象是網站、伺服器或者 API,還不夠,一次比較完整的國內 IPv6 測試,通常要看下面這些內容:
檢測項目 | 主要判斷內容 |
|---|---|
AAAA 解析 | 網域是否已經正確設定 IPv6 |
IPv6 可達性 | 目標 IPv6 位址是否能夠正常連線 |
Ping 延遲 | 不同線路存取目標 IPv6 的網路延遲 |
丟包與逾時 | IPv6 鏈路是否存在明顯不穩定 |
HTTP/HTTPS | 網站服務能否真正透過 IPv6 存取 |
國內多節點 | 不同省份之間是否存在明顯差異 |
三網表現 | 電信、聯通、移動是否有單獨異常 |
IPv4/IPv6 對比 | 問題是否只發生在 IPv6 鏈路 |
這裡最容易產生誤解的,就是 AAAA 記錄。
例如網域已經解析到:
AAAA
example.com → 240e:xxxx:xxxx::1234這只能說明 DNS 能回傳一個 IPv6 位址,並不能證明使用者一定可以透過這個位址存取網站。
一次真正的 IPv6 網站存取,中間還會經過電信業者 IPv6 網路、路由、防火牆、TCP、TLS 以及 Web 服務。任何一個環節設定異常,最後都可能表現為網站打不開、回應慢或者只有部分地區無法存取。所以判斷 IPv6 是否正常,最好把這些環節放在一起看,而不是只看某一個結果。
二、為什麼自己測試 IPv6 正常,國內其他地區卻可能打不開?
假設伺服器部署在上海,你自己使用上海電信寬頻測試:
IPv6 Ping
28ms
29ms
27ms
30ms看起來沒有任何問題。
但這次測試實際上只能證明下面這條路徑正常:
你的電腦
↓
上海電信
↓
電信業者 IPv6 網路
↓
目標伺服器它不能代表北京聯通、廣東移動、四川電信或者其他地區使用者的實際情況。
把測試範圍擴大以後,結果可能變成:
上海電信 28ms
北京聯通 39ms
杭州電信 35ms
成都移動 82ms
廣州移動 逾時
深圳移動 逾時到了這一步,問題就完全不一樣了。伺服器顯然不是「全國都打不開」,異常主要集中在部分移動網路。如果還一直檢查伺服器有沒有啟動、Nginx 有沒有運行,方向很容易跑偏。
國內不同地區和電信業者存取同一個 IPv6 位址時,經過的 BGP 路由、電信業者互聯和上游網路可能存在差異。如果網站還使用了 CDN,不同地區甚至可能被調度到不同邊緣節點。
因此,本地 IPv6 正常只能說明當前這條線路正常,不能直接代表全國 IPv6 使用者的存取情況。這也是為什麼國內 IPv6 測試最好增加多地區和三網節點。
三、國內 IPv6 測試具體怎麼做?
實際操作並不複雜,比較推薦的順序是:
AAAA 解析
↓
IPv6 基礎連通性
↓
HTTP/HTTPS 存取
↓
國內多節點測試
↓
電信 / 聯通 / 移動對比按照這個順序檢查,哪個環節開始異常,問題範圍基本就能縮小一層。
1. 先檢查網域有沒有 AAAA 記錄
第一步先看 DNS。
IPv4 網站一般透過 A 記錄回傳 IPv4 位址:
A
example.com → 1.2.3.4IPv6 則主要透過 AAAA 記錄回傳 IPv6 位址:
AAAA
example.com → 240e:xxxx:xxxx::1234如果網域根本查詢不到 AAAA 記錄,那麼透過這個網域存取網站時,通常也就沒有 IPv6 位址可供用戶端連線。
這時候應該先檢查 DNS 設定,而不是急著測試線路速度。如果 AAAA 已經存在,還要注意兩個問題:一個是回傳的 IPv6 位址是不是當前伺服器、負載平衡或者 CDN 實際使用的位址;另一個是最近有沒有修改過解析。
剛修改 AAAA 記錄時,自己電腦查詢已經變成新位址,不代表所有地區使用的遞迴 DNS 都已經同步更新。某些地區仍然可能在 TTL 有效期內拿到舊結果。
所以 AAAA 查詢更像 IPv6 測試的第一道門檻:沒有正確的 AAAA,後面的網域 IPv6 存取很難正常;但查到 AAAA,也只能說明 DNS 這一層基本沒有問題。
2. 再看 IPv6 位址能不能真正連通
確認解析以後,可以繼續測試目標 IPv6 的基礎連通性。
Windows、Linux 或 macOS 都可以直接使用 Ping,比如:
ping -6 240e:xxxx:xxxx::1234也可以使用Chahu線上 IPv6 Ping 工具。
這一階段重點看的是延遲、丟包和逾時情況。
如果連續測試結果類似:
31ms
30ms
32ms
29ms
31ms至少可以說明當前測試線路到目標 IPv6 的基礎網路連線比較正常。
如果結果變成:
31ms
95ms
逾時
164ms
33ms就需要留意線路是否存在明顯丟包或者延遲波動。
不過這裡還有一個很重要的區別:IPv6 Ping 正常,不等於網站一定正常。
Ping 主要驗證網路層是否能夠到達目標,而瀏覽器真正存取一個 HTTPS 網站,還需要繼續完成:
IPv6 網路
↓
TCP 連線
↓
TLS 握手
↓
HTTP/HTTPS
↓
Web 服務所以實際排障中經常會出現「IPv6 可以 Ping 通,但網頁打不開」。這種情況下,就應該繼續檢查伺服器 80/443 埠、安全群組和防火牆規則,以及 Nginx、Apache 等 Web 服務有沒有監聽 IPv6。如果只有 HTTPS 失敗,還需要進一步檢查 TLS 和憑證相關設定。
3. 最後做國內多節點 IPv6 測試
前面的測試解決的是「這個 IPv6 有沒有設定」「我當前這條線路能不能連線」。
如果網站使用者分布在全國,這還不夠。更有參考價值的方法,是同時從不同省份以及中國電信、中國聯通、中國移動網路測試目標 IPv6。
直接透過 Chahu 的線上 Ping 功能輸入網域或 IP,再分別觀察電信、聯通、移動以及不同地區節點的回應情況。Chahu 當前的 Ping 頁面提供電信業者篩選,同時會展示不同區域的延遲分布、最快、最慢和平均回應資料,也支援單次和持續測試。
實際測試時,不建議只盯著一個「全國平均延遲」。
真正值得看的,是哪些節點正常、哪些節點逾時,以及異常有沒有明顯集中規律。
例如:
北京電信 正常
上海電信 正常
浙江聯通 正常
山東聯通 正常
廣州移動 逾時
深圳移動 逾時
廣西移動 延遲偏高看到這種結果,排查方向已經比較明確:電信和聯通基本正常,移動多個地區連續異常,那麼伺服器本身完全不可達的可能性就比較低,更應該繼續檢查移動方向的 IPv6 路由、電信業者互聯或者上游線路。如果反過來發現電信、聯通、移動大量節點全部失敗,再回頭檢查伺服器 IPv6、預設路由、防火牆和上游網路會更加合理。所以多節點測試最大的作用,並不是簡單告訴你「IPv6 快不快」,而是幫助判斷:問題到底發生在哪些地區、哪些電信業者。
四、國內 IPv6 測試結果應該怎麼看?
測完以後,通常會遇到幾種比較典型的情況。
1. 全國大部分節點都能正常存取
例如:
北京電信 28ms
上海聯通 32ms
廣州移動 41ms
成都電信 47ms
杭州移動 36ms如果三網大部分地區都能夠正常回傳,而且沒有大面積逾時,說明網站的 IPv6 基礎連通性通常沒有明顯問題。這時候即使個別節點偶爾逾時,也不要馬上判斷線路故障。公共網路本身存在波動,單個節點一次失敗的參考價值並不高。更值得關注的是:同一個地區連續多次失敗,或者同一電信業者出現成片異常。
2. 只有某一家電信業者異常
例如:
中國電信 基本正常
中國聯通 基本正常
中國移動 多個節點逾時這種情況首先應該看對應電信業者方向。如果伺服器 IPv6 設定完全錯誤,通常不會只影響一個電信業者。此時可以繼續檢查目標網路和移動 IPv6 之間的路由、上游互聯,以及 CDN 是否對移動網路進行了不同的 IPv6 調度。
3. 只有部分地區異常
還有一種情況是三網整體都能存取,但某幾個省份持續異常。
例如:
北京 正常
上海 正常
江蘇 正常
廣東 異常
廣西 異常
海南 異常這種情況下,問題更像是區域網路路徑或者上游互聯異常。最好不要只測試一次,可以間隔一段時間重複測試,看看是不是同一批節點一直有問題。如果每次異常都集中在相同地區,排查價值就比較高。
4. 全國大量節點都無法存取
如果不同省份、電信、聯通、移動都出現大量失敗,就不要只盯著某一家電信業者了。
建議重新從伺服器端開始檢查:
AAAA 記錄
↓
伺服器 IPv6 位址
↓
IPv6 預設路由
↓
安全群組 / 防火牆
↓
80 / 443 連接埠
↓
Web 服務
↓
HTTPS尤其是剛為雲端伺服器開啟 IPv6 時,一個比較容易遺漏的問題就是安全策略。
伺服器雖然已經取得公網 IPv6,但安全群組或系統防火牆不一定已經允許對應的 IPv6 入站連線。
5. IPv6 能連線,但速度明顯比 IPv4 慢
例如同一個地區得到:
IPv4:32ms
IPv6:148ms這時候問題已經從「IPv6 能不能用」變成「IPv6 為什麼繞路或延遲這麼高」。可以繼續比較其他地區和電信業者。如果只有廣州移動出現這種情況,而北京移動、上海移動都正常,更像是區域路徑問題;如果幾乎所有移動節點 IPv6 都比 IPv4 高很多,就需要進一步檢查移動方向的 IPv6 上游線路。
這裡沒有必要只憑一個延遲值判斷線路好壞,關鍵還是看IPv4 和 IPv6 之間有沒有明顯反差,以及異常是否具有地區或電信業者規律。
五、為什麼國內 IPv6 測試一定要分別看電信、聯通和移動?
國內網站測速如果只選一個節點,很容易產生誤判。
IPv6 環境下更是如此。
同一個伺服器,從電信、聯通和移動存取時,中間經過的網路路徑可能並不一樣。
例如:
北京電信
↓
電信 IPv6 骨幹
↓
目標網路另一邊可能是:
北京移動
↓
移動 IPv6 骨幹
↓
電信業者互連
↓
目標網路最終雖然存取的是同一個 IPv6 位址,但實際鏈路已經不同。
因此,真實環境中完全可能出現:
IPv4:
電信 正常
聯通 正常
移動 正常
IPv6:
電信 正常
聯通 正常
移動 部分地區逾時如果只在電信寬頻上測試,很難發現這個問題。
Chahu 目前的多節點 Ping 本身也按照電信、聯通、移動以及地區展示結果,這種方式比較適合先判斷異常有沒有明顯的電信業者特徵。對網站維運來說,三網測試真正解決的問題不是取得三個不同延遲數字,而是判斷:這是伺服器自身的問題,還是某個電信業者到伺服器之間的網路問題?把這一點判斷清楚,後面的排查效率會高很多。
六、本地 IPv6 測試和國內多節點測試有什麼區別?
如果只是想知道自己的電腦或家庭寬頻有沒有 IPv6,本地測試通常已經夠用。但如果管理的是面向全國使用者的網站、伺服器、API 或 CDN,僅靠自己電腦測試就明顯不夠。
測試方式 | 主要用途 |
|---|---|
本機 IPv6 檢測 | 判斷目前裝置有沒有 IPv6 |
本地 IPv6 Ping | 查看自己目前線路到目標的情況 |
AAAA 查詢 | 確認網域是否設定 IPv6 |
國內多節點測試 | 判斷不同省份存取是否有異常 |
三網 IPv6 測試 | 比較電信、聯通、移動之間的差異 |
持續測試 | 排查偶發丟包、延遲波動和間歇逾時 |
可以簡單理解成:一般使用者關心「我的 IPv6 能不能用」,網站維運更關心「使用者的 IPv6 能不能用」。兩者測試的對象看起來一樣,但實際解決的問題不同。
七、國內 IPv6 出現異常時的正確排查順序?
IPv6 故障排查最容易出現的問題,就是一開始同時檢查太多東西。DNS 改一遍、防火牆改一遍、伺服器重開一次、CDN 設定再動一下,最後即使網站恢復了,也不知道到底是哪一步解決的。
實際維運中,更建議按照固定順序往下查:
檢查 AAAA
↓
確認 IPv6 位址
↓
測試基礎連通性
↓
檢查 HTTP / HTTPS
↓
做國內多節點測試
↓
比較電信 / 聯通 / 移動
↓
比較 IPv4 / IPv6
↓
鎖定異常地區
↓
檢查路由和上游網路全國三個電信業者都無法存取,就應該優先檢查伺服器端,而不是先研究廣州移動的路由;如果全國大部分地區都正常,只有華南幾個移動節點長期失敗,那麼就沒有必要一開始修改整個伺服器的 IPv6 設定;如果所有地區都能存取,但使用者偶爾回報晚上打不開,則可以進一步使用持續測試觀察晚高峰的延遲、丟包和逾時情況。網路排障真正有效的方法是根据每一步結果逐漸縮小問題範圍。
國內 IPv6 測試真正需要確認的,不只是伺服器有沒有一個 IPv6 位址,而是網站透過 IPv6 對外提供服務以後,國內不同地區和不同電信業者的使用者能不能正常存取。如果只是檢查自己目前網路,本地 IPv6 測試已經能夠解決不少問題;但對於面向全國使用者的網站,最好還是按照 AAAA 解析、基礎連通性、HTTP/HTTPS、國內多節點、三網對比、IPv4/IPv6 對比 的順序逐層檢查。
這樣一旦出現異常,可以很快判斷它究竟來自 DNS、伺服器設定,還是集中在某個地區或電信業者網路,而不是看到「網站打不開」以後就在伺服器、CDN 和 DNS 之間反覆猜。尤其是遇到「自己這裡正常,使用者那裡打不開」這類問題時,Chahu 全國多節點 IPv6 測試往往比單純增加本地測試次數更有參考價值。
相關問答
1. 問:家裡路由器顯示有 IPv6,電腦卻拿不到位址,咋回事?
答:先看電腦網路內容裡有沒有 240e、2409 開頭的位址。沒有的話,多半是路由器沒下發前綴。光貓橋接後,路由器 IPv6 設定選 Native 或 SLAAC,別選成 Disabled。有些舊路由器只支援 IPv4,那就得換。
2. 問:網站用了 CDN,怎麼確認 CDN 的 IPv6 節點生效了?
答:dig AAAA 看返回的是不是 CDN 的 IPv6 段。找幾個地區 ping 一下,如果返回來源站 IP,說明 CDN IPv6 沒設好。回應標頭裡一般有 CDN 標識。
3. 問:IPv6 能開啟網頁,圖片影片卻載入不出來,啥問題?
答:F12 看哪些請求失敗。可能是頁面裡資源寫死了 IPv4,或者 CDN 回源有問題。也可能是 MTU,大封包被丟,小封包正常。
4. 問:IPv6 的 MTU 設多少?不對會怎樣?
答:一般 1500,PPPoE 可能 1492。不對的話,能 ping 通小封包,網頁開啟一半卡住,TLS 握手失敗。用 ping -6 -l 1472 -f 目標位址 試,慢慢調小。
5. 問:做 IPv6 監控,頻率和閾值怎麼定?
答:核心 API 一分鐘一次,官網五分鐘。別一次失敗就告警,連續兩三次再報。三網節點分開選,移動、電信、聯通各來幾個,避免單點誤報。
6. 問:IPv6 位址有哪些類型?fe80 開頭的是什麼?
答:fe80 是連結本地位址,只能同網段通。測試外網要用全域單播,一般 240e、2409、2408 開頭。fd00 開頭是內網位址,也不能公網存取。



