跳至主要內容

強制入口重新導向疑難排解:解決訪客 WiFi 連線失敗問題

您可以透過由下而上的層級排查方式:定址、DNS、探針重新導向、圍牆花園以及 RADIUS,來診斷為何訪客 WiFi 顯示已連線卻無法存取網際網路。接著,您可以將症狀與原因進行比對、在現有硬體的設定中修復問題,並建立變更控制流程以防止故障再次發生。

作者:Tom Hackett發佈於 更新於
📖 14 分鐘閱讀757 字數3 範例3 練習題10 關鍵定義

Video overview

收聽此指南

查看播客逐字稿
主持人(英式英文,自信專業顧問語氣): 歡迎收聽 Purple 技術簡報。今天我們要探討企業網路中最棘手的痛點之一:Captive Portal 重新導向失敗。當您的訪客 WiFi 顯示已連線但無法存取網際網路時,訪客會感到挫折、您的技術支援團隊會被查詢淹沒,而您的數據收集策略也會停滯不前。在本次簡報中,我們將剖析 Captive Portal 的技術架構,探討為什麼現代作業系統和瀏覽器經常阻擋它們,並為您提供具體的實作策略,以永久解決這些問題。 [暫停] 讓我們想像一下這個場景。您已在數百個零售據點部署了 Cisco Meraki 或 HPE Aruba 的無線基地台。硬體運作良好。但訪客卻抱怨無法上網。他們選取了 SSID,裝置顯示了 WiFi 圖示,但登入頁面(Splash Page)卻從未出現。或者更糟的是,他們看到了令人驚恐的 SSL 憑證錯誤。 為什麼會這樣?這與作業系統如何偵測網際網路連線能力有關。當裝置連線到網路時,它會向已知的 URL 發送 HTTP 探測。對於 iOS,它是 captive.apple.com。對於 Android,它是 connectivitycheck.gstatic.com。Windows 則使用 msftconnecttest.com。如果裝置收到標準的 HTTP 200 OK 回應,它就會假設自己擁有直接的網際網路存取權限。如果網路閘道器攔截了該請求,並以 HTTP 302 重新導向至另一個 URL 作為回應,作業系統就會知道自己處於 Captive Portal 之後。接著,它會開啟一個擬真瀏覽器來載入登入頁面。 失敗通常就發生在這個攔截點。 [暫停] 第一個主要的失敗點是網路連線狀態指標(Network Connectivity Status Indicator)探測,簡稱 NCSI。如果您的防火牆或閘道器阻擋了這些未經加密的 HTTP 請求,作業系統就永遠不會收到 302 重新導向。它只會單純地認為網路損壞。要解決此問題,您必須確保您的預先驗證存取控制清單(ACL)允許 HTTP 流量傳輸到那些特定的作業系統偵測 URL。 第二個且日益常見的問題是 HTTP 強制安全傳輸技術(HSTS)。現代瀏覽器針對主要網域強制執行 HTTPS。如果使用者連線到您的 WiFi,並立即嘗試開啟 google.com,他們的瀏覽器會堅持使用加密連線。當您的閘道器攔截該 HTTPS 請求並嘗試將其重新導向至 Captive Portal 時,瀏覽器會偵測到中間人攻擊。因為您閘道器所提供的憑證與 google.com 不符。結果就是完全阻擋。使用者會看到安全性警告,且無法進入登入頁面。 這裡的解決方案分為兩個部分。首先,依賴我們剛才討論的作業系統層級偵測機制。它們專門使用未加密的 HTTP,以避免這種憑證不符的情況。其次,確保您的 Walled Garden(圍牆花園)設定完美無瑕。 什麼是 walled garden?它是顧客在進行身分驗證之前可以存取的網域和 IP 位址清單。如果您使用透過 Microsoft Entra ID 或 Google Workspace 進行社群登入,或者透過 Stripe 處理付款,這些網域就必須包含在您的 walled garden 中。如果沒有包含,系統可能會載入歡迎頁面,但驗證程序將會無聲無息地失敗。 [PAUSE] 讓我們來看一個真實世界的案例。麥當勞在數千個據點為數百萬名顧客提供服務。他們使用 Purple 來管理其顧客 WiFi。如果他們的階段作業逾時設定得太短,顧客在漫長的午餐時間查看手機時,可能會被迫重新驗證多次。這會破壞使用體驗。我們建議針對餐旅和零售環境將階段作業持續時間設定為 24 小時,並使用 MAC 位址快取來無縫識別返回的裝置。 [PAUSE] 現在來看部署建議。在部署 Captive Portal 時,您必須正確設定您的閘道以攔截 DNS 和 HTTP 流量。如果您使用像 Purple 這樣的雲端重疊網路,不論您的本機硬體是 Juniper Mist 還是 Ubiquiti UniFi,都必須能夠連線到 Purple RADIUS 伺服器。 這是一個關鍵的陷阱:DNS 解析。如果顧客裝置無法解析您 Captive Portal 的主機名稱,重新導向就會失敗。請確保您的 DHCP 伺服器提供可靠的 DNS 位址,並驗證您的閘道是否允許 DNS 查詢通過 walled garden。 此外,還要考慮實體環境。體育場或旅遊樞紐(例如 Manchester Airports Group)等高密度場所需要處理數千個並行連線嘗試。如果您的本機 DHCP 集中資源耗盡,新裝置雖然會連線到存取點,但會無法取得 IP 位址。它們甚至永遠無法到達 Captive Portal 階段。請務必針對尖峰容量規劃適當大小的子網路,並對暫時性訪客網路使用較短的 DHCP 租約時間。 [PAUSE] 現在進行基於常見技術支援工單的快速問答環節。 問題一:為什麼該入口網站可在 iPhone 上運作,但在 Android 裝置上卻失敗? 回答:這幾乎可以肯定是一個 walled garden 問題。您很可能已將 captive.apple.com 列入白名單,但遺漏了 connectivitycheck.gstatic.com。請更新您的預先驗證存取控制清單。 問題二:顧客成功通過身分驗證,但仍然無法上網。為什麼? 回答:請檢查您的 RADIUS 設定。閘道很可能沒有收到來自 RADIUS 伺服器的 Access-Accept 訊息,或者驗證後的防火牆規則阻擋了流量。請驗證共用金鑰並確保連接埠 1812 和 1813 已開啟。 問題三:我們可以使用 HTTPS 進行初始重新導向以避免安全性警告嗎? 回答:不行。您無法在不引起憑證錯誤的情況下攔截 HTTPS 要求,除非您在每台顧客裝置上安裝根憑證,而這對於公共 WiFi 來說是不可能的。您必須依賴未加密的 HTTP 作業系統探測來觸發入口網站。 [PAUSE] 總結來說:Captive Portal 故障很少是硬體故障所致。它們幾乎總是重定向流程、walled garden 或 DNS 設定中的配置不一致所引起的。 第一點:確保在驗證前可以存取 OS 偵測 URL。 第二點:設定您的 walled garden,以包含所有必要的識別提供者和內容傳遞網路。 第三點:驗證您的閘道器與驗證平台之間的 RADIUS 通訊。 第四點:針對尖峰密度調整您的 DHCP 範圍大小。 透過掌握這些要素,您就能消除連線摩擦。您將不再讓訪客感到沮喪,並開始收集推動忠誠度和營收所需的第一方數據。Purple 的 Identity-Based Networks 簡化了這個過程,提供了一個與硬體無關的雲端重疊,無縫處理全球 80,000 個實體場域中複雜的 RADIUS、Captive Portals 和分析。 感謝您參與本次 Purple 技術簡報。如需更詳細的配置指南和架構圖,請造訪 purple.ai。

