文/江涌
支持IPv6的認證計費
文/江涌
采用802.1x協議和基于網關認證相結合的二次認證,能利用兩種技術的優點克服各自的缺點。本文采用二次認證,采用了基于鏈路聚合的負載均衡、認證系統從計費網關分離的分布式模塊化設計,并且核心認證網關工作在數據鏈路層,對整個網絡來說是一個透明網關。
在校園網認證計費管理中,目前主要采用PPPoE、802.1x、基于網關的認證、二次認證等認證技術。PPPoE在組播等應用方面有一定的限制,并且在組網時不能跨越三層網絡設備,不太適合于校園網的組網環境?;诰W關的認證方式具備控制精確、計費方式靈活、部署方便等優點,但網關設備需部署在網絡出口,對設備可靠性要求高,易形成網絡帶寬瓶頸和單點故障,同時對用戶的接入控制能力和安全性都比較差,用戶接入控制只能靠其他二層設備解決,加重了網絡管理負擔。 802.1x能實現安全接入控制,其缺點是不同廠家采用不同的實現,不同廠家設備不兼容,并且很難做到按流量計費。
采用802.1x協議和基于網關認證相結合的二次認證,能利用兩種技術的優點克服各自的缺點。本文采用二次認證,具體描述二次認證中網關認證部分,計費網關工作在數據鏈路層,依靠鏈路聚合實現負載均衡和故障切換,支持IPv4、IPv6統一認證。
系統概述
目前很多高校都有多個出口鏈路,一般都采用多個出口從一個出口路由器接出的方式,參見圖1。如圖所示,計費網關G1嵌入到出口路由器和核心交換機之間,對整個網絡進行控制。
計費網關工作在TCP/IP協議棧的第三層,網絡報文可以通過Linux操作系統的Netfilter框架來進行報文控制,數據包在Prerouting鏈進行截取,在計費網關維護的在線用戶列表中查找是否有該數據包的源IP地址匹配項。如有則ACCEPT,再重定向(REDIRECT) 到認證頁面,否則返回鏈。然后運行認證程序以決定其目的動作,如果成功,則在在線用戶列表中加入包含用戶名和源IP 地址綁定信息的記錄,以便后繼的該用戶的數據包順利通過。
系統缺點
基于三層網關的計費系統網絡部署簡單、可維護性高,但存在以下缺點:
安全性弱:計費網關中多個IP地址直接暴露在校園網中,易受DOS、嗅探攻擊。
部署復雜:由于計費網關網卡設置IP地址,核心交換機和出口路由器需要改變路由,會涉及到IP規劃調整。
可靠性差:采用這種接入方式,如果計費網關宕機,整個網絡出口就會癱瘓,易出現單點故障,并且計費網關會成為整個網絡的帶寬瓶頸。

隨著網絡技術的發展和對網絡服務質量需求的不斷提高,以及IPv6的普及,迫切需要一套支持負載均衡、高帶寬、IPv6的高可靠的計費系統。
在達到以上目標的同時,還滿足成本低、技術成熟和對原有網絡影響小等要求。針對這樣的需求,本文設計了一個基于數據鏈路層的高可靠透明網關計費系統。

