RADIUS 計費:追蹤會話、使用情況與稽核記錄
本指南提供 RADIUS 計費的全面技術參考——它如何記錄 WiFi 會話的開始、停止與臨時更新資料、擷取了哪些屬性,以及如何運用這些資料進行安全稽核、GDPR 合規與容量規劃。對於需要從 WiFi 驗證事件取得可防禦稽核軌跡的網路營運與安全團隊,以及希望將會話資料整合至 SIEM 平台與分析儀表板的場域營運商而言,這是必讀的內容。
收聽此指南
查看播客逐字稿
![]()
執行摘要
對於企業 IT 與網路營運團隊而言,讓使用者通過 WiFi 網路驗證只是成功的一半。一旦裝置連線後,瞭解該裝置的行為——連線了多久、消耗了多少資料量、何時中斷連線——對於安全性、容量規劃與法規遵循至關重要。這就是 RADIUS 計費 不可或缺的原因。RADIUS 驗證負責處理網路存取的「誰」與「如何」,而 RADIUS 計費則詳實記錄了「什麼」、「何時」與「多少」。
本指南將深入探討 RADIUS 計費的技術細節,涵蓋開始、停止與臨時更新封包的運作機制,以及使其具有價值的屬性。文中將說明 餐旅業 、 零售業 及其他行業的場域營運商如何運用這些資料,維護完善的稽核軌跡、確保 GDPR 合規性,並將可行的情報饋送至 SIEM 平台或 WiFi Analytics 系統。透過精通 RADIUS 計費,網路架構師能將原始會話記錄轉化為策略性資產,提升營運效率並降低風險。
技術深入探討
RADIUS 計費與 RADIUS 驗證的比較
RADIUS(遠端驗證撥入使用者服務)定義於 RFC 2865 ,並在 RFC 2866 中擴充計費功能,採用主從式架構。在常見的企業 WiFi 部署中,存取點(AP)或無線區域網路控制器(WLC)擔任 網路存取伺服器(NAS)——亦即 RADIUS 客戶端。RADIUS 伺服器(例如 FreeRADIUS、Cisco ISE、Aruba ClearPass)則接收並處理請求。
驗證與計費之間的區別至關重要:
| 維度 | RADIUS 驗證 | RADIUS 計費 |
|---|---|---|
| 目的 | 驗證身分並授與/拒絕存取 | 記錄會話使用情況與活動 |
| UDP 連接埠 | 1812 | 1813 |
| RFC 參考 | RFC 2865 | RFC 2866 |
| 封包類型 | Access-Request、Access-Accept、Access-Reject | Accounting-Request(開始/停止/臨時) |
| 擷取資料 | 憑證、VLAN 指派、策略 | 會話時間、傳輸位元組數、IP 位址 |
| 合規性角色 | 存取控制 | 稽核軌跡、合法攔截 |
對於大規模部署 Guest WiFi 的團隊而言,這兩項功能都是必要的——但計費功能才是確保合規性與防禦能力的關鍵。
三種計費封包類型
RADIUS 計費仰賴三種主要的 Accounting-Request 封包類型,各自以 Acct-Status-Type 屬性定義:
開始(Acct-Status-Type = 1):當使用者成功連線並建立會話時,由 NAS 發送。此封包會在計費資料庫中建立基準記錄,擷取使用者身分、裝置 MAC 位址、指派的 IP 位址,以及使用者連線的 AP。
臨時更新(Acct-Status-Type = 3):在活躍會話期間定期發送。這些封包提供當前用量的執行快照——傳輸的位元組數、會話持續時間與封包計數。它們如同心跳般確認會話依然存在,並提供對長時間運作會話的可見性,無需等待中斷連線。
停止(Acct-Status-Type = 2):當會話終止時發送——可能是使用者主動中斷連線、AP 重新啟動、閒置逾時或會話逾時。其中包含整個會話的最終累計統計資料。
![]()
圖 1:RADIUS 計費封包在 WiFi 會話生命週期中的流程。
關鍵計費屬性
為了有效追蹤會話並建立可防禦的稽核記錄,NAS 會將特定屬性填入 Accounting-Request 封包中。以下是最具營運重要性的屬性:
| 屬性 | 說明 | 合規關聯性 |
|---|---|---|
| Acct-Session-Id | NAS 產生的唯一會話識別碼 | 作為關聯開始、臨時與停止記錄的主要索引鍵 |
| User-Name | 已驗證的身分(使用者名稱或 MAC 位址) | 將會話對應至特定使用者或裝置 |
| NAS-IP-Address | 回報 AP 或 WLC 的 IP 位址 | 識別網路區段與實體位置 |
| Framed-IP-Address | 指派給客戶端裝置的 IP 位址 | 與防火牆及網頁代理記錄進行關聯時至關重要 |
| Calling-Station-Id | 客戶端裝置的 MAC 位址 | 稽核軌跡中的裝置層級身分 |
| Called-Station-Id | AP 的 MAC 位址及 SSID | 識別使用者連線的特定無線電與網路 |
| Acct-Input-Octets | 從客戶端接收的位元組數 | 頻寬監控與容量規劃 |
| Acct-Output-Octets | 傳送給客戶端的位元組數 | 頻寬監控與容量規劃 |
| Acct-Session-Time | 會話持續時間(秒) | 停留時間分析與計費 |
| Acct-Terminate-Cause | 會話結束的原因 | 故障排除與異常偵測 |
對於使用 802.1X Authentication 的團隊,User-Name 屬性將包含來自 EAP 交換的已驗證身分,提供比單純 MAC 驗證旁路(MAB)更豐富的稽核軌跡。
實作指南
部署可靠的 RADIUS 計費基礎架構,需要同時在 NAS 與 RADIUS 伺服器層級進行謹慎的設定。以下是建立可靠計費管線的跨廠商方法。
步驟 1:設定 NAS(存取點/控制器)
NAS 設定是多數部署失敗的關鍵所在。管理員通常會正確設定驗證,但卻讓計費維持預設設定或完全停用。
- 定義計費伺服器:指定 RADIUS 伺服器的 IP 位址,以及用於 UDP 連接埠 1813 的共用密鑰。在高可用性部署中,請設定次要計費伺服器,避免主要伺服器無法連線時造成資料遺失。
- 啟用臨時更新:這是最重要的一項設定步驟。設定適當的間隔——企業部署通常為 10 至 15 分鐘。較短的間隔(例如 1 分鐘)可提供更細微的資料,但會在大規模環境中產生難以承受的寫入負載;較長的間隔(例如 30 分鐘)則可減少負荷,但會延遲對活躍會話的可見性。
- 確保時間同步:在所有 NAS 裝置與 RADIUS 伺服器上設定 NTP。準確的時間戳記對於稽核記錄與 SIEM 關聯而言是不可或缺的。在合法攔截情境下,5 分鐘的時鐘誤差就可能使整條稽核軌跡失效。
步驟 2:設定 RADIUS 伺服器
- 資料庫整合:將 RADIUS 伺服器設定為將計費資料記錄至結構化的關聯式資料庫(例如 PostgreSQL、MySQL),而非純文字檔案。結構化儲存可實現高效的查詢、索引,以及與下游系統的整合。請確保在
Acct-Session-Id、User-Name、Framed-IP-Address以及會話開始時間戳記上建立索引。 - 資料保留政策:根據合規要求,實作自動化歸檔或清除指令碼。GDPR 第 5(1)(e) 條要求資料保存期限不得長於必要時間;然而,許多司法管轄區的合法攔截法規(如英國《2016 年調查權力法》)可能要求保留長達 12 個月。
步驟 3:建立資料管線
為了最大化計費資料的價值,必須將其匯出至消費平台,以便進行查詢、關聯與視覺化呈現。
- SIEM 整合:設定 RADIUS 伺服器或底層資料庫,透過 Syslog 或 REST API 將記錄轉送至您的 SIEM(例如 Splunk、Microsoft Sentinel、IBM QRadar)。這讓安全團隊能將 WiFi 驗證事件與防火牆封鎖、入侵偵測警示或資料外洩防護觸發條件進行關聯。
- 分析整合:將會話資料饋送至 Purple 的 WiFi Analytics 等平台,將原始位元組與 MAC 位址轉化為關於人流、停留時間與尖峰用量時段的可行見解。這對於需要將人力配置與基礎架構投資對齊實際使用模式的 零售業 與 餐旅業 營運商特別有價值。
![]()
圖 2:從存取點到 SIEM 與分析平台的 RADIUS 計費資料管線。
最佳實務
永遠使用臨時更新。 僅依賴開始與停止封包會造成營運盲點。中斷的連線或 AP 電源故障可能導致停止封包從未被發送,使過時會話無限期停留在資料庫中。臨時更新提供了偵測並關閉這些過時會話的機制。經驗法則:如果某個會話在超過設定的間隔的兩到三倍時間內未發送臨時更新,就應視為已終止。
將 RADIUS 計費與 DHCP 記錄進行關聯。 RADIUS 計費提供 Framed-IP-Address,但在某些環境中,DHCP 租期可能短於會話長度。同時維護 DHCP 記錄與 RADIUS 記錄可提供更具復原力的稽核軌跡,特別是在 IP 位址頻繁回收的高密度場域中。
使用 RadSec 保護傳輸。 傳統 RADIUS 流量透過 UDP 傳輸,僅有最低限度的加密——僅使用者密碼欄位經過混淆處理。在分散式部署中,特別是跨多個站點或雲端託管 RADIUS 伺服器的環境,請使用 RadSec(基於 TLS 的 RADIUS,定義於 RFC 6614)或 IPsec 隧道來保護傳輸中的計費資料。對於處理持卡人資料的任何網路,這是 PCI DSS 4.0 的要求。
監控計費佇列。 若 RADIUS 伺服器無法連線,NAS 裝置會將計費封包暫存於本機佇列。監控此佇列長度;佇列滿載將導致封包遺失,並喪失稽核資料。請對佇列深度設定警報,並為高可用性部署實作次要計費伺服器。
大規模環境中分離驗證與計費伺服器。 在超過 5,000 個同時上線使用者的部署中,計費的寫入負載可能會降低驗證的回應時間。使用獨立的伺服器執行個體與資料庫實例的專用計費伺服器,可避免此資源競爭。
故障排除與風險緩解
過時會話問題
症狀:RADIUS 資料庫顯示某位使用者已連線 48 小時,但場館夜間已關閉。
根本原因:NAS 未能發送停止封包——通常是電源故障、AP 重新啟動或網路中斷所致——且該封包從未被 RADIUS 伺服器接收。
緩解措施:在 RADIUS 伺服器上實作過時會話清除指令碼。該指令碼應定期掃描活躍會話,其中最後接收封包(開始或臨時更新)的時間早於定義的閾值(例如,臨時更新間隔的 2.5 倍)。超過此閾值的會話應強制關閉,並產生一個合成的停止記錄,終止原因註記為「Lost-Carrier」或「Admin-Reset」。
RADIUS 伺服器 CPU 與 I/O 負載過高
症狀:尖峰時段驗證回應時間惡化;RADIUS 伺服器回報高 CPU 與磁碟 I/O。
根本原因:跨數千台 AP 的過度頻繁臨時更新間隔(例如 1 分鐘),產生了難以承受的資料庫寫入量。
緩解措施:將臨時更新間隔增加至 15 分鐘。確認計費資料庫已建立適當的索引。考慮將驗證與計費功能分離至獨立的伺服器執行個體。評估時序資料庫(例如 InfluxDB)是否比關聯式資料庫更適合處理高容量的計費資料。
計費記錄中缺少 Framed-IP-Address
症狀:存在 RADIUS 計費記錄,但 Framed-IP-Address 欄位為空白或不存在,導致無法進行 IP 與 MAC 的關聯。
根本原因:NAS 可能在 DHCP 尚未指派 IP 位址給客戶端之前,就發送了開始封包。IP 位址僅在 DHCP 交換完成後才可用。
緩解措施:若平台支援,請設定 NAS 延遲發送開始封包,直到 DHCP 指派完成。另一種方式是依賴臨時更新封包,這些封包在 DHCP 指派後發送,且會包含 Framed-IP-Address。請確保您的稽核查詢能處理此情況,若開始記錄缺少 IP,則檢查臨時更新記錄。
ROI 與商業影響
實作完善的 RADIUS 計費功能,可在三個面向帶來可衡量的商業價值:
合規性與法律風險緩解。 在發生安全事件、收到根據 GDPR 提出的資料主體存取要求,或接獲合法攔截命令時,準確的計費記錄能提供必要的稽核軌跡,以識別在特定時間持有特定 IP 位址的使用者或裝置。若缺乏此功能,組織將面臨 GDP3 下的潛在監管罰款(最高可達全球年營業額的 4%)與聲譽損害。導入適當計費基礎架構的成本,僅是一次監管執法行動成本的極小部分。
容量規劃與基礎架構 ROI。 透過分析 Acct-Input-Octets 與 Acct-Output-Octets 的長期趨勢,網路架構師可識別頻寬消耗模式、尖峰用量時段,以及驅動最高負載的特定 AP 或 SSID。這些資料能直接影響 WAN 升級決策與 AP 佈署策略,確保基礎架構投資能導向最具影響力的地方。對於 交通運輸 樞紐與大型場館而言,這可能代表顯著的資本支出節省。
增強分析與場域智慧。 當 RADIUS 會話資料與 Purple 的 WiFi Analytics 及 Sensors 等平台結合時,原始的計費資料便轉化為場域智慧。從會話持續時間推導出的停留時間指標、從 Calling-Station-Id 歷史記錄識別的重複訪客,以及從並行會話數分析得出的尖峰佔用率,全都變得唾手可得。對於 餐旅業 營運商而言,這類資料能直接影響人力配置模型、餐飲配置與行銷個人化策略。關於 WiFi 基礎架構如何支撐這些功能的進一步脈絡,請參閱我們關於 無線存取點 與 現代餐旅 WiFi 解決方案 的指南。
關鍵定義
RADIUS 計費
收集並記錄使用者網路資源消耗資料的過程,包括會話開始與結束時間、傳輸的資料量,以及 IP 位址指派。定義於 RFC 2866。
在任何企業 WiFi 部署中,對於計費、容量規劃、GDPR 合規以及維護安全稽核軌跡至關重要。
Acct-Status-Type
一個 RADIUS 屬性(屬性 ID 40),指示計費封包的目的。值包括開始(1)、停止(2)與臨時更新(3)。
RADIUS 伺服器用於判斷應建立新的會話記錄、更新現有記錄,或是關閉記錄。任何計費封包中最基本的屬性。
臨時更新
NAS 在活躍會話期間定期發送的 RADIUS 計費封包,用於回報當前使用統計資料,包括傳輸的位元組數與會話持續時間。
對於追蹤長時間運作的會話,以及在客戶端未預期中斷連線而未發送停止封包時偵測過時會話至關重要。
Acct-Session-Id
由 NAS 產生的唯一字串,用於識別特定的使用者連線實例。此值在同一會話的所有計費封包(開始、臨時更新、停止)中保持一致。
用於關聯所有屬於同一會話的計費記錄的主要索引鍵。若無此屬性,將無法重建完整的會話歷史。
NAS(網路存取伺服器)
控制網路實體存取並擔任 RADIUS 客戶端的裝置——通常是無線存取點或無線區域網路控制器——負責產生與發送計費封包。
NAS 負責計費資料的準確性與完整性。NAS 層級的設定錯誤(例如停用計費、缺少屬性)無法在 RADIUS 伺服器層級補救。
Framed-IP-Address
在會話期間指派給客戶端裝置的 IP 位址,包含於 RADIUS 計費封包中。
對於將 RADIUS 計費記錄與其他網路記錄(如防火牆、網頁代理或 DNS 記錄)進行關聯至關重要。缺少此屬性將無法進行 IP 與裝置的關聯。
Calling-Station-Id
通常為連線至網路的客戶端裝置的 MAC 位址,格式為以冒號分隔的十六進位字串(例如 AA:BB:CC:DD:EE:FF)。
用於識別特定硬體裝置,無論其被指派何種 IP 位址。是稽核軌跡的裝置層定錨點。
Acct-Terminate-Cause
包含在停止封包中的屬性,指定會話結束的原因。常見值包括 User-Request、Lost-Carrier、Idle-Timeout、Session-Timeout 與 Admin-Reset。
對於故障排除連線問題與異常偵測很有價值——例如,特定 AP 上出現高比率的 Lost-Carrier 終止,可能表示硬體或干擾問題。
RadSec
基於 TLS(傳輸層安全性)的 RADIUS,定義於 RFC 6614。為 RADIUS 封包提供加密與驗證的傳輸,取代傳統的 UDP 傳輸方式。
在任何 RADIUS 流量經過不可信賴網路(例如網際網路連線的雲端 RADIUS 伺服器)的部署中,此為必要條件。對於持卡人資料環境,PCI DSS 4.0 日益強制要求採用。
範例
一家擁有 300 間客房及會議設施的飯店,正在部署新的訪客 WiFi 網路。IT 經理需要確保此部署符合 GDPR 的資料最小化與稽核軌跡完整性要求,同時也要提供行銷團隊停留時間與重複訪客的分析。該飯店使用雲端託管的 RADIUS 伺服器與 Cisco Meraki AP。
部署應按照以下方式設定。在 Meraki 儀表板上,導覽至 Network-wide > RADIUS 伺服器,並在連接埠 1813 上新增雲端 RADIUS 伺服器,使用強式共用密鑰。啟用計費功能,並將臨時更新間隔設定為 15 分鐘。在 RADIUS 伺服器上,設定計費資料寫入至 PostgreSQL 資料庫,採用下列綱要:session_id(主鍵)、user_name、nas_ip、framed_ip、calling_station_id、called_station_id、session_start、session_end、input_octets、output_octets、terminate_cause。實施資料保留政策,自動將超過 12 個月的記錄歸檔至冷儲存,並清除超過 24 個月的記錄,並記錄在飯店的 GDPR 處理活動登錄中。設定 Purple WiFi Analytics 整合以擷取會話資料,使行銷團隊能夠存取停留時間報告與重複訪客頻率儀表板。確保所有 Meraki AP 與 RADIUS 伺服器的 NTP 同步在 1 秒內。
一家擁有 150 間門市的零售連鎖店需要符合 PCI DSS 4.0 的網路存取監控要求。其銷售點終端在 WiFi 網路上使用 MAC 驗證旁路(MAB)。安全團隊收到 QSA(合格安全評估員)的要求,需證明他們能僅憑防火牆記錄中的來源 IP 位址與時間戳記,識別出在特定時間存取支付網路的特定 POS 終端。
解決方案需包含三部分的整合。首先,確認所有無線區域網路控制器已設定為在 RADIUS 計費封包中包含 Framed-IP-Address 屬性。此設定預設通常未啟用,必須明確設定。其次,將 RADIUS 計費資料庫與 SIEM 平台(例如 Splunk)整合。在 Splunk 中建立查核表,將 Framed-IP-Address 與會話時間範圍對應至 Calling-Station-Id(MAC 位址)。第三,在 Splunk 中建立一個已儲存的搜尋,接受來源 IP 與時間戳記作為輸入,並從 RADIUS 計費記錄中傳回對應的 MAC 位址、NAS-IP-Address(識別門市與 AP),以及 User-Name。然後可以向 QSA 演示此工作流程:給定一個防火牆記錄條目顯示來源 IP 10.5.12.44 在特定日期的 14:23:07,搜尋將回傳該 POS 終端的 MAC 位址、其連線的 AP,以及門市位置。
練習題
Q1. 一家飯店的 IT 經理注意到,WiFi 分析儀表板白天顯示的活躍使用者極少,儘管大廳與餐廳明顯有相當多的人。然而,前一天的歷史報告卻顯示龐大的資料用量高峰。RADIUS 伺服器記錄證實已收到開始封包,但資料庫中幾乎沒有臨時更新記錄。最可能的設定錯誤是什麼?您會如何解決?
提示:思考活躍會話期間的資料用量回報方式,與中斷連線時的差異。
查看標準答案
最可能的原因是無線區域網路控制器上未啟用或設定臨時更新。若無臨時更新,RADIUS 伺服器僅在使用者連線時收到開始封包,並在中斷連線時收到停止封包。因為沒有會話中的資料被回報,分析儀表板無法顯示當前用量。一旦使用者離開並中斷連線,停止封包連同累計的總資料量抵達,導致歷史報告中的延遲高峰。解決方案是在 WLC 上啟用臨時更新,並設定適當的間隔——飯店環境建議為 15 分鐘。啟用後,透過檢查計費資料庫中 Acct-Status-Type = 3 的記錄,驗證 RADIUS 伺服器是否收到臨時更新封包。
Q2. 在一次安全事件調查中,您的 SIEM 標註了訪客 WiFi 網路上的一個 IP 位址,在特定日期的 09:47:23 存取了已知的命令與控制伺服器。您需要識別出負責的實體裝置。您的 DHCP 租期設定為 30 分鐘。請描述您將對 RADIUS 計費資料庫執行的確切查詢邏輯,以識別該裝置。
提示:IP 位址非靜態。您必須使用時間範圍查詢,而非時間點查詢,並考量 DHCP 租約回收。
查看標準答案
您必須查詢 RADIUS 計費資料庫,尋找符合以下條件的會話:(1) Framed-IP-Address 等於標記的 IP 位址,且 (2) session_start 時間戳記早於或等於 09:47:23,且 (3) session_end 時間戳記晚於或等於 09:47:23,或 session_end 為 NULL(查詢時會話仍在進行)。若有多個會話符合(在 30 分鐘 DHCP 租期下可能發生),請檢閱臨時更新記錄,確認哪個會話在 09:47:23 時仍在活躍回報用量。相符的會話記錄將包含 Calling-Station-Id(裝置的 MAC 位址)與 User-Name(若使用 802.1X,則為已驗證身分)。將 MAC 位址與您的裝置庫存或 DHCP 伺服器記錄進行交叉比對,以識別實體裝置及其擁有者。
Q3. 您是會議中心的網路架構師,該中心舉辦的活動可容納高達 8,000 個同時連線的 WiFi 使用者。您目前的 RADIUS 伺服器在尖峰活動期間遭遇資料庫寫入飽和,導致驗證延遲 3-5 秒。您目前的臨時更新間隔設定為 2 分鐘。請描述一個多步驟的修復計劃,同時處理立即的效能問題與背後的架構風險。
提示:同時考量設定變更與架構變更。目標是維持稽核軌跡完整性,同時降低寫入負載。
查看標準答案
修復計劃應處理三個層面。首先,作為立即修正措施,將所有無線控制器上的臨時更新間隔從 2 分鐘增加至 15 分鐘。這大約可將計費寫入負載降低 87%(每會話從每 2 分鐘一次寫入降為每 15 分鐘一次),應能立即緩解資料庫 I/O 壓力。其次,將驗證與計費工作負載分離至專用伺服器執行個體。驗證伺服器處理 Access-Request/Accept/Reject 封包,而專用計費伺服器處理 Accounting-Request 封包,並寫入獨立的資料庫。這可防止計費寫入負載影響驗證回應時間。第三,針對底層架構風險,評估時序資料庫(例如 InfluxDB 或 TimescaleDB)是否比關聯式資料庫更適合計費工作負載。時序資料庫經過最佳化,適合高容量的連續寫入與時間範圍查詢,這恰好符合計費資料的模式。將計費寫入遷移至時序資料庫,同時保留關聯式資料庫用於合規報告查詢。
繼續閱讀本系列
乘客 WiFi:運輸業者如何運用 WiFi 數據理解旅程
本技術指南說明運輸業者如何運用乘客 WiFi 基礎設施來擷取營運分析數據。內容涵蓋技術架構、部署最佳實務,以及用於量測人流、停留時間和旅程模式的實際應用案例。
WiFi 如何提升醫院病患體驗
這份權威的技術指南說明醫院如何利用企業級訪客 WiFi 基礎架構與分析來可衡量地改善住院病患體驗。內容涵蓋網路架構、合規要求(HIPAA、DSPT、GDPR)、Captive Portal 設計、室內導航整合,以及 ROI 架構——為 IT 決策者提供建立具說服力的內部商業案例並成功執行的工具。
如何利用WiFi為零售顧客提供個人化體驗
本技術參考指南概述零售業IT和營運團隊如何利用現有的訪客WiFi基礎設施,提供個人化、基於位置的顧客體驗。內容涵蓋架構、數據擷取、CRM整合與合規性,展示如何將匿名客流轉化為可據以行動的第一方數據。