域名被牆怎麼檢測?常見症狀、封鎖類型與4步完整排查指南

域名突然國內打不開,到底是被牆了還是伺服器宕機?本文教你透過命令列 3 步測試 DNS 污染與 SNI 阻斷,結合chahu全國撥測定位阻斷節點,並提供 4 種應對方案。

Chahu 團隊2026-08-265 分鐘閱讀

在網站營運或海外業務擴展過程中,有時會遭遇國內用戶突然集中回報「網站打不開」,但從伺服器後台查看系統負載和網路流量卻一切正常的尷尬情況。這種海外訪問暢通無阻、國內訪問卻大面積癱瘓的現象,大概率意味著域名觸發了國家級防火牆(GFW)的攔截規則,也就是俗稱的「域名被牆」。

域名被牆不僅會導致流量斷崖式下跌,還會對網站在搜尋引擎中的收錄與排名造成毀滅性打擊。本文將詳細拆解域名被牆的底層技術機制、常見異常症狀,並提供一套無需複雜工具即可完成的命令列排查流程與後續修復方案。

一、什麼是「域名被牆」?常見的 3 種阻斷機制

很多站點運維人員在發現無法訪問時,第一時間往往會誤以為是伺服器宕機或機房防火牆誤攔截。實際上,GFW 對域名的攔截發生在不同的網路層級,主要分為以下三種機制:

阻斷類型

技術原理

常見表現症狀

DNS 污染

在遞迴 DNS 解析路徑中攔截請求,偽造並回傳錯誤的 IP 位址

域名被解析到無效或錯誤的 IP 位址;國外解析正常,國內解析錯亂。

SNI 阻斷

在 HTTPS 的 TLS 握手階段讀取 Client Hello 封包中的 SNI 域名,強制發送 RST 重設封包

HTTP 訪問正常或能重新導向,一旦使用 HTTPS 訪問立即彈出連線已重設。

IP 封鎖 / TCP 攔截

目標伺服器的主機 IP 被直接列入骨幹網路路由黑名單,丟棄所有相關資料封包

Ping 完全不通,Traceroute 在進入跨境骨幹網路出口節點時丟包率變為 100%。

為了避免在排查方向上走彎路,先看下面這張表格,區分清楚「域名被牆」與伺服器宕機、DDoS 攻擊的差異:

故障現象

域名被牆

伺服器宕機/機房故障

受到 DDoS / CC 攻擊

海外節點訪問

正常秒開

同樣無法訪問 / 逾時

極慢、頻繁 502/504 或逾時

Ping 表現

國內大面積丟包/逾時,海外正常

全球節點全部 Ping 不通

全球 Ping 延遲極高,丟包嚴重

DNS 解析

被解析到錯誤或無關 IP

回傳正確的伺服器 IP

回傳正確的伺服器 IP

HTTP 狀態碼

無狀態碼(連線直接重設/逾時)

502 Bad Gateway / Connection Refused

503 / 504 Gateway Timeout

二、域名被牆的常見症狀

在進行深入的命令列診斷前,可以透過以下幾個典型的異常特徵進行初步識別:

  • 海外訪問完全正常,國內多地無法載入

    透過海外 VPN 或位於香港、新加坡、美國等地的伺服器訪問網站,頁面秒開且功能全無異常。但使用國內電信、聯通、移動的網路訪問時,頁面提示逾時或無法連線。

  • 修改本機 DNS 後才能偶發打開

    如果使用電信商預設的 DNS(如地方電信 DNS)無法解析,但將本機 DNS 手動更改為8.8.8.8或1.1.1.1後部分地區恢復正常,這通常是典型的 DNS 污染初期徵兆。

  • HTTP 可以打開,HTTPS 無法建立連線

    透過未加密的http://yourdomain.com能夠正常載入或看到回應標頭,但在瀏覽器中輸入https://yourdomain.com時,瀏覽器直接報錯ERR_CONNECTION_RESET或TLS Handshake Timeout。

三、4 步完整排查流程

當懷疑域名被牆時,建議按照從 DNS 層到網路傳輸層的順序依次排查。前三步可以直接在 Linux 終端或 Windows 命令提示字元(CMD)中執行,第四步結合第三方節點工具全面驗證。

