跳至主要內容

OpenWrt 與訪客 WiFi:使用 Purple 設定 Captive Portal

了解 Purple 的雲端訪客 WiFi 如何透過標準外部 captive portal 與 RADIUS 與 OpenWrt 裝置協同運作,以及在何處確認支援與尋找步驟。

📖 2 分鐘閱讀📝 88 字數📚 5 關鍵定義

收聽此指南

查看播客逐字稿
[0:00 - 1:00] 簡介與背景 歡迎收看 Purple 技術簡報。我是您的主持人,在接下來的十分鐘內,我們將深入剖析 OpenWrt 自訂韌體與 Purple WiFi 的整合。如果您是正在餐旅、零售或公共部門環境中部署自訂韌體的 IT 經理、網路架構師或 CTO,本簡報專為您而設計。我們將拋開學術理論,為您提供配置 CoovaChilli、使用 802.1X 保護員工網路,以及使用 Private Pre-Shared Keys 進行多租戶環境分割的精確指南。 為什麼這很重要?因為部署像 OpenWrt 這樣的自訂韌體能為您帶來極佳的靈活性和硬體獨立性。但如果沒有結構化、身分導向的存取控制層,這種靈活性就會變成安全隱患。您需要安全地收集第一方數據、強制執行 GDPR 合規性,並可靠地進行流量分割。讓我們進入技術深潛。 [1:00 - 6:00] 技術深潛 OpenWrt 整合的核心依賴於 CoovaChilli。CoovaChilli 是一款開源存取控制器,可攔截未驗證的用戶端流量並將其重導向至 Purple Captive Portal。當訪客連線到您的開放式 SSID 時,CoovaChilli 會扮演守門人的角色。它透過在 tun0 介面上執行的內部 DHCP 伺服器分配 IP 位址,並阻擋除您在圍牆花園(walled garden)中明確允許的流量以外的所有流量。 當訪客嘗試瀏覽時,CoovaChilli 會攔截 HTTP 請求並向 Purple 歡迎頁面發送重導向。這時,圍牆花園的配置至關重要。在您的 chilli.conf 檔案中,您必須定義 HS_UAMDOMAINS 參數。這是一個以逗號分隔的網域列表,訪客在授權之前可以造訪這些網域。您必須包含 splash.purple.ai、api.purple.ai 以及我們用於提供入口網站素材的各個 CDN 網域。如果您遺漏了某個網域,入口網站將無法載入,或者社群登入按鈕將失效。就這麼簡單。 一旦訪客在 Purple 入口網站上完成授權,Purple 的雲端 RADIUS 伺服器就會透過 UDP 連接埠 1812 向 CoovaChilli 回傳 Access-Accept 訊息。接著,CoovaChilli 會授權該 MAC 位址、開啟該工作階段的防火牆規則,並開始在 UDP 連接埠 1813 上傳送計費數據。計費功能並非可有可無。Purple 正是透過此功能來追蹤工作階段持續時間和數據使用量,以呈現於您的分析儀表板中。 現在,我們來談談員工 WiFi。您不應該為員工使用 CoovaChilli。對於員工網路,您應使用 hostapd 搭配 WPA2-Enterprise 或 WPA3-Enterprise。這是標準的 802.1X 驗證。存取點作為驗證器,將 EAP 訊息轉發到您的 RADIUS 伺服器。對於企業裝置,您應該部署使用數位憑證而非密碼的 EAP-TLS。這能完全杜絕憑證竊取。您需要配置 hostapd.conf 以指向您的 RADIUS 伺服器,而 RADIUS 伺服器會決定該特定使用者的 VLAN 分配。 這帶我們來到了現代 OpenWrt 部署中最強大的功能之一:個人預共享金鑰(PPSK)。在多租戶環境中 - 例如專用租賃住宅或共享工作空間 - 您不會希望廣播五十個不同的 SSID。這會破壞您的空中傳輸時間(airtime)效率。相反地,您只需廣播一個 SSID。當設備連接時,hostapd 會將 MAC 位址傳送到 RADIUS 伺服器。RADIUS 伺服器會使用 Tunnel-Password 屬性,回應該設備特定的密碼和特定的 VLAN ID。 這意味著商店 A 的零售員工會被分配到 VLAN 10,而主廳的活動參加者則會被分配到 VLAN 30,且全部都連接到完全相同的 SSID。這非常優雅、具備擴充性,並在邊緣落實了最小權限存取。 [6:00 - 8:00] 實作建議與常見陷阱 讓我們來討論實作。當部署 OpenWrt 搭配 Purple 時,您的第一步一律是從 Purple 傳送門中取得您的 RADIUS 憑證。您需要主要和次要的 RADIUS IP 位址、共享秘密(shared secret)以及傳送門 URL。 在您的 OpenWrt 設定中,您將定義您的訪客網路介面 - 通常是 eth1 或 wlan0 - 並將 CoovaChilli 綁定到該介面。請確保 chilli.conf 中的 HS_RADSECRET 與 Purple 傳送門中的內容完全一致。單一字元的錯誤都會導致無聲的驗證失敗。 我們看到最大的陷阱是驗證前的 DNS 解析。CoovaChilli 會攔截 DNS 請求。如果您的上游防火牆阻止了 OpenWrt 路由器解析外部 DNS,Captive Portal 重新導向將會失敗。請確保您的 OpenWrt 路由器擁有不受限制的 DNS 存取權限,以連接到 Google 或 OpenDNS 等公共解析器。 另一個常見問題是內建於 iOS 和 Android 的 Captive Portal 偵測機制。Apple 設備會連線到 captive.apple.com 以檢查網際網路連線。如果您在圍牆花園(walled garden)中將 captive.apple.com 列入白名單,設備會認為它已連接網際網路,因而不會彈出 Captive Portal 網路助理。如果您想要自動彈出,請將 Apple 的網域排除在圍牆花園之外。 [8:00 - 9:00] 快速問答 讓我們進行快速問答。 問題一:我可以在同一個 OpenWrt 無線基地台上運行 CoovaChilli 和 hostapd 802.1X 嗎?是的。您將 CoovaChilli 綁定到您的訪客 SSID 介面,並在您的員工 SSID 介面上設定帶有 802.1X 的 hostapd。它們會獨立運作。 問題二:Purple 是否支援 OpenWrt 的動態 VLAN 分配?是的。Purple 的 RADIUS 伺服器可以傳回標準 RADIUS 屬性,包括 Tunnel-Type、Tunnel-Medium-Type 和 Tunnel-Private-Group-ID,指示 OpenWrt 將通過驗證的使用者分配到特定的 VLAN。問題三:如果 OpenWrt 路由器與 Purple RADIUS 伺服器失去連線會怎麼樣?CoovaChilli 將無法驗證新的工作階段。已授權的現有工作階段將保持作用中,直到其工作階段逾時失效為止。請務必設定次要 Purple RADIUS 伺服器以確保高可用性。 [9:00 - 10:00] 摘要與後續步驟 簡而言之:OpenWrt 為企業 WiFi 提供了一個強大且不受硬體限制的平台。透過整合用於訪客存取的 CoovaChilli,以及用於安全員工和多租戶 PPSK 的 hostapd,您便能構建一個以身份為基礎的網路。Purple 簡化了 RADIUS 基礎架構的複雜性,提供一個雲端管理的入口網站,可收集第一方數據並確保合規性。 您的下一步是稽核目前自訂韌體的部署情況。請確保您的 walled garden 已完全設定、驗證您的 RADIUS 計費間隔,並開始規劃從共用 PSK 移轉到動態 PPSK 區隔。 感謝您收聽 Purple 技術簡報。欲瞭解更多關於 Purple 如何保護您的訪客 WiFi 並實現其商業價值的資訊,請造訪 purple.ai。我們下次見。

