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