如何在 Starlink 上設定 Captive Portal:航海、運輸與偏遠地區站點指南
本技術指南說明如何繞過 Starlink 原生的 CGNAT 限制,以部署安全且符合 GDPR 規範的訪客 WiFi Captive Portal。內容涵蓋適用於航海、運輸與偏遠企業站點的網路架構、VLAN 劃分以及雲端 RADIUS 整合。
收聽此指南
查看播客逐字稿

執行摘要
Starlink 爲偏遠地區提供高速衛星連線,但其原生的消費級路由器缺乏企業環境所需的安全性、驗證和合規性控制。對於營運海運船舶、偏遠施工營地或交通樞紐的 IT 經理而言,在 Starlink 上佈署 Captive Portal 面臨著一項特定的技術挑戰:Starlink 在電信級網路地址轉換 (CGNAT) 後方運作,這會破壞傳統的輸入 RADIUS 驗證流程。
本指南詳細介紹了如何繞過原生 Starlink 硬體,並使用企業級路由設備整合雲端託管的 Captive Portal。透過實施僅限輸出的雲端 RADIUS 驗證和嚴格的 VLAN 區隔,網路架構師可以提供安全、具備品牌形象且符合法規的 Guest WiFi 體驗,同時隔離關鍵的營運系統。Purple 提供了身分識別管理層來收集第一方數據並執行頻寬配額,確保單一訪客不會佔滿整個衛星上行鏈路。
技術深度剖析
CGNAT 的限制
Starlink 使用 CGNAT 管理其 IPv4 位址空間。您的終端設備與其他訂戶共享一個公用 IP 位址,這意味著您無法接受輸入連線或設定傳統的連接埠轉發。
傳統的本地端 Captive Portal 控制器通常預期接收來自 RADIUS 伺服器的輸入驗證回呼。當佈署在 Starlink 後方時,這些輸入封包會在 CGNAT 邊界被捨棄,從而破壞登入流程。
架構上的解決方案是採用僅限輸出的驗證模型。控制器不再等待輸入請求,而是向雲端原生 RADIUS 伺服器發起安全的輸出通道。Purple 的平台使用由雲端資料庫支援的 FreeRADIUS 伺服器來處理此驗證 [1]。現場控制器將用戶端詳細資訊傳遞給 Purple,Purple 處理登入並透過已建立的輸出連線傳回 Access-Accept 封包,完全繞過了 CGNAT 的限制。