OpenWrt 是一款開源韌體,運行於各種路由器和基地台。Purple 在此基礎上增添了訪客層:包括您的訪客看到的 captive portal、登入流程以及您收集的第一方數據。它並不會取代您的硬體或韌體。

OpenWrt 如何與 Purple 訪客 WiFi 協同運作

Purple 是一個雲端重疊(cloud overlay)網路,且與硬體無關(hardware-agnostic)。如果您的裝置支援外部 captive portal 與 RADIUS,它就能運行 Purple 的訪客登入。兩個標準機制負責這項工作。

  • 外部網頁認證。 裝置會將新裝置重定向到您的 Purple 宣傳頁面,而不是立即授予存取權限。訪客登入後,該頁面會將控制權交還。
  • RADIUS。 裝置會透過標準連接埠(認證使用 1812,計費使用 1813)對照 Purple 的 RADIUS 服務檢查每次登入。計費數據正是支援您訪客分析的基礎。

圍牆花園(walled garden,即裝置在登入前可存取的簡短允許列表)能讓宣傳頁面載入,並完成任何付款或社群登入步驟。

這就是完整的模式:您的硬體傳輸封包,Purple 擁有登入與數據。因為它運行於標準網頁認證與 RADIUS,所以不論是在 Cisco Meraki、HPE Aruba、Ruckus、Juniper Mist、Ubiquiti UniFi、Cambium、Extreme 或 Fortinet 上的運作方式都完全相同。Purple 在設計上即與硬體無關。

您需要準備什麼

  • 一台支援外部 captive portal 與 RADIUS 的 OpenWrt 裝置。
  • 一個已設定好宣傳頁面與登入流程的 Purple 場域。
  • 來自您 Purple 控制台的 Purple RADIUS 詳細資訊與圍牆花園位址。

使用 Purple 進行設定

不論您的具體型號是否受支援,以及要使用的設定,都已在 Purple 的受支援硬體列表中確認。請先在該處檢查您的裝置,然後按照對應的設定指南輸入精確的數值。

Purple 支援的硬體

此頁面解釋了各個部分如何協同工作,以便您了解每個步驟的作用。

您的收穫

一旦訪客透過 Purple 登入,每次造訪都會轉化為經過驗證、自願勾選同意的第一方數據:誰造訪過、頻率如何,以及如何在獲得許可的情況下與他們聯繫。這就是單純連接大眾的 WiFi 與建立您專屬行銷受眾的 WiFi 之間的區別。Purple 符合 GDPR 規範並通過 ISO 27001 認證,在超過 80,000 個線上場域中提供 99.999% 的正常執行時間。

關鍵定義

雲端重疊 (Cloud overlay)

Purple 部署在您現有的硬體之上。該套件繼續運行 WiFi;Purple 則負責運行訪客登入與數據,無需更換任何設備。

與硬體無關 (Hardware-agnostic)

Purple 可與任何支援外部 captive portal 和 RADIUS 的基地台或控制器協同工作,而不會被綁定在單一廠商。

外部網頁認證 (External web authentication)

一種標準規範,由基地台將新裝置重定向到外部宣傳頁面進行登入,而不是由基地台本身授予存取權。Purple 託管該宣傳頁面。

RADIUS

硬體用於向 Purple 檢查每次登入並記錄工作階段數據的協定,使用標準連接埠 1812 進行認證和 1813 進行計費。

圍牆花園 (Walled garden)

裝置在登入前可存取的簡短允許列表,以便載入宣傳頁面以及任何付款或社群登入步驟。