第一步:驗證 DNS 解析狀態

DNS 污染是最常見的封鎖手段。我們需要對比國內公用 DNS 與國外公用 DNS 對同一個域名的解析結果。

打開終端,分別執行以下命令:

# 使用國內阿里 DNS 解析 
nslookup yourdomain.com 223.5.5.5 
# 使用國外 Google DNS 解析 
nslookup yourdomain.com 8.8.8.8

診斷結果分析

如果8.8.8.8回傳的是你真實的伺服器 IP,而223.5.5.5回傳了一個完全無關的海外隨機 IP(如某些固定的保留位址或不屬於你名下的節點),或者每次執行命令回傳的 IP 都在變化,說明你的域名已經遭遇了 DNS 污染。

第二步:測試 TLS 握手與 SNI 阻斷

有時候 DNS 解析並沒有被污染,但依然無法透過 HTTPS 打開網頁,這就需要排查 SNI(Server Name Indication)阻斷。

使用curl命令繞過 DNS 解析,直接指定伺服器 IP 並攜帶目標域名發送 TLS 請求:

curl -Iv https://yourdomain.com --resolve yourdomain.com:443:YOUR_SERVER_IP

診斷結果分析

在輸出日誌中,觀察 TLS 握手過程:

  • 如果日誌顯示在發送Client Hello後,立刻收到Recv failure: Connection reset by peer或OpenSSL SSL_connect: Connection reset by peer,說明電信商路由節點識別到了資料封包中的域名字串並觸發了 SNI 攔截。

第三步:追蹤路由節點

為了確定到底是域名本身被封鎖,還是伺服器所在的 IP 被拉黑,需要使用路由追蹤工具查看資料封包在哪個階段被丟棄。

在 Linux 或 macOS 上使用mtr,在 Windows 上使用tracert:

# Linux / macOS mtr -rw yourdomain.com # Windows tracert yourdomain.com

診斷結果分析

查看路由追蹤列表。如果資料封包在經過本地電信商網路後,到達出口骨幹網路節點(例如包含202.97.*.*或219.158.*.*的電信/聯通出口 IP)時突然出現 100% 的丟包,並且後續節點全部逾時,表明該 IP 或連接埠已經在出口路由層級被攔截。

第四步:使用chahu進行全國多節點撥測

單點本地測試容易受到本地網路環境或特定電信商故障的干擾。完成上述本地診斷後,需要藉助chahu 這類多節點撥測工具來快速定位全網受影響範圍。

操作步驟

  1. 打開chahu.com,在測速框中輸入你的目標域名。

  2. 執行 Ping 檢測網站測速/HTTP 回應檢測

  3. 觀察全國各省份(電信、聯通、移動)節點的回應狀態與解析 IP:

    • 若海外與港澳台節點全部顯示綠燈(回應正常、IP 解析正確),而國內各大省份節點大面積爆紅(提示連線逾時、解析到錯誤 IP 或連線被重設),即可 100% 確認該域名遭到了國家級防火牆針對性的阻斷。

四、域名被牆後的 4 種應對與救磚方案

查出來確實是 DNS 污染或者 SNI 阻斷後,很多人的第一反應是去換伺服器 IP,這純粹是白費功夫,因為牆攔的是域名,跟 IP 沒關係。要挽回損失,只能根據你當下的業務重心,可以從下面這幾個方向進行調整:

  1. 更換域名 + 301 流量轉移

    如果你的流量大部分來自海外,或者靠 Google 搜尋吃飯,最快的辦法就是立馬註冊個新域名,把服務掛過去,然後在老域名上做 301 重新導向。但是國內用戶訪問老域名時,301 跳轉請求還沒傳回他們的瀏覽器,在半路就已經被重設了。所以這招只能保住海外用戶和 Google 的爬蟲流量,國內用戶還是打不開。

  2. 接入具備隱匿能力的高防 CDN 或代理節點

    如果不想更換域名,可以透過接入支援 SNI 隱匿、智慧路由切分的Yewsafe高防 CDN 節點,由 CDN 的前置節點承接來自國內的請求,屏蔽敏感回應標頭與特徵封包。配合chahu等多節點工具持續監控 CDN 節點的國內通達率,能夠有效緩解特定節點被封鎖帶來的業務中斷。

  3. 部署國內合規備案

    只要你的核心客戶群體還在國內,折騰各種偏門技術最後大概率都是白費力氣。最穩妥的根治方案只有一條路:把伺服器遷回國內(或者走合規的專線),老老實實把 ICP 備案和公安聯網備案辦下來。進了合規白名單,GFW 的誤殺和動態阻斷自然就跟你沒關係了。

  4. 開啟 ECH技術

    對於了解 TLS 協定的老手,可以在伺服器端和用戶端環境允許的情況下,嘗試開啟 TLS 1.3 的 ECH 擴充(也就是以前 ESNI 的升級版)。這玩意兒能直接把握手階段明文傳輸的域名給加密了,讓路上的中間設備壓根看不出來你訪問的是哪個域名,自然也就沒法觸發基於域名關鍵字的 SNI 阻斷。不過目前用戶端支援率還沒完全普及,可以作為輔助手段。