核心系列的一部分:強制入口指南 →

Useful? Link to this tool

當訪客 WiFi 顯示已連線但無法存取網際網路時,表示裝置已加入網路,但強制入口重新定向功能發生故障。常見原因包括作業系統探測遭阻擋、缺少 walled garden 條目或 DNS 失敗。其他原因還包括 DHCP 位址池耗盡,或 RADIUS Access-Accept 未到達閘道。這些問題都能透過設定來解決。

「訪客 WiFi 已連線但無法存取網際網路」代表什麼狀況?

裝置已加入網路名稱(SSID)且顯示滿格訊號,但無法載入任何內容。各平台對此狀況的報告方式有所不同:

  • iOS 會在網路名稱下方顯示「無網際網路連線」。
  • Android 會顯示「已連線,但無法存取網際網路」或指向空白頁面的「登入網路」提示。
  • Windows 將網路標記為「無網際網路」。

訪客看到運作正常的 WiFi 圖示,但瀏覽器卻無法存取網路,因此會歸咎於場地管理者。

一種症狀背後可能隱藏著數個不同的故障原因。您通常會看到以下幾種模式之一:

  • 登入頁面完全沒有在任何裝置上出現。
  • 登入頁面有出現在 iPhone 上,但沒有出現在 Android 手機上,反之亦然。
  • 瀏覽器顯示憑證或隱私權警告,而非登入頁面。
  • 訪客填妥表單並看到成功訊息後,依然無法存取網際網路。
  • 離峰時間一切正常,尖峰時間則出現故障。

每種模式都指向網路的不同層級。請先觀察這些模式,不要急著重啟基地台。

強制入口偵測的運作原理

強制入口是閘道在授予網際網路存取權限之前所顯示的網頁。依據您的架構設計,閘道可以是控制器、防火牆或基地台。

各大主要作業系統一加入網路時,就會立即檢查是否存在強制入口。系統會向已知位址發送純 HTTP 要求,並將回應與預期結果進行比對。每種比對結果都代表不同的含意:

  • 回應相符。 裝置假設其具備開放的網際網路連線。
  • 閘道傳回 HTTP 302 重新定向。 裝置得知自己位於入口之後。它會開啟一個輕量級瀏覽器視窗(通常稱為 Captive Network Assistant),並載入您的登入頁面。
  • 要求未收到回應。 裝置回報無網際網路且不會開啟任何視窗。
平台 探測 URL 上線時的預期回應
iOS 與 macOS http://captive.apple.com/hotspot-detect.html 含有「Success」頁面的 HTTP 200
Android http://connectivitycheck.gstatic.com/generate_204 HTTP 204 無內容
Windows (NCSI) http://www.msftconnecttest.com/connecttest.txt 含有「Microsoft Connect Test」文字的 HTTP 200
Firefox http://detectportal.firefox.com/success.txt 含有「success」文字的 HTTP 200

Microsoft 文件指出,其網路連線狀態指示器 (NCSI) 也會解析 dns.msftncsi.com 作為 DNS 檢查。因此,當驗證前的 DNS 發生故障時,即使 HTTP 運作正常,Windows 筆記型電腦仍可能回報無網際網路。

通常是什麼原因導致強制入口重新定向失敗?

大部分的情況是由七個原因所致。這些原因涵蓋了從位址指派到驗證的不同層級。

作業系統探針遭阻擋

閘道器的驗證前存取控制清單 (ACL) 會丟棄探針而非進行重新導向。裝置未收到任何回應,因而判定無法連線至網際網路,導致永遠不會開啟入口網站。