繞過原生硬體
Starlink 路由器提供的是扁平、未管理的網路。它不支援 802.1Q VLAN 標記、單一使用者頻寬限制或企業級驗證。
若要部署 Captive Portal,您必須將 Starlink 路由器從路由路徑中移除。在標準套件上,這需要啟用 Starlink 應用程式中的旁路模式,並使用乙太網路轉接器。對於使用 High Performance 或 Flat High Performance 套件的航海與企業部署,您可以直接將 Starlink 電源供應器連接到企業路由器的 WAN 連接埠。
Purple 與所有主要的企業硬體廠商整合。此架構的標準硬體清單包括 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist 與 Ubiquiti UniFi。這些平台提供了設定 Walled Garden、標記 VLAN 以及將驗證請求轉發至 Purple 雲端 RADIUS 所需的必要功能。
Walled Garden 設定
在使用者進行驗證之前,其裝置必須能夠連線到 Captive Portal 基礎設施。這需要設定 Walled Garden - 允許在驗證前存取的許可網域名稱清單。
當裝置連線到開放式 SSID 時,其內建的 Captive Network Assistant (CNA) 會嘗試連線到預定義的 URL 以檢查網際網路存取 [1]。當此請求被控制器攔截時,CNA 會啟動一個虛擬瀏覽器以顯示 Captive Portal。
您的 Walled Garden 必須允許存取 Purple 的 Splash Page 伺服器、靜態內容傳遞網路 (Cloudfront) 以及任何必要的社群登入端點(例如 Google 或 Microsoft Entra ID)。如果這些網域遭到封鎖,CNA 將無法載入登入頁面,使用者將保持斷線狀態。
實作指南
1. 網路分割
切勿在共用衛星連結上部署扁平網路。您必須使用 VLAN 隔離流量,以保護營運完整性。
對於船隻或遠端站點,請至少實作三個 VLAN:
- VLAN 10 (Guest WiFi): 放置 Captive Portal 的面向公眾網路。套用嚴格的每位使用者頻寬配額(例如:下載 5 Mbps / 上傳 1 Mbps),以防止連結飽和。
- VLAN 20 (員工網路): 供船員或員工使用的安全網路,透過 WPA3-Enterprise 或安全密碼進行驗證。
- VLAN 30 (營運/IoT): 用於船橋導航、SCADA 系統或銷售點終端機的高限制性網路。拒絕來自 VLAN 10 和 VLAN 20 的所有輸入流量。
2. 控制器設定
將您的企業路由器設定為指向 Purple 的 RADIUS 伺服器。
- 設定您的 Purple 入口網站中提供的主要和次要 RADIUS IP 位址。
- 設定共用的 RADIUS 金鑰。
- 將重新導向 URL 設定為您的自訂 Purple Splash Page。
- 輸入載入入口網站所需的 Walled Garden 網域。
3. 處理 SSL 憑證 (Cisco 特定)
如果您部署 Cisco Catalyst 9800 系列控制器,您可能會遇到初始重新導向使用 HTTP 的問題(例如: http://192.168.0.2/login.html)。現代桌面瀏覽器預期使用 HTTPS,並會顯示「您的連線不是安全連線」警告,進而降低使用者體驗 [2]。要解決此問題,您必須在 Cisco WLC 上安裝受公開信任的 SSL/TLS 憑證。請確保控制器上的 Virtual IPv4 Hostname 與憑證中指定的主用名稱 (CN) 一致 [2]。這樣可以確保網頁驗證程式的安全,並符合瀏覽器的安全性需求。
最佳實踐
緩解 macOS CNA 限制
Apple 的 macOS 會限制 CNA 彈出式瀏覽器中的 Cookie。Purple 需要暫時的工作階段 Cookie,才能在整個驗證流程中維持登入歷程 [1]。
當 macOS 使用者連線時,CNA 彈出式視窗會建議他們開啟完整的系統瀏覽器(例如 Safari 或 Chrome)並瀏覽至 neverssl.com [1]。這個純 HTTP 網站可以乾淨地觸發控制器的重新導向,而不會受到 SSL 干擾,進而允許傳送門設定所需的 Cookie 並完成登入。請確保您的支援人員瞭解此行為,以便為使用者提供協助。
頻寬管理
Starlink 提供高頻寬,但頻寬是有限的。單一使用者下載 50 GB 的遊戲更新就可能導致整個場域被限速。
請使用您的企業級控制器來實施每位使用者的速度限制。Purple 的平台可讓您設定資料配額(例如每天 1 GB)和時間限制。一旦使用者達到其配額,Purple 就會透過 RADIUS CoA (Change of Authorization) 撤銷存取權,或者系統會提示使用者購買進階方案。

疑難排解與風險緩解
傳送門無法載入
如果裝置連線時未出現 Captive Portal:
- 檢查 Walled Garden: 確保所有 Purple 網域和社群登入端點都已列入白名單。如果所需的指令碼被封鎖,頁面將會卡住。
- 驗證 DNS: 用戶端裝置必須透過 DHCP 接收有效的 DNS 伺服器,才能解析 Walled Garden 網域。
- 使用 HTTP 進行測試: 開啟瀏覽器並瀏覽至 HTTP 網站(例如 neverssl.com)以強制進行重新導向。
驗證失敗
如果使用者看到傳送門,但在提交詳細資料後無法上網:
- 檢查 RADIUS 可達性: 確保您的企業級路由器可以透過連接埠 1812 和 1813 連線到 Purple 的 RADIUS IP。
- 驗證共用金鑰: 不相符的 RADIUS 金鑰會導致伺服器靜默丟棄封包。
- 確認輸出 NAT: 確保路由器已將 RADIUS 封包的來源 IP 正確轉譯為 Starlink WAN IP。
投資報酬率與商業影響
部署企業級 Captive Portal 可以將 Starlink 從單純的網際網路管道轉變為受控管的商業資產。
對 餐旅業 與 交通運輸 營運商而言,它提供了擷取第一方數據的機制。當每年有高達 4.4 億次登入發生在 Purple 的網路中,場域即可洞察訪客的人口統計特徵、停留時間以及重複造訪頻率。這些數據會直接匯入行銷平台,以帶動忠誠度與營收。
此外,它還能確保合規性。提供開放式 WiFi 卻未取得明確同意,會使組織面臨數據隱私風險。Purple 的 Captive Portal 可擷取有意識選擇的同意加入(opt-in),確保您的網路營運符合 GDPR、CCPA 和 ISO 27001 標準。
參考資料
[1] Purple 支援服務,「Captive Portal」, https://support.purple.ai/hc/en-gb/articles/13856885831069-Captive-Portal [2] Purple 支援服務,「Cisco WLC Captive Portal 憑證設定」, https://support.purple.ai/hc/en-gb/articles/31098410273693-Cisco-WLC-Captive-Portal-Certificate-Setup "
關鍵定義
CGNAT (Carrier-Grade Network Address Translation)
網際網路服務供應商 (ISP) 用於在多個客戶之間共享單一公用 IP 位址的方法。
Starlink 使用 CGNAT,這會阻止 IT 團隊設定連接埠轉發或接受指向本地控制器的入站連線。
Captive Network Assistant (CNA)
嵌入在作業系統(iOS、Android、Windows)中的微型瀏覽器,可偵測網際網路存取何時被封鎖,並自動開啟以顯示登入頁面。
CNA 是當訪客連接到 WiFi 時,在訪客手機上觸發彈出視窗的機制,引導他們前往 Purple 的傳送頁面。
Walled Garden
受限制的網路環境,在使用者通過驗證之前,僅允許存取特定、經核准的網域。
IT 團隊必須將 Walled Garden 設定為包含 Purple 的伺服器和社群登入網域,否則 Captive Portal 將無法載入。
RADIUS (Remote Authentication Dial-In User Service)
一種網路協定,提供集中式的驗證、授權和帳務管理。
Purple 使用雲端託管的 FreeRADIUS 伺服器,在使用者完成傳送頁面流程後,對其進行安全驗證。
VLAN (Virtual Local Area Network)
將一組裝置分組的邏輯子網路,將其流量與同一實體網路上的其他裝置隔離。
對於航海和偏遠地區的部署至關重要,可將不受信任的訪客流量與關鍵的營運系統隔離開來。
Bypass Mode
一種組態設定,用以停用家用路由器的路由與 WiFi 功能,將其轉變為單純的橋接器。
在標準 Starlink 硬體上需要此模式,以便讓企業路由器管理網路並處理 Captive Portal 重導向。
Session Cookie
瀏覽器暫時儲存的一小段資料,用於在特定的瀏覽工作階段中記住狀態。
Purple 需要使用 session cookie 以維持登入狀態。macOS CNA 會阻擋這些 cookie,因此需要重導向至 neverssl.com 等 HTTP 網站。
Change of Authorization (CoA)
一種 RADIUS 擴充功能,允許伺服器動態修改作用中工作階段的授權屬性。
由 Purple 用於在使用者超過其設定的數據配額時,立即撤銷網路存取權限或進行限速。
範例
一家擁有 200 間客房的偏遠生態渡假村安裝了 Starlink 以提供訪客網際網路。在三天內,訪客抱怨網速緩慢,且營運商發現 Starlink 連線遭到限速。IT 團隊該如何解決此問題?
IT 團隊必須繞過原生的 Starlink 路由器,並安裝企業級控制器(例如 HPE Aruba 或 Ubiquiti UniFi)。他們配置了兩個 VLAN:一個給員工使用,另一個給訪客使用。在訪客 VLAN 上,他們部署了 Purple 的 Captive Portal。他們將控制器設定為強制限制每位使用者 5 Mbps 的硬性速度。在 Purple 傳送頁面中,他們設定了每台裝置每天 1 GB 的數據額度。當訪客達到上限時,系統會將其中斷連線,以保留頻寬給其他人。
一家海上渡輪營運商部署了 Starlink。他們使用位於總部的本地 RADIUS 伺服器配置了 Captive Portal。渡輪的本地控制器試圖透過將 RADIUS 請求發送回總部來對訪客進行驗證,但所有登入均告失敗。原因為何?該如何修復?
登入失敗是因為 Starlink 使用 CGNAT,這意味著渡輪沒有專用的公用 IP。如果總部的 RADIUS 伺服器試圖將封包發送回渡輪,或者如果架構依賴於入站連線,則 CGNAT 邊界會丟棄該流量。修復方法是遷移到像 Purple 這樣的雲端原生 RADIUS 架構。渡輪的控制器會向 Purple 的雲端 RADIUS 發起出站連線,完全繞過了 CGNAT 的限制。
練習題
Q1. 您正在遠端零售站點部署 Starlink。您已啟用旁路模式並連接了 Cisco Meraki MX 路由器。使用者連線至訪客 SSID,但從未出現 Captive Portal 頁面,螢幕保持空白。最可能的組態錯誤是什麼?
提示:思考裝置在完成驗證之前需要連線到哪些網域。
查看標準答案
walled garden(圍牆花園)組態不完整或遺失。在驗證之前,裝置必須能夠連線到 Purple 的登入頁面伺服器以及任何相關的內容傳遞網路。如果這些網域未在 Meraki 控制器中加入白名單,Captive Network Assistant 將無法載入頁面。
Q2. 某航運 IT 主管希望使用位於倫敦總部的現有地端 RADIUS 伺服器,來驗證配備 Starlink 的船隻上的船員。為什麼這種架構會失敗?推薦的替代方案是什麼?
提示:思考 Starlink 如何處理公用 IP 位址和輸入路由。
查看標準答案
這會失敗是因為 Starlink 使用 CGNAT,這意味著船隻沒有專用的公用 IP,且無法接受來自倫敦總部的輸入連線。推薦的替代方案是雲端原生 RADIUS 架構,由船隻的本地控制器向雲端 RADIUS 伺服器發起輸出連線,從而規避 CGNAT 限制。
Q3. 某飯店業者反映,使用 Apple MacBook 的房客無法完成登入程序。彈出視窗有出現,但在驗證完成前工作階段就中斷了。Windows 和 Android 使用者則不受影響。支援團隊應該如何引導 MacBook 使用者?
提示:思考 macOS 如何在 Captive Network Assistant 中處理 cookie。
查看標準答案
macOS 不允許在 CNA 瀏覽器工作階段中使用 cookie,而 Purple 需要 cookie 來維持登入狀態。支援團隊應指導 MacBook 使用者開啟完整的系統瀏覽器(如 Safari),並導覽至 HTTP 網站(例如 neverssl.com)。這將能乾淨地觸發重導向並允許設定 cookie。
繼續閱讀本系列
如何在 Starlink 上設定適用於訪客 WiFi 的 Captive Portal
本技術指南說明如何繞過 Starlink 原生的 CGNAT 限制,以部署安全且符合 GDPR 規範的訪客 WiFi 專用 Captive Portal。內容涵蓋遠端場域、海上營運商和活動空間所需的架構、VLAN 劃分以及頻寬管理策略。
Ruijie 的 Captive Portal:搭配 Purple 訪客 WiFi 進行設定
說明 Purple 的雲端訪客 WiFi 如何透過網頁驗證和 RADIUS(自命令列設定)部署於 Ruijie RG 系列基地台之上,以及在哪裡可以找到確切的設定步驟。
設計 B2B Captive Portals:收集註冊姓名與公司資料
本指南為 IT 經理與場域營運商提供了一個與廠商無關的技術框架,用於設計 B2B captive portals。指南詳細說明了如何規劃註冊欄位以擷取註冊姓名和公司資料,在確保高填答率的同時,維持 GDPR 合規性並建立企業帳戶級別的情報。