自主服務(wù)校園網(wǎng)認證 讓計費變得人性化 下篇
認證計費系統(tǒng)技術(shù)分析:自主服務(wù)校園網(wǎng)認證 讓計費變得人性化 上篇
認證計費系統(tǒng)組成—工作原理
系統(tǒng)主要由認證網(wǎng)關(guān)、radius服務(wù)器和后臺數(shù)據(jù)庫三部分組成。認證網(wǎng)關(guān)和radius服務(wù)器之間通過UDP協(xié)議進行傳輸,傳輸時用共享密鑰來加密,且共享密鑰不在網(wǎng)上傳輸。默認認證端口是1812,計費端口是1813。
用戶向認證網(wǎng)關(guān)提交認證請求;認證網(wǎng)關(guān)向radius服務(wù)器轉(zhuǎn)交用戶認證信息;radius服務(wù)器將用戶信息與數(shù)據(jù)庫信息進行比對,如果符合,則認證通過并授權(quán),用戶可以順利訪問網(wǎng)絡(luò)資源,并開始計費,否則,認證失敗,用戶被拒絕訪問網(wǎng)絡(luò)資源。
可見,radius服務(wù)器是整個系統(tǒng)的核心,它與認證網(wǎng)關(guān)連接,處理用戶的認證和計費請求。在認證階段,從認證網(wǎng)關(guān)提取用戶名和密碼,連接數(shù)據(jù)庫,進行查詢比較。在計費階段,連接數(shù)據(jù)庫,更新計費信息記錄、上網(wǎng)日志記錄等。
認證計費系統(tǒng)組成—功能模塊
本系統(tǒng)可分為三個子系統(tǒng):網(wǎng)管子系統(tǒng)、用戶自助服務(wù)子系統(tǒng)和后臺通信子系統(tǒng)。
網(wǎng)管子系統(tǒng)由系統(tǒng)管理維護功能模塊(數(shù)據(jù)庫備份與恢復(fù)、日志管理、系統(tǒng)信息管理、系統(tǒng)升級管理)和用戶管理維護功能模塊(用戶信息管理、賬戶使用明細查詢等)組成。用戶自助服務(wù)子系統(tǒng)功能主要包括用戶注冊、賬號充值申請、賬號續(xù)費申請、使用明細查詢和用戶信息維護。
通信子系統(tǒng)是解決認證網(wǎng)關(guān)和radius服務(wù)器的實時信息交互問題,是基于radius協(xié)議的UDP數(shù)據(jù)包傳輸。
認證計費系統(tǒng)的實現(xiàn)—FreeRADIUS安裝
從http://freeradius.org/download.html下載freeradius2.0.0.tar.gz文件,解壓縮后執(zhí)行./configure、make all、make install,然后編譯并安裝。FreeRADIUS的主配置文件(包括raduisd.conf、sql.conf、client.conf)放在/usr/local/etc/raddb目錄下,radiusd運行文件放置在/usr/local/sbin目錄下。最后,執(zhí)行radiusdX命令,啟動FreeRADIUS服務(wù)。若正常啟動,則會出現(xiàn):
- Listening on authentication address * port 1812
- Listening on accounting address * port 1813
- Listening on proxy address * port 1814
- Ready to process requests.
認證計費系統(tǒng)的實現(xiàn)—數(shù)據(jù)庫設(shè)計
系統(tǒng)后臺數(shù)據(jù)庫使用的是MySQL數(shù)據(jù)庫。我們利用PowerDesiger工具軟件創(chuàng)建xkradius數(shù)據(jù)庫。通過對系統(tǒng)三大功能模塊的功能細化和詳細設(shè)計,將庫表分為四類:用戶信息表類、賬戶信息表類、計費策略表類、radius后臺通信表類。
用戶信息表類中的表字段信息可以從校園網(wǎng)信息平臺的學(xué)籍管理系統(tǒng)和教務(wù)管理系統(tǒng)直接獲取;
賬戶信息表類可以同校園一卡通系統(tǒng)和財務(wù)管理系統(tǒng)共享;
計費策略表類為系統(tǒng)計費功能的擴展提供了有效的后臺數(shù)據(jù)庫支持,以實現(xiàn)計費策略靈活管理;
radius后臺通信表類的設(shè)計主要是為了存放認證網(wǎng)關(guān)上定時接收到的賬戶信息(IP、MAC、上線時間、下線時間等)。
xkradius數(shù)據(jù)庫包括18個表:
用戶基本信息表(user_base_info)、radius響應(yīng)信息表(radreply)、radius檢測信息表(radcheck)、radius組響應(yīng)信息表(radgroupreply)、radius組檢測信息表(radgroupcheck)、radius用戶組信息表(radusergroup)、radius授權(quán)信息表(radpostauth)、badusers_table(黑名單表)、account_log_table(賬戶日志表)、online_table(在線信息表)、admin_table(管理員信息表)、user_traffic_table(用戶流量表)、prepaid_log_table(充值日志表)、conpaid_log_table(續(xù)費日志表)、accountclapol(計費策略分類表)、pakgepol(包月策略表)、timepol(計時策略表)、trafficpol(計流量策略表)。在表中添加相應(yīng)的字段后,生成xkradius.sql文件,以便導(dǎo)入到MySQL數(shù)據(jù)庫中。
認證計費系統(tǒng)的實現(xiàn)—配置FreeRADIUS服務(wù)
我們主要對以下文件進行操作:在radiusd.conf文件中去掉authorize和accouting函數(shù)體內(nèi)的SQL注釋(#),確保SQL功能可用;在sql.conf文件中修改Server(數(shù)據(jù)庫服務(wù)器IP地址值)、login(root)、password(MySQL的root密碼)、radius_db(數(shù)據(jù)庫名)的值;在clients.conf文件中插入client{}函數(shù),以添加認證網(wǎng)關(guān)服務(wù)器的相關(guān)信息(IP、secret、shortname)等。
Web服務(wù)管理
系統(tǒng)Web服務(wù)是建立在目前最流行的Web應(yīng)用基礎(chǔ)架構(gòu)LAMP(Linux+Apache+MySQl+PHP)上的。因此,我們只需考慮Web服務(wù)的管理問題,webmin應(yīng)用服務(wù)軟件提供了一個友好的可視化Web管理平臺。在webmin中,只要打開Apache Webserver選項,修改virtual server下的address、port、Document root(dialup_admin文件包路徑)的值,配置Web Server服務(wù)。然后,打開MySQL Database Server選項,添加數(shù)據(jù)庫xkradius,導(dǎo)入已生成的xkradius.sql數(shù)據(jù)庫文件,這相當于在MySQL數(shù)據(jù)庫中創(chuàng)建了18個表,并且可以進行管理和修改。
子系統(tǒng)的實現(xiàn)
1. 網(wǎng)管子系統(tǒng)和用戶自助服務(wù)子系統(tǒng)
這兩個子系統(tǒng)功能主要是通過PHP語言技術(shù)對后臺數(shù)據(jù)庫的操作來實現(xiàn)。
2. 通信子系統(tǒng)
該子系統(tǒng)功能通過C語言技術(shù)對基于radius協(xié)議的FreeRADIUS服務(wù)的實現(xiàn)來完成。
系統(tǒng)運營一年多,成功實現(xiàn)了對教師和學(xué)生用戶統(tǒng)一有效的認證計費管理,為用戶提供了相對安全的網(wǎng)絡(luò)環(huán)境。它不僅解決了校園網(wǎng)絡(luò)管理的問題,而且給局域網(wǎng)(公司、校區(qū)、網(wǎng)吧、酒店等)認證計費系統(tǒng)的建設(shè)提供了一種思路。隨著用戶數(shù)量的不斷增加,網(wǎng)絡(luò)負荷會逐漸加重,為保證系統(tǒng)的快速性和穩(wěn)健性,可結(jié)合接收數(shù)據(jù)流和發(fā)送數(shù)據(jù)流的分離、認證流和計費流的分離的技術(shù)對系統(tǒng)進行改進。
【編輯推薦】
- 簡化VPN身份認證
- 簡介SMTPi的身份認證技術(shù)
- 中國用戶對強身份認證最積極
- 2009數(shù)據(jù)中心變化之IT身份認證
- 確保網(wǎng)上銀行安全的多重身份認證方案
- 網(wǎng)絡(luò)購物安全需警惕 身份認證誰說了算