阻擋探針主機名稱的 DNS 過濾服務也會產生相同效果。這是入口網站完全未出現的最常見原因。

HTTPS 與 HSTS 中斷攔截

如 RFC 6797 所定義,HTTP 強制安全傳輸技術 (HSTS) 會指示瀏覽器僅能透過 HTTPS 存取網域。瀏覽器出廠時隨附 HSTS 網域預載清單,其中包括 Google 和大多數銀行網域。當訪客輸入 google.com 時,瀏覽器會在請求離開裝置前升級為 HTTPS。

若未出示 google.com 的憑證(閘道器並未擁有該憑證),閘道器便無法重新導向該請求。瀏覽器將顯示無法跳過的高風險安全警告。

解決方法是僅重新導向上方表格中的純 HTTP 探針,這些探針正是為了此目的而存在。切勿為了入口網站重新導向而攔截 HTTPS。

圍牆花園範疇過窄

圍牆花園是指裝置在通過驗證前可以存取的網域與 IP 位址清單。如果缺少某個項目,登入頁面將無法完整載入或登入步驟會失敗。常見的缺漏包括:

  • 社群或單一登入 (SSO) 的身分提供者端點,例如 Microsoft Entra ID、Okta 或 Google Workspace。
  • 為您的登入頁面提供字型、指令碼與樣式表單的內容交付網路 (CDN) 網域。
  • 金流處理商網域(如果您對存取收取費用)。
  • Purple 的強制入口與 RADIUS 端點,詳列於 Purple 針對您硬體設備所提供的整合指南中。

DNS 在驗證前失敗

裝置必須先解析入口網站的主機名稱,才能載入頁面。在以下兩種情況下,重新導向將無法指向任何位置:

  • 閘道器在驗證前狀態阻擋了 DNS。
  • DHCP 發放了裝置無法連線的 DNS 伺服器。

Android 還帶來了另一個變數。若訪客設定了特定的私人 DNS 主機名稱,Android 會預期使用連接埠 853 上的 DNS over TLS。在自動模式下,它會退回使用一般的 DNS。

DHCP 位址池耗盡

當位址池耗盡時,新裝置雖然會關聯至 AP,但無法取得 IP 位址。Windows 接著會為自己指派 169.254.x.x 連結本地位址,其他系統也會顯示類似的自我指派狀態。

由於沒有有效的位址,裝置無法傳送探針。它看起來已連線,但無法連線至網際網路。這是體育場、會議中心與交通樞紐在尖峰時間發生的典型故障。

RADIUS 從未傳送 Access-Accept

RADIUS (Remote Authentication Dial-In User Service) 負責將驗證伺服器的登入決定傳送至您的閘道器。伺服器會回覆 Access-Accept 或 Access-Reject(如 RFC 2865 所定義)。接著閘道器會開啟存取權限或保持封閉。

填寫完表單卻仍保持離線狀態的訪客,幾乎總是意味著閘道錯過了 Access-Accept。常見的三個原因為:

  • 共享金鑰 (shared secret) 不符。
  • 防火牆封鎖了 UDP 1812(驗證)或 UDP 1813(會計)。RFC 2865 和 RFC 2866 定義了這些連接埠。
  • 控制器上的伺服器位址錯誤。

入口網站自身的憑證已過期

您的登入頁面是透過 HTTPS 提供服務。若其 TLS 憑證過期,所有現代瀏覽器都會以安全性警告封鎖該頁面。重導向功能運作完全正常,但訪客仍無法登入。

如何確定是哪種原因?

請依序向上檢查網路堆疊。每項檢查都能排除一層問題,因此請在第一個失敗點停止。

  1. 裝置是否擁有有效的 IP 位址? 請在 Windows 上執行 ipconfig /all,或檢查手機上的網路詳細資料。169.254.x.x 位址或完全沒有位址,皆指向 DHCP 問題。請檢查 DHCP 伺服器上的位址池使用率。若高於 90%,即代表即將耗盡。
  2. DNS 能否解析? 請從訪客虛擬區域網路 (VLAN)(邏輯上獨立的網路區段)中的裝置查詢入口網站主機名稱。若查詢失敗,表示預先驗證的 DNS 被封鎖,或是 DHCP 分配的 DNS 伺服器錯誤。
  3. 探針是否取得 302 回應? 請在訪客 VLAN 上擷取封包,或瀏覽其中一個 HTTP 探針 URL。您應該會看到探針,接著是指向入口網站的 HTTP 302。若探針沒有回應,表示 ACL 丟棄了封包。若完全沒有探針,表示裝置認為自己已經連線,這通常是因為快取狀態所致。請清除(忘記)該網路並重新連線。
  4. 登入頁面是否完整載入? 開啟瀏覽器開發者工具 (F12) 並觀察網路標籤頁。若對第三方域名的請求被封鎖,表示圍牆花園 (walled garden) 設定有缺口。
  5. 閘道是否收到 Access-Accept? 請檢查控制器的 RADIUS 記錄。成功登入後,會收到狀態為 Start 的 Accounting-Request。若登入後未出現會計紀錄,則表示 RADIUS 路徑已中斷。

然後將您看到的狀況與下表對照。

