云平臺(tái)中繼認(rèn)證(RADIUS方式)方案
本文檔介紹的是通過(guò)標(biāo)準(zhǔn)RADIUS方式對(duì)訪客進(jìn)行授權(quán),允許訪客接入網(wǎng)絡(luò)的方案。
## 功能概述
第三方認(rèn)證主要應(yīng)用于商業(yè)Wi-Fi終端用戶在商場(chǎng)酒店、機(jī)場(chǎng)地鐵、企業(yè)來(lái)訪等情景通過(guò)Wi-Fi訪問(wèn)互聯(lián)網(wǎng)的場(chǎng)景,需要對(duì)接入網(wǎng)絡(luò)的訪客進(jìn)行用戶認(rèn)證,同時(shí)提供宣傳,推薦及營(yíng)銷(xiāo)等功能,通過(guò)認(rèn)證的訪客被允許接入Wi-Fi使用網(wǎng)絡(luò)。
第三方合作伙伴或開(kāi)發(fā)者為接入訪客提供認(rèn)證Portal頁(yè)面(如下圖),并調(diào)用華為iMaster NCE-Campus API授權(quán)接口,或通過(guò)標(biāo)準(zhǔn)RADIUS協(xié)議與iMaster NCE-Campus交互,從而實(shí)現(xiàn)認(rèn)證、計(jì)費(fèi)、用戶分析、市場(chǎng)營(yíng)銷(xiāo)等服務(wù)。
## 環(huán)境拓?fù)?/p>
此方案涉及功能點(diǎn)如下:
1. 華為網(wǎng)絡(luò)設(shè)備(Cloud AP)提供接入網(wǎng)絡(luò)等功能。
2. 華為云平臺(tái)(iMaster NCE-Campus)提供設(shè)備管理功能。
3. 第三方Portal服務(wù)器提供Portal推送功能。
4. 第三方RADIUS服務(wù)器提供用戶信息校驗(yàn),授權(quán)下發(fā)等功能。
## 認(rèn)證流程
終端用戶在需要訪問(wèn)互聯(lián)網(wǎng)時(shí),連接Wi-Fi的SSID,登錄由第三方系統(tǒng)推送的Portal頁(yè)面進(jìn)行認(rèn)證。隨后第三方RADIUS系統(tǒng)與華為iMaster NCE-Campus云平臺(tái)通過(guò)標(biāo)準(zhǔn)RADIUS協(xié)議對(duì)接,實(shí)現(xiàn)認(rèn)證與計(jì)費(fèi)功能。
**圖1** iMaster NCE-Campus與第三方系統(tǒng)交互流程
## 訪客接入流程
- Step 1
訪客接入Wi-Fi網(wǎng)絡(luò),訪問(wèn)任意頁(yè)面(例如`http://1.1.1.1/`),經(jīng)過(guò)AP轉(zhuǎn)發(fā)時(shí),被AP重定向到云平臺(tái)上(189.180.13.187是云平臺(tái)的地址),重定向時(shí)會(huì)攜帶ap-mac, redirect-url, ssid, uaddress, umac等信息給云平臺(tái)。
- Step 2
云平臺(tái)收到訪問(wèn)請(qǐng)求,根據(jù)配置,將其重定向到第三方Portal界面,攜帶uaddress,umac,ssid,redirect-url,loginurl,ap-mac等信息給第三方Portal(這些參數(shù)的名稱與內(nèi)容可以由Portal確定,在云平臺(tái)上修改適配),用于記錄和分析。
- Step 3
用戶訪問(wèn)第三方Portal界面,輸入用戶名和密碼后,單擊”登錄“。通過(guò)瀏覽器將用戶名和密碼Post到loginurl(loginurl是云平臺(tái)的地址,云平臺(tái)拿到用戶信息后完成認(rèn)證)。
- Step 4
云平臺(tái)拿到用戶信息后,將其封裝在標(biāo)準(zhǔn)RADIUS 的Access request報(bào)文中,在第三方RADIUS服務(wù)器做認(rèn)證,并根據(jù)返回的結(jié)果進(jìn)行后續(xù)動(dòng)作:
1. 返回Access Accept:進(jìn)行**Step 5**。
2. 返回Access-Reject:云平臺(tái)讓瀏覽器返回錯(cuò)誤信息,例如“用戶密碼錯(cuò)誤”等。
- Step 5
云平臺(tái)授權(quán)AP 放通此終端相關(guān)權(quán)限,包括ACL,限速等權(quán)限。同時(shí)開(kāi)始與第三方RADIUS服務(wù)器開(kāi)始計(jì)費(fèi)報(bào)文的交互。
- Step 6
云平臺(tái)重定向?yàn)g覽器到successUrl,顯示登錄成功的頁(yè)面。
- Step 7
用戶想要主動(dòng)下線時(shí),單擊”注銷(xiāo)“;瀏覽器向logout_url(云平臺(tái)地址)發(fā)送請(qǐng)求,云平臺(tái)收到請(qǐng)求會(huì)首先取消用戶的授權(quán),然后重定向?yàn)g覽器至第三方Portal的登錄界面。
## 支持的RADIUS消息
iMaster NCE-Campus作為中繼角色,可以將RADIUS消息發(fā)送給第三方的RADIUS服務(wù)器,實(shí)現(xiàn)認(rèn)證、授權(quán)和計(jì)費(fèi)功能。支持的RADIUS消息字段如下所示:
**表1** 認(rèn)證消息列表
| 消息列表? ? ? ? ? ?| 說(shuō)明? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| ------------------ | ------------------------------------------------------------ |
| User-Name? ? ? ? ? | 用戶名,設(shè)置時(shí)候可以帶域名(如user0001@isp),也可以不帶域名(如user0001)。內(nèi)容可以是用戶MAC或配置的用戶名。 |
| User-Password? ? ? | 用戶密碼,PAP認(rèn)證時(shí),用戶密碼由NAS加密后傳遞給服務(wù)器。系統(tǒng)支持的用戶PAP認(rèn)證密碼長(zhǎng)度為0~128。內(nèi)容可以是MAC地址或配置的密碼。 |
| Called-Station-ID? | 用來(lái)攜帶NAS設(shè)備的號(hào)碼信息,一般為設(shè)備MAC地址(有線用戶)或SSID(WLAN無(wú)線用戶)。 |
| Calling-Station-ID | 用來(lái)攜帶客戶端的號(hào)碼信息,一般為MAC地址。? ? ? ? ? ? ? ? ? ? |
| Acct-Session-ID? ? | 計(jì)費(fèi)ID。格式:7位主機(jī)名+2位槽號(hào)+1位子卡號(hào)+2位端口號(hào)+ 4位外層VLAN+5位內(nèi)層VLAN+6位CPU Tick+6位用戶連接ID。 |
| Framed-IP-Address? | 用戶的IP地址。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| NAS-Port-ID? ? ? ? | 用戶接入的槽位號(hào)、子槽位號(hào)、端口號(hào)及vlanid。格式有兩種:
1. 老格式:2位槽號(hào)+2位子卡號(hào)+3位端口號(hào)+9位VLAN。
2. 新格式:slot=槽號(hào);subslot=子卡號(hào);port=端口;vlanid=VLAN或者slot=槽號(hào);subslot=子卡號(hào);port=端口;vlanid=外層VLAN ;vlanid2=內(nèi)層VLAN。 |
| NAS-Port-Type? ? ? | 設(shè)置NAS的端口類型,用戶在交換機(jī)接口下可以配置。默認(rèn)類型是Ethernet(15),無(wú)線用戶為IEEE_802.11(19)。 |
| Service-Type? ? ? ?| 提供的服務(wù)類型。
2(Framed):PPP、802.1x用戶等其他用戶。
5(Outbound):IPSession接入用戶。
6(Administrative):管理用戶。
10(Call Check):MAX認(rèn)證用戶。 |
**表2** 授權(quán)消息列表
| 消息列表? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| 說(shuō)明? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| ------------------------------------ | ------------------------------------------------------------ |
| Session-Timeout? ? ? ? ? ? ? ? ? ? ? | 在Access-Accept報(bào)文中,表示用戶剩余的時(shí)間,以秒為單位。在CHALLENGE報(bào)文中作為EAP用戶的重認(rèn)證時(shí)長(zhǎng)。下發(fā)數(shù)值必須大于0??衫迷搶傩韵掳l(fā)用戶在線時(shí)長(zhǎng)。 |
| Idle-Timeout? ? ? ? ? ? ? ? ? ? ? ? ?| 用戶的閑置切斷時(shí)間,以秒為單位。? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| HW-Input-Committed-Information-Rate? | 上行承諾速率,單位bps(上行CIR)。? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| HW-Output-Committed-Information-Rate | 下行承諾速率,單位bps(下行CIR)。? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| Reply-Message? ? ? ? ? ? ? ? ? ? ? ? | 此屬性可用于認(rèn)證接受報(bào)文中,表示成功消息,也可用于認(rèn)證拒絕報(bào)文中,表示拒絕消息。目前只對(duì)WEB認(rèn)證用戶,會(huì)把此信息傳給用戶。對(duì)于WEB認(rèn)證,必須WEB服務(wù)器的版本支持。 |
| Filter-ID? ? ? ? ? ? ? ? ? ? ? ? ? ? | 通常該屬性攜帶用戶ACL號(hào)或用戶組名或ucl-group名。RADIUS報(bào)文中只能攜帶ACL號(hào)或用戶組名,不能同時(shí)攜帶兩者。 |
**表3** 計(jì)費(fèi)消息列表
| 消息列表? ? ? ? ? ? ?| 說(shuō)明? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| -------------------- | ------------------------------------------------------------ |
| Acct-Delay-Time? ? ? | 用于上報(bào)發(fā)送該計(jì)費(fèi)包花費(fèi)的時(shí)間, 以秒為單位(不包括網(wǎng)絡(luò)傳輸時(shí)間)。計(jì)費(fèi)服務(wù)器收到該計(jì)費(fèi)請(qǐng)求包后,可以從該計(jì)費(fèi)請(qǐng)求包到達(dá)計(jì)費(fèi)服務(wù)器的時(shí)間減去Acct-Delay-Time表示的時(shí)間得到NAS生成該計(jì)費(fèi)請(qǐng)求包的時(shí)間(報(bào)文創(chuàng)建的時(shí)間)。在交換機(jī)中,Acct-Delay-Time表示的時(shí)間由兩部分構(gòu)成,一部分是RADIUS模塊到AAA來(lái)取數(shù)據(jù)的時(shí)間和最近一次刷新的時(shí)間差,另外一部分是RADIUS模塊發(fā)送該計(jì)費(fèi)請(qǐng)求包耽誤的時(shí)間(比如重傳花費(fèi)的時(shí)間)。 |
| Acct-Session-ID? ? ? | 計(jì)費(fèi)ID。格式:7位主機(jī)名+2位槽號(hào)+1位子卡號(hào)+2位端口號(hào)+ 4位外層VLAN+5位內(nèi)層VLAN+6位CPU Tick+6位用戶連接ID。 |
| Acct-Status-Type? ? ?| 計(jì)費(fèi)請(qǐng)求報(bào)文的類型。Accounting-Request中支持的計(jì)費(fèi)請(qǐng)求報(bào)文類型如下:Start (Value=1)Stop (Value=2)Interium-Update (Value=3) |
| Calling-Station-ID? ?| 用來(lái)攜帶客戶端的號(hào)碼信息,一般為MAC地址。? ? ? ? ? ? ? ? ? ? |
| Event-Timestamp? ? ? | 生成計(jì)費(fèi)請(qǐng)求報(bào)文的時(shí)間 (以秒為單位, 表示從1970年1月1日零點(diǎn)零分零秒以來(lái)的絕對(duì)秒數(shù))。 |
| Framed-IP-Address? ? | 用戶的IP地址。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| NAS-Identifier? ? ? ?| NAS設(shè)備名稱,即sysname,主機(jī)名。? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| NAS-IP-Address? ? ? ?| 標(biāo)識(shí)設(shè)備地址:
可以配置綁定具體的接口,取接口地址作為NAS-IP。
如果沒(méi)有配置,取報(bào)文發(fā)送的出接口地址為NAS-IP。 |
| NAS-Port? ? ? ? ? ? ?| 用戶接入的物理端口信息,格式有兩種:
1. 12位槽號(hào)+8位端口號(hào)+12位VLAN,位數(shù)不足用0補(bǔ)齊。
2. 8位槽號(hào)+4位子卡號(hào)+8位端口號(hào)+12位VLAN,位數(shù)不足用0補(bǔ)齊。
3. 可通過(guò)命令行RADIUS-server format-attribute nas-port format-sting配置自定義屬性攜帶的內(nèi)容,參數(shù)format-string定義內(nèi)容可以為槽號(hào)、子槽號(hào)、端口、外層VLAN、內(nèi)層VLAN內(nèi)容的任意組合,內(nèi)容之間可以用1或0填充。
format-sting參數(shù)詳細(xì)說(shuō)明如下:
1. 使用關(guān)鍵字s、t、p、o、i分別表示slot,subslot,port,out-vlan(qinqvlan)/vpi,vlan(user-vlan)/vci。增加兩個(gè)關(guān)鍵字n、z以便填充用。n表示填1,z表示填0。
2. s、t、p、o、i、z、n關(guān)鍵字后面必須是數(shù)值,并且數(shù)值范圍為1~32。且s、t、p、o、i中的每個(gè)關(guān)鍵字只能出現(xiàn)一次。
3. s、t、p、o、i、z、n后面若是緊跟數(shù)字則第一個(gè)數(shù)字只能是1~9不能是0。
4. n、z可以出現(xiàn)在任何位置并且可出現(xiàn)多次,n、z后面跟數(shù)字,n12表示該位置填12位1,z12表示該位置填充12位0。
5. 字符串配置的位數(shù)加起來(lái)必須為32位。
6. 必須以s、t、p、o、i、z、n開(kāi)頭,以數(shù)字結(jié)尾。
7. VLAN不存在時(shí)填0還是填1可以在o或i關(guān)鍵字前添加n、z說(shuō)明,也就是說(shuō)n、z后面可以跟數(shù)字或o/i。 |
| Acct-Session-Time? ? | 用戶的在線時(shí)長(zhǎng),以秒為單位。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| Acct-Input-Packets? ?| 上行流量,單位報(bào)文個(gè)數(shù)。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| Acct-Output-Packets? | 下行流量,單位報(bào)文個(gè)數(shù)。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| Acct-Input-Octets? ? | 上行流量,單位字節(jié)數(shù)。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| Acct-Output-Octets? ?| 下行流量,單位字節(jié)數(shù)。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
| Acct-Input-Gigawords | 上行流量,單位1G字節(jié)數(shù)。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
## 附件
HTTPS+RADIUS方式訪客接入流程的HTTP請(qǐng)求信息:
[點(diǎn)擊查看](https://devzone.huawei.com/cn/enterprise/campus/download/Https+Radius方式.har)
## 參考
您可以前往[智簡(jiǎn)園區(qū)網(wǎng)絡(luò)開(kāi)發(fā)者社區(qū)](https://developer.huaweicloud.com/techfield/network.html#CloudCampus),了解更多相關(guān)的信息。
網(wǎng)絡(luò)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。