診斷域名被牆的核心在於分層排查:先在本地用命令列確認 DNS 與 TLS 握手狀態,再用chahu這樣的多節點測速平台看清全網影響面。定位出具體是 DNS 污染、SNI 阻斷還是 IP 被封後,再有針對性地選擇更換域名、接入 CDN 或推進合規備案,才能最快速度挽回流量損失。

相關問答

問:域名被牆之後,更換DNS伺服器能解決問題嗎?

不能。DNS污染確實是GFW攔截的一種手段,但更換DNS伺服器(比如從電信商預設DNS換成8.8.8.8)只能作為臨時測試手段來驗證是否存在DNS污染。如果域名已經被牆,無論你用哪家DNS服務商解析,GFW在骨幹網路層面就已經把請求攔截了。更換DNS伺服器治標不治本,真正需要做的是排查違規內容、考慮域名更換或合規備案。

問:HTTP能打開、HTTPS打不開,一定是域名被牆了嗎?

這確實是SNI阻斷的典型症狀。但也不絕對,還需要排查SSL憑證是否過期、伺服器端TLS設定是否有問題。如果憑證有效且設定正常,而HTTP正常、HTTPS直接報連線重設,那基本可以判定是SNI層面的攔截。可以用curl命令帶--resolve參數直接指定IP發起TLS請求來驗證。

問:域名被牆和DNS污染是一回事嗎?

不是一回事,很多人把這兩個概念混用了。DNS污染是GFW攔截手段的一種:在域名解析環節動手腳,把正確IP替換成錯誤IP,讓用戶找不到真正的伺服器。而「域名被牆」是更大的概念,除了DNS污染,還包括SNI阻斷、IP封鎖等多種技術手段。DNS污染只是被牆的其中一種表現形式。

問:網站被微信攔截了,算是域名被牆嗎?

不算。微信、QQ這類平台有獨立的URL安全檢測機制,域名在瀏覽器裡能正常打開,但在微信裡分享時提示「已停止訪問該網頁」,這是平台級的內容風控攔截。它不涉及DNS解析,也不涉及GFW的網路層攔截,純粹是騰訊系產品單方面的「拉黑」。處理方式也完全不同,微信攔截需要透過對應的申訴管道提交材料。

問:域名被牆之後,郵件服務會受影響嗎?

會受影響,但要看具體情況。如果域名遭遇的是DNS污染,那麼郵件伺服器解析收件人域名的MX記錄時會出問題,導致郵件發不出去。另外,GFW本身也會過濾含有敏感資訊的郵件,可能造成投遞失敗或收到空白郵件。不過郵件被拒收還有另一種常見原因:域名或IP被Spamhaus等國際反垃圾郵件組織列入黑名單,這和GFW攔截是兩碼事,需要區分對待。

問:域名被牆之後,大概多久能恢復?

取決於封鎖類型和應對方式。如果是DNS污染這類技術性問題,更換解析或切換CDN節點後通常1到2小時內能恢復。如果是合規性問題,需要走備案或申訴流程,通常5到20個工作天。嚴重違規導致永久封禁的,基本沒有恢復希望。申訴解封這條路最漫長,有些需要一兩個月甚至更久。很多站長最終選擇的是換域名而不是等解封。