症狀 最可能的可能原因 修復方式
所有裝置皆未出現入口網站 探針被閘道 ACL 或 DNS 篩選器封鎖 在驗證前允許探針主機名稱並將其重導向
入口網站出現在 iOS,但未出現在 Android 重導向規則缺少 Android 探針主機 將 connectivitycheck.gstatic.com 重導向並重新測試
出現憑證警告而非入口網站 HTTPS 攔截,或入口網站憑證過期 僅重導向 HTTP 探針,並更新憑證
入口網站載入但缺少圖片或按鈕 內容傳遞網路 (CDN) 域名被封鎖 將登入頁面的資源域名新增至圍牆花園
社群登入靜默失敗 缺少身分驗證提供者端點 新增 Microsoft Entra ID、Okta 或 Google Workspace 端點
登入成功,但無法連上網際網路 Access-Accept 未到達閘道 檢查共享金鑰、UDP 1812 與 1813,以及伺服器位址
訪客每次造訪都被要求登入 連線階段過短或隨機 MAC 位址 延長連線階段並針對 MAC 隨機化進行規劃
僅在尖峰時間出現失敗 DHCP 位址池已耗盡 擴大子網路並縮短租約時間

實作情境:包含 1,500 個座位的會議中心在尖峰時段的狀況

狀況。 一家會議中心在單一 /24 子網路上運行與會者網路,DHCP 租約時間為八小時。早上的專題演講運作順暢。午餐過後,抵達參加下午場次的與會者看到了「已連線,無網際網路」。服務台將其視為入口網站故障,並重啟控制頁面兩次。

處置方式。 診斷步驟 1 發現新裝置保留了 169.254.x.x 位址。/24 可提供 254 個可用位址,而八小時的租約保留了早上的每個位址。團隊將與會者 VLAN 移至 /21,並將租約縮短至 30 分鐘。

結果。 可用位址從 254 個增加到 2,046 個,大約是先前容量的八倍。離開與會者留下的位址現在會在 30 分鐘內返回位址池,而不是八小時。此修復僅花費一個變更維護時段,且不需要任何新硬體。

實作情境:擁有 200 間客房的飯店中 Android 房客無法登入

狀況。 在重新設計登入頁面後,一家擁有 200 間客房的飯店收到櫃檯轉達的 Android 房客抱怨。他們大多數人選擇了 Google 登入選項。入口網站有出現,但按鈕沒有反應。

處置方式。 IT 經理在一台 iPhone、一台 Android 手機和一台 Windows 筆記型電腦上測試了流程。筆記型電腦上的開發人員工具顯示對字型傳輸網路和 Google 登入網域的請求被封鎖。重新設計時新增了這兩者。團隊將它們新增至圍牆花園 (Walled Garden)。

結果。 Google 登入在第一次重新測試時於所有三台測試裝置上完成。此修復需要兩個圍牆花園條目,且不需要變更硬體。

實作情境:防火牆更新後的 40 家門市零售企業

狀況。 一家零售商利用週末更換了 40 家門市的防火牆。週一,每家更新門市的顧客都可以填寫登入表單,但仍保持離線狀態。尚未更新的門市則運作正常。

處置方式。 步驟 5 發現沒有來自已更新門市的記帳紀錄。新的防火牆範本預設拒絕外連 UDP,封鎖了 1812 和 1813。團隊向範本新增了明確的外連規則,並推播至所有 40 家門市。

結果。 推播後,來自每家門市的記帳紀錄重新出現。因為只有更新後的門市失敗,該模式直接指向範本,排除是 WiFi 的問題。

對於您的特定設置有任何疑問嗎?

我們的團隊與超過 80,000 個場域的場域營運商、IT 經理和網路工程師合作。立即預約 20 分鐘的通話,我們將向您展示其他與您相似的用戶是如何解決此問題的。

如何在每個作業系統和控制頁面上修復它?

控制頁面的修復在每個平台上都遵循相同的模式。作業系統的修復主要是了解各自的行為模式。

在您的控制頁面上

Purple 作為雲端重疊層運行於 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium、Extreme 和 Fortinet。這八種平台上的修復模式完全相同:

  1. 將訪客 SSID 指向 Purple 整合指南中的外部分頁強制入口 URL,並停用任何本機 Splash 頁面。
  2. 將未經驗證的 HTTP 流量(包含探測)重新導向至該 URL。請勿變更 HTTPS。
  3. 在驗證前允許 DNS 和 DHCP。
  4. 新增圍牆花園(Walled Garden)項目:Purple 端點、身分驗證提供者端點以及登入頁面資產網域。
  5. 輸入來自 Purple 儀表板的 RADIUS 伺服器位址與共用密鑰。然後確認防火牆允許出站 UDP 1812 與 1813。

功能表名稱會因廠商和韌體版本而異,因此請遵循適用於您平台的 Purple 整合指南。Fortinet 社群文件中關於 FortiGate 強制入口流程的說明,是參考重新導向順序時非常有用的廠商側指南。

在 iOS 和 macOS 上

如果強制網路助理未開啟,請在「設定」中忘記該網路並重新連線。這會強制發送全新的探測。

近期的 iOS 與 macOS 版本也支援 Captive Portal API。它允許網路透過 RFC 8910 中定義的 DHCP option 114 來通告其入口,進而減少對攔截的依賴。如果助理有開啟但保持空白,請檢查圍牆花園中的資產網域。

在 Android 上

Android 在偵測到入口時會顯示「登入網路」通知。如果通知從未出現,請確認閘道重新導向了 connectivitycheck.gstatic.com,而非將其丟棄。

如果訪客看到「無法存取私人 DNS 伺服器」,代表其手機設定了嚴格的私人 DNS 主機名稱。您有兩個選擇:

  • 在驗證前允許連接埠 853 上的 DNS over TLS。
  • 請訪客將私人 DNS 切換為自動。

在 Windows 上