圖 2 高可靠網關部署架構
系統架構及關鍵模塊設計
基于數據鏈路層的高可靠透明網關計費系統的架構如圖2,按照分布式設計和部署原理,主要分為認證系統、計費網關、查詢管理系統、記賬系統幾大系統。認證系統主要完成Radius、Web認證功能,計費網關完成數據包轉發控制、計費流量采集、日志采集,查詢管理系統提供查詢統計、用戶管理、費用管理、賬務管理,記賬系統完成計費流量存儲、費用實時統計、日志記錄存儲。系統之間通過API相互通訊,如計費網關將計費流量記錄發送給記賬系統,記賬系統實時統計結果,然后計費網關根據該結果,將欠費用戶實時斷網。
本計費系統支持IPv4和IPv6兩種協議棧,校園網中IPv4和IPv6一般分別走不同的鏈路,本設計中計費網關也分別采用單獨的協議棧。參見圖2,IPv4鏈路的計費網關G1、G2只部署IPv4棧,IPv6鏈路的計費網關G3只部署IPv6棧,記賬系統、認證系統等需要雙棧部署。用戶在自己的機器上配置IPv4 和IPv6雙棧,客戶端同時支持IPv4和IPv6認證。用戶數據經過雙棧校園網或者IPv6通過隧道方式發起訪問時,如果是IPv4訪問,IPv4計費網關檢測到用戶為初次登錄,將數據以IPv4協議重定向到認證系統;如果是IPv6訪問,同理以IPv6協議重定向到認證系統。當通過認證之后,認證系統分別將客戶端的IPv4、IPv6在線信息同步到IPv4和IPv6計費網關。用戶繼續訪問網絡時,IPv4和IPv6計費網關將用戶的訪問記錄記入記賬系統,供查詢管理系統查詢和供認證系統判斷用戶費用。這樣計費網關只部署所必需的部件,做到整個計費系統輕量級工作。
計費系統特點
由于采用了基于鏈路聚合的負載均衡、認證系統從計費網關分離的分布式模塊化設計、整個計費系統部署在高速私網等設計技術,并且核心認證網關工作在數據鏈路層,對整個網絡來說是一個透明網關,因此該計費系統具備以下特點:
1.高安全性
計費網關(G1、G2、G3等)采用高速私網與認證系統、記賬系統通訊該網可以通過采用InfiniBand或者光纖交換網來實現高帶寬的目的。認證系統提供校園網和私網連接,通過認證系統實現計費網關的在線用戶信息同步。采用這種部署方式,核心的計費網關和記賬系統完全放置在私網,只有需要提供校園網服務的認證系統和查詢管理系統提供校園網訪問;并且計費網關工作在數據鏈路層,接入網卡無IP地址,使得攻擊者無法找到攻擊的入口,這樣整個計費系統具有很高的安全性。
2.負載均衡和高可靠性
出口路由器與核心交換機之間采用端口聚合實現負載均衡,端口聚合是成熟的以太網技術,不會存在技術上的風險。采用鏈路聚合,鏈路帶寬能與出口和內網總線帶寬匹配,不會成為整個網絡的瓶頸。采用端口聚合,當鏈路工作正常的時候,數據包在每個鏈路平均分配,每臺計費網關壓力小,數據包能快速轉發。采用端口聚合,當任一鏈路失效(包括計費網關宕機)的時候,由于計費網關是工作在數據鏈路層的透明網關,數據包會自動從其它鏈路轉發,這樣計費系統具備很高的可靠性。并且如果計費網關探測到認證系統或者記賬系統宕機,計費網關自動關閉認證功能切換到直通模式,始終保證網絡暢通,做到提供不間斷服務的高可用性。
3.分布式設計
計費系統分為計費網關、認證系統、記賬系統、查詢管理系統,網絡用戶和計費網關之間的通訊通過認證系統完成。當用戶發起認證的時候,如果認證系統通過,認證系統分別將用戶在線信息發往IPv4計費網關和IPv6計費網關。當用戶下線的時候,認證系統將離線信息分別發往兩類計費網關。客戶端和認證系統之間進行KeepAlive,當檢測到用戶異常離線時,將用戶離線信息同步到兩類網關中。認證模塊還提供Radius服務器功能,實現二次認證的統一認證,做到對用戶透明。
4.彈性擴展
因為采用了基于端口聚合的負載均衡技術,當計費網關性能和帶寬不能滿足需求時,既可以采用提高網關配置的垂直升級方式,也可以采用增加多臺計費網關的橫向擴展方式,使得整個系統具備很強的彈性。
校園網具有流量大、應用廣泛、規模大、用戶流動大、網絡環境開放、遭受攻擊多等特點,而計費系統作為校園網計費和接入控制的核心,必須達到高效率、高可用、高安全、彈性擴展等關鍵指標。本文提出的校園網計費認證系統采用了二次認證,其中802.1X起著校園網接入和跟蹤定位作用,出口采用工作于數據鏈路層的透明網關進行控制,支持按流量、按時等計費策略,能夠滿足校園網高效、高可靠、高安全等要求。
(作者單位為北京航空航天大學網絡信息中心)