Windows 依賴 NCSI HTTP 探測及其 DNS 檢查。如果入口未自動開啟,請瀏覽至任何純 HTTP 網站以手動觸發重新導向。如果在登入後持續顯示「無網際網路」,通常表示閘道仍在重新導向探測。在這種情況下,閘道尚未套用 Access-Accept。

在瀏覽器中

請指導第一線人員引導訪客造訪 HTTP 位址,切勿造訪如 google.com 等 HSTS 網域。Firefox 會針對 detectportal.firefox.com 執行自己的探測,因此請在您的重新導向測試中包含該主機。

您該如何防止訪客 WiFi 重新導向失敗再次發生?

大多數重複發生的事件源於變更,而非原始建置。韌體更新、新的防火牆範本、登入頁面重新設計或過期的憑證都可能未經測試即上線。請將這些控制措施建置到您的變更流程中:

  • 每次變更後在三個平台上進行測試。 使用一支 iPhone、一支 Android 手機和一台 Windows 筆記型電腦。如果一個平台失敗而其他平台通過,請先檢查圍牆花園是否有遺漏。
  • 按高峰期而非平均值計算容量。 計算最大併發裝置數量並增加預留空間。瞬時訪客網路通常使用 15 到 30 分鐘的租約。
  • 將連線階段設定為符合造訪情況。 旅宿業和零售場所通常會設定 24 小時的連線階段,因此訪客在每次入住或造訪期間只需登入一次。
  • 每日監視登入量。 Purple 的 WiFi 分析 會依據場所報告登入情況。單一據點的登入量突然下降,能在訪客抱怨之前,提醒您發生了 RADIUS 或圍牆花園故障。
  • 將憑證與共用金鑰納入變更管理。 記錄強制入口憑證的到期日。將 RADIUS 共用金鑰儲存在防火牆與控制器團隊皆可存取的地方。
  • 區隔訪客流量。 將訪客放入專屬的 VLAN。PCI DSS 將網路區隔視為防止訪客網路納入持卡人資料環境範圍的方法。
  • 針對 MAC 隨機化做好規劃。 近期的 iOS 與 Android 版本會針對每個網路使用隨機 MAC 位址,且某些模式會隨時間旋轉位址。以 MAC 位址為主的連線階段快取,屆時將會要求再次造訪的訪客重新登入。
  • 妥善收集同意聲明。 GDPR 要求針對行銷資料取得知情且明確的同意。Purple 的自主選擇同意選項會針對每種用途提供單獨的選擇。

讓再次造訪的訪客免於透過強制入口進行驗證

最持久的修復方式是完全移除重複造訪時的重新導向。

  • Passpoint 是基於 Hotspot 2.0 規格打造的業界認證。它可讓裝置使用儲存的設定檔自動加入網路。
  • OpenRoaming 由 Wireless Broadband Alliance 營運,負責聯合身分提供者。如此一來,訪客現有的憑證即可在所有參與的場所中使用。

兩者皆使用 IEEE 802.1X(此為基於連接埠之網路存取控制的標準),因此不存在會發生故障的強制入口。

存取方法 首次造訪 再次造訪 空中傳輸加密 主要故障點 適用對象
搭配強制入口的開放式 SSID 訪客完成登入頁面 當連線階段或 MAC 快取到期時再次登入 無,除非 SSID 使用 Enhanced Open (OWE) 探針、圍牆花園、DNS、RADIUS 每次造訪皆會擷取第一方資料的場所
共用預先共用金鑰 (PSK) 訪客輸入密碼 自動 WPA2 或 WPA3-Personal 密碼分享、無訪客身分 無資料收集需求的小型咖啡館
Passpoint 或 OpenRoaming 訪客安裝設定檔或使用聯合身分 自動,無強制入口 WPA2 或 WPA3-Enterprise 設定檔佈署、憑證 擁有重複造訪訪客的飯店、機場、鐵路與校園

Purple 的適用情境

Purple Guest WiFi 以獨立於硬體的雲端覆蓋層方式運作,因此您只需透過設定即可修復重新導向故障,無須更換新硬體。Purple 為 90 多個國家/地區的 80,000 多個實體場所提供服務,每年支援 5 億名使用者與登入次數。該平台具備 99.999% 的正常執行時間,並獲得 ISO 27001、Cyber Essentials 及 B Corp 認證。此外亦符合 GDPR 與 CCPA 規範。

當傳送門發生故障時,原因幾乎總是出在區域環境:偵測規則、圍牆花園條目、DHCP 池或防火牆規則。

這些模式會在各個產業重複出現:

  • 飯店 在辦理入住的高峰期會遇到重新導向錯誤。
  • 零售 園區會在進行全區防火牆變更後遇到這些問題。
  • 火車 與車站隨著乘客一波波上車,會面臨 DHCP 的壓力。
  • 醫療保健 場所需要運作順暢的病患與訪客 WiFi,以免臨床人員被捲入技術支援求助電話。

常見問題

Purple 能否搭配我們現有的無線基地台使用?

可以。Purple 與硬體無關,可在 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium、Extreme 及 Fortinet 上作為雲端覆蓋層運作。您可以保留現有的無線基地台和控制器。您只需要將訪客 SSID 指向 Purple 的強制入口,並根據 Purple 的整合指南新增圍牆花園條目與 RADIUS 詳細資訊,然後進行測試即可。完全不需要拆除並更換設備。

我們需要新硬體來修復訪客 WiFi 已連線但無法連線至網際網路的問題嗎?

不需要。在幾乎所有情況下,問題都出在設定:遭封鎖的偵測、圍牆花園缺口、預先驗證 DNS、耗盡的 DHCP 池或 RADIUS 防火牆規則。您可以在現有的控制器、防火牆或 DHCP 伺服器上修復這些問題。只有當無線基地台密度無法滿足您的尖峰裝置數量時,硬體才會成為問題,而這可透過現場勘測來確認。

將我們的訪客 WiFi 轉移至 Purple 需要做什麼?

轉移至 Purple 是一項設定專案,而非安裝專案。在每個控制器上,您需將訪客 SSID 設定為 Purple 的外部入口,並新增圍牆花園與 RADIUS 設定。接著確認 UDP 1812 和 1813 的防火牆規則。下一步,在 Purple 中建立您的登入頁面與同意選項,並在 iOS、Android 及 Windows 上進行測試。多據點園區可以將控制器設定套用範本。

強制入口是否符合 GDPR 規範?

是的,前提是同意是在知情、明確且自由的情況下給予的。GDPR 要求針對每個目的(例如行銷電子郵件)提供獨立的肯定選擇,並排除預先勾選的方塊。Purple 的自主選擇訂閱功能會單獨顯示每個選項。Purple 通過 ISO 27001 認證,擁有 Cyber Essentials,且符合 GDPR 及 CCPA 規範。這能為您的資料保護官提供他們會詢問的合規標準。

再次光臨的訪客可以跳過登入頁面嗎?

可以。Passpoint 和 OpenRoaming 允許裝置使用儲存的設定檔或聯合身分自動加入。兩者皆使用具備 WPA2 或 WPA3-Enterprise 加密的 IEEE 802.1X 驗證,因此再次存取時不會發生強制入口重新導向失敗的情況。許多場所同時執行這兩者:針對首次光臨的訪客與資料收集使用強制入口,並針對再次光臨的訪客、乘客及學生使用 OpenRoaming。

我們要如何知道登入何時開始失敗?

按場地監控登入量。Purple 的 WiFi 分析功能會報告每個站點的登入情況,因此某個位置的突然下降會與其正常模式及您的其他場地形成鮮明對比。這種下降通常意味著最近的變更引發了 RADIUS、受限園區(walled garden)或 DHCP 故障。在儀表板中發現問題,比等待前台的抱怨傳達到 IT 部門更為迅速。

我們應該使用強制入口還是共享的 WiFi 密碼?

如果您想要取得第一方數據和同意,請使用強制入口;只有在兩者皆不需要時,才使用共享密碼。共享預先共享金鑰會使用 WPA2 或 WPA3-Personal 加密流量。但是,它無法提供任何關於連接者的資訊,且密碼容易流傳。強制入口可收集獲得同意的第一方數據,而 Passpoint 或 OpenRoaming 則可為再次存取提供自動化的加密存取。

關鍵定義

強制入口

閘道(控制器、防火牆或基地台)在授權網際網路存取權限之前所提供的網頁。作業系統透過發送純 HTTP 探針並將 HTTP 302 重新導向視為存在強制入口的標誌來偵測它。

這是當訪客 WiFi 顯示已連線但無網際網路時失敗的層級。您可以將訪客 SSID 設定為指向外部強制入口 URL,並將未驗證的 HTTP 流量重新導向至該處。

作業系統探針

每個平台在加入網路時發送的純 HTTP 請求:iOS 與 macOS 為 captive.apple.com、Android 為 connectivitycheck.gstatic.com/generate_204、Windows 為 www.msftconnecttest.com/connecttest.txt,而 Firefox 則為 detectportal.firefox.com,每一個探針在連線時都預期獲得固定的回覆。

如果驗證前 ACL 或 DNS 過濾器丟棄了探針,裝置會認定沒有網際網路且永遠不會開啟強制入口。這是強制入口從未出現的最常見原因。

HSTS (HTTP 強制安全傳輸技術)

在 RFC 6797 中定義,HSTS 指示瀏覽器僅透過 HTTPS 存取網域。瀏覽器會內建 HSTS 網域的預載清單,並在請求離開裝置前將其升級。

閘道無法在沒有憑證的情況下將 HTTPS 請求重新導向至 HSTS 網域,因此訪客會看到嚴重的安全警告。請僅重新導向 HTTP 探針,並指導員工絕不要將訪客引導至 google.com。

圍牆花園

裝置在預驗證狀態下可存取的網域和 IP 位址允許清單,由閘道的預驗證存取控制清單強制執行。

缺少 Microsoft Entra ID、Okta 或 Google Workspace 等身分提供者、內容傳遞網路或 Purple 端點的條目,會導致頁面部分載入和隱形社群登入失敗。

RADIUS

遠端用戶撥號認證服務(Remote Authentication Dial-In User Service),定義於 RFC 2865(用於 UDP 1812 上的驗證)與 RFC 2866(用於 UDP 1813 上的計費)。伺服器會以 Access-Accept 或 Access-Reject 回應每個 Access-Request。

RADIUS 會將登入決定傳送到您的閘道。共享金鑰不符合、防火牆阻擋 UDP 1812 或 1813,或是伺服器位址錯誤,都會使訪客在成功登入後仍然離線。

計費請求 (開始)

RFC 2866 中定義的 RADIUS 計費訊息,在工作階段開始時於 UDP 1813 上傳送,帶有 Start 的狀態類型。

登入後在控制器記錄中出現此訊息,可確認閘道已套用 Access-Accept。若登入後沒有計費紀錄,代表 RADIUS 路徑已中斷。

NCSI (網路連線狀態指示器)

Windows 連線檢查機制,會傳送 HTTP 探測至 www.msftconnecttest.com,並解析 dns.msftncsi.com 作為 DNS 檢查,預期接收到文字「Microsoft Connect Test」。

當預驗證 DNS 中斷時,即使 HTTP 正常運作,Windows 筆記型電腦也可能會報告無網際網路連線;而登入後持續顯示「無網際網路」,通常代表閘道仍在使用重新導向探測。

強制入口 API (DHCP option 114)

定義於 RFC 8910,DHCP option 114 讓網路直接向裝置宣播其強制入口 URI,因此裝置無需依賴攔截探測。

最近發布的 iOS 與 macOS 版本均支援此功能,可減少對重新導向的依賴以及隨之而來的故障點。

私人 DNS (DNS over TLS)

一種 Android 設定,當設定特定主機名稱時,會透過連接埠 853 在 TLS 上傳送加密的 DNS 查詢,而非使用一般 DNS。在自動模式下,它會退回使用一般 DNS。

設定嚴格私人 DNS 主機名稱的訪客會看到「無法存取私人 DNS 伺服器」。您必須在驗證前允許連接埠 853,或要求訪客切換為自動模式。

Passpoint 與 OpenRoaming

Passpoint 是基於 Hotspot 2.0 規格建置的產業認證,用於使用儲存的設定檔自動加入網路。OpenRoaming 由無線寬頻聯盟(Wireless Broadband Alliance)營運,用來聯合身分提供者。兩者皆使用 IEEE 802.1X 基於連接埠的網路存取控制以及 WPA2 或 WPA3-Enterprise 加密進行驗證。

它們能讓再次造訪的訪客完全繞過強制入口,因此重複造訪時不會發生重新導向失敗,同時入口仍能處理首次造訪與資料擷取。

範例

一間擁有 1,500 個座位的會議中心在單一 /24 子網路上執行與會者 WiFi,並設定八小時的 DHCP 租約。上午的議程運作正常,但在午餐過後,新到場的與會者顯示已連線但無網際網路,服務台因而重啟了控制器兩次。

診斷的第 1 步發現新裝置取得的是 169.254.x.x 連結本地位址,這指向 DHCP 問題而非強制入口。/24 子網路提供 254 個可用位址,而八小時的租約保留了上午的所有位址,導致位址池耗盡。團隊將與會者 VLAN 移至 /21 子網路,並將租約縮短至 30 分鐘。可用位址從 254 個增加到 2,046 個,約為先前容量的八倍,且離開的與會者位址現在會在 30 分鐘內返回位址池。此修復僅花費一個變更維護時段,且無需新增任何硬體。

在重新設計登入頁面後,一家擁有 200 間客房的飯店收到許多 Android 房客在櫃檯抱怨。強制入口有顯示,但 Google 登入按鈕沒有任何反應。

IT 經理在一台 iPhone、一台 Android 手機和一台 Windows 筆記型電腦上測試了該流程。筆記型電腦上的瀏覽器開發者工具顯示對字型發送網路與 Google 登入網域的請求被封鎖,這兩者皆是因重新設計而新增的。由於強制入口本身可以載入,因此故障出在圍牆花園,而不是探針重新導向。團隊將這兩個網域新增至圍牆花園中。在第一次重新測試時,所有三台測試裝置上的 Google 登入皆順利完成,僅增加了兩個圍牆花園項目,且未進行任何硬體變更。

某零售商在週末更換了 40 家門市的防火牆。到了週一,所有更新門市中的顧客都填寫了登入表單卻保持離線狀態,而尚未更新的門市則運作正常。

診斷的第 5 步檢查了控制器 RADIUS 記錄,發現沒有來自更新門市的計費紀錄,這意味著閘道從未收到 Access-Accept。新的防火牆範本預設拒絕外發的 UDP,封鎖了連接埠 1812 與 1813。團隊在範本中新增了明確的外發規則並推播至所有 40 家門市,所有門市的計費紀錄隨之重新出現。由於僅有更新過的門市失敗,該模式直接指向防火牆範本,而非 WiFi。

練習題

Q1. 在一個擁有 5,000 個座位的場地舉行大型會議期間,IT 團隊收到報告指出有數百名與會者無法存取訪客 WiFi 入口網站。基地台顯示正常的連線數量。問題在活動進行 45 分鐘後開始出現。最可能的起因是什麼?即時的解決方案為何?

提示:問題是在活動開始後發生的,而不是在剛啟動時。請考慮隨著更多裝置加入,哪種資源會變得吃緊。

查看標準答案

最可能的起因是 DHCP 位址池耗盡。隨著與會者抵達並連線至 SSID,DHCP 位址池被填滿。新裝置雖然已與基地台連線,但無法取得 IP 位址,因此永遠不會傳送觸發強制入口所需的 HTTP 探測。即時解決方案是將 DHCP 租約時間縮短至 15 分鐘(更快速地回收已離開裝置的位址),並在可能的情況下新增第二個子網路來擴充位址池。長期的解決方案是在下次活動時,根據最大同時連線裝置數量(而非平均值)來規劃 DHCP 位址池大小。

Q2. 您已在某零售連鎖店的 Ubiquiti UniFi 基地台部署 Purple。快顯網頁在所有裝置上皆能正常載入。訪客填妥電子郵件收集表單並看到成功訊息。但當他們嘗試瀏覽網頁時,卻無法連線至網際網路。Purple 儀表板顯示登入成功。您首先會檢查什麼?

提示:雲端平台已記錄驗證資訊。失敗發生在本機強制執行步驟。

查看標準答案

由於 Purple 的儀表板顯示登入成功,代表雲端身分驗證步驟已順利完成。故障發生在 RADIUS 授權步驟 - UniFi 控制器未收到或未根據來自 Purple 的 RADIUS 伺服器的 Access-Accept 訊息採取行動。請依以下順序檢查:(1) UniFi 控制器上的 RADIUS 共用金鑰與 Purple 儀表板中的金鑰完全一致;(2) 控制器到 Purple 的 RADIUS 伺服器 IP 位址允許通往連接埠 1812 和 1813 的出站 UDP 通訊;(3) 在 UniFi 控制器上設定的 RADIUS 伺服器 IP 位址為最新狀態(Purple 可能已對其進行更新)。在控制器上進行封包擷取,即可確認是否收到 Access-Accept 訊息。

Q3. 某飯店 IT 經理回報,在裝置上使用 VPN 的訪客完全無法存取強制入口。未使用 VPN 的訪客則能正常連線。該飯店使用 Cisco Meraki MX 設備。IT 團隊是否應該修改強制入口設定以配合 VPN 使用者?

提示:思考一下在強制入口進行攔截之前,VPN 對裝置的網路流量會產生什麼影響。

查看標準答案

不需要 - 強制入口設定無須變更。VPN 用戶端會在流量離開裝置前將來自裝置的所有流量加密,其中包括 HTTP 連線能力探測。閘道無法攔截已加密的 VPN 流量,因此絕不會發出 302 重導向。訪客必須停用其 VPN,完成強制入口身分驗證,然後重新啟用 VPN。這是強制入口與 VPN 的基本架構限制,並非設定錯誤。IT 團隊應在訪客 WiFi 說明中新增備註,建議 VPN 使用者在連線前停用其 VPN。

常見問題

Why does the captive portal redirect fail to open automatically on mobile devices?

Mobile operating systems (iOS, Android, Windows) rely on unauthenticated HTTP probes to vendor endpoints (such as captive.apple.com or connectivitycheck.gstatic.com/generate_204). If the network gateway does not intercept port 80 traffic with a clean HTTP 302 redirect, or if DNS queries for those probe domains are dropped before authentication, the Captive Network Assistant (CNA) will not launch.

Why does the 'captive portal login keeps stopping' error occur on Android devices?

The 'captive portal login keeps stopping' error on Android occurs when the system WebView crashes during redirection or when the gateway drops the generate_204 HTTP probe midway through authentication. Clearing the cache of the Android System WebView or Chrome app, disabling randomized MAC addresses for the venue SSID, and navigating manually to an unencrypted HTTP probe address resolves the crash loop.

How do unencrypted HTTP sites like neverssl.com force a captive portal login screen to load?

Because modern browsers enforce HTTP Strict Transport Security (HSTS) on encrypted domains like google.com, wireless gateways cannot intercept HTTPS traffic without triggering browser certificate warnings. Navigating to an unencrypted HTTP destination such as http://neverssl.com or http://1.1.1.1 sends a plaintext request that the gateway can safely intercept with an HTTP 302 redirect to the login splash page.

Why do Android devices show 'Sign into network' errors or fail the generate_204 probe?

Android devices query clients3.google.com/generate_204 and connectivitycheck.gstatic.com. If the wireless controller or walled garden blocks access to Google IP addresses without intercepting the HTTP request with a 302 redirect, Android detects a connection error or assumes an isolated intranet, suppressing the portal prompt. Whitelisting the required probe domains or ensuring transparent HTTP redirection resolves this.

How do you prevent HTTPS certificate warnings when intercepting captive portal traffic?

When a guest browser navigates to an HTTPS domain prior to login, intercepting the TLS handshake triggers severe browser security warnings (such as NET::ERR_CERT_COMMON_NAME_INVALID) due to HSTS and certificate mismatch. Enterprise networks prevent this by leaving HTTPS traffic undisturbed and relying exclusively on plaintext HTTP probe interception to trigger the operating system's native captive portal browser.

What causes RADIUS authentication timeouts during captive portal guest login?

RADIUS timeouts occur when the wireless access point or controller fails to receive a RADIUS Access-Accept packet from the authentication server within the timeout window (typically 5 seconds). Common causes include outbound UDP ports 1812 and 1813 being filtered by perimeter firewalls, mismatched RADIUS shared secrets, or asymmetric routing between the access point and the cloud RADIUS service.

How does RFC 8910 (Captive Portal API) resolve modern captive portal connection issues?

RFC 8910 standardizes captive portal discovery via DHCP Option 114 and IPv6 Router Advertisements. Rather than intercepting DNS queries or HTTP packets, the network directly advertises the captive portal API endpoint URL to connecting client devices. Modern operating systems query this API directly, eliminating HSTS certificate collisions, DNS hijacking latency, and CNA browser rendering bugs.

How does MAC address randomisation affect captive portal reconnection?

iOS 14+ and Android 10+ rotate private MAC addresses periodically or when re-associating with SSIDs. If a guest network tracks sessions solely by physical MAC address, returning visitors are forced to authenticate repeatedly. Enterprise platforms like Purple solve this by tying session authorisation to user identity tokens and Passpoint (Hotspot 2.0) profiles rather than transient hardware MACs.

How does Purple resolve captive portal redirect failures across multi-vendor networks?

Purple operates as a hardware-agnostic cloud overlay across Cisco Meraki, HPE Aruba, Ruckus, Juniper Mist, Fortinet, and UniFi hardware. By automating walled garden configurations, managing trusted SSL redirect domains, and providing high-availability cloud RADIUS clusters with sub-second failover, Purple eliminates captive portal redirect drops and delivers reliable guest onboarding.

對於您的特定設置有任何疑問嗎?

我們的團隊與超過 80,000 個場域的場域營運商、IT 經理和網路工程師合作。立即預約 20 分鐘的通話,我們將向您展示其他與您相似的用戶是如何解決此問題的。