HTTP協議Portal認證流程
此過程中如下幾點需要關注:
WLAN無線場景在AP上完成,而不是AC。
Portal服務器和RADIUS服務器雖然大部分場景下是一個服務器,但是從邏輯和功能上來說,是兩個網元,不可混為一談。
關鍵配置檢查
VAP模板配置檢查
根據SSID找到對應VAP模板,檢查VAP模板下配置,主要檢查認證模板配置。
1. 通過命令display vap-profile all查看所有的VAP模板,根據SSID找到對應的VAP模板。
[Huawei] display vap-profile all FMode : Forward mode STA U/D : Rate limit client up/down VAP U/D : Rate limit VAP up/down BR2G/5G : Beacon 2.4G/5G rate --------------------------------------------------------------- Name FMode Type VLAN AuthType STA U/D(Kbps) VAP U/D(Kbps) BR2G/5G(Mbps) Reference SSID --------------------------------------------------------------- default direct service VLAN 1 Open -/- -/- 1/6 0 HUAWEI-WLAN vap_portal tunnel service VLAN 200 Open+Portal -/- -/- 1/6 3 portal_test --------------------------------------------------------------- Total: 2
說明
不建議多個VAP模板下綁定相同SSID,因為SSID相同的多個VAP模板綁定到同一AP時,會引起接入失敗等異常現象。
2. 查看VAP模板下的配置,檢查VAP模板下綁定的認證模板。
[Huawei] wlan [Huawei-wlan-view] vap-profile name vap_portal [Huawei-wlan-vap-prof-vap_portal]display this # forward-mode tunnel service-vlan vlan-id 200 ssid-profile localportal authentication-profile authen_portal #
3. 查看認證模板下的配置,需要綁定Portal接入模板。
[Huawei] authentication-profile name authen_portal [Huawei-authentication-profile-authen_portal] display this # authentication-profile name authen_portal portal-access-profile access_portal access-domain domain_test #
4. 查看Portal接入模板下的配置,需要綁定Portal服務器模板。
[Huawei] portal-access-profile name access_portal [Huawei-portal-access-profile-access_portal] display this # portal-access-profile name access_portal web-auth-server portal_test direct #
5. 查看Portal服務器模板配置,需要配置server-ip和URL。
URL有兩種配置方式,一是直接在Portal服務器下配置URL;二是在Portal服務器下引用URL模板,在URL模板下配置URL,同時URL模板下可以配置所需的URL參數,如果Portal服務器需要特定的URL參數,則只能通過URL模板方式配置。
方式一:Portal服務器下直接配置url。
[Huawei] web-auth-server portal_test [Huawei-web-auth-server-portal_test] display this # web-auth-server server_portal server-ip 12.12.12.1 port 50100 url http://12.12.12.1:8080/portal protocol http #
方式二:Portal服務器下配置url模板。
[Huawei] web-auth-server portal_test [Huawei-web-auth-server-portal_test] display this # web-auth-server server_portal server-ip 12.12.12.1 port 50100 url-template url_test protocol http #
查看URL模板下配置,需要配置URL及所需要的參數。
[Huawei]url-template name url_test [Huawei-url-template-url_test] display this # url-template name url_test url http://12.12.12.1:8080/portal url-parameter device-ip ac-ip user-ipaddress userip ssid ssid #
6. 需要開啟HTTP/HTTPS協議的Portal對接功能。
開啟HTTP協議的Portal對接:
[Huawei] portal web-authen-server http port 8000
開啟HTTPS協議的Portal對接:
[Huawei] portal web-authen-server https ssl-policy default_policy port 8443
認證模式配置檢查
外置Portal認證支持本地認證、RADIUS認證、LDAP認證和AD認證,但大部分場景都是使用RADIUS認證,本文僅考慮RADIUS認證模式。
認證模式在認證方案下指定,認證方案的引用有兩種方式:第一種方式是在認證模板下直接引用認證方案,第二種方式是在域下引用認證方案,然后在認證模板下引用域。第一種方式優先級高于第二種方式優先級,若兩種方式同時配置,第一種方式生效,第二種方式在認證模板下配置默認域或強制域不生效。
方式一:在認證模板下引用認證方案。
在認證模板下引用認證方案時,需要同時引用RADIUS服務器模板,如果需要計費,還需要同時引用計費方案。
[Huawei] authentication-profile name authen_portal [Huawei-authentication-profile-authen_portal] display this # authentication-profile name authen_portal portal-access-profile access_portal authentication-scheme radius accounting-scheme radius radius-server radius_test #
方式二:在域下引用認證方案。
在域下引用認證方案時,需要同時在域下引用RADIUS服務器模板,如果需要計費,還需要同時在域下引用計費方案。
[Huawei] aaa [Huawei-aaa] domain domain_test [Huawei-aaa-domain-domain_test] display this # domain domain_test authentication-scheme radius accounting-scheme radius radius-server radius_test #
后續需要在認證模板下配置默認域或者強制域。建議在認證模板下配置不指定接入類型的默認域:
[Huawei] authentication-profile name authen_portal [Huawei-authentication-profile-authen_portal] display this # authentication-profile name authen_portal portal-access-profile access_portal access-domain domain_test #
認證域之間存在優先級,終端在優先級高的認證域中進行認證:指定接入類型的強制域 > 非指定接入類型的強制域 > 用戶名中攜帶的合法域 > 指定接入類型的默認域 > 非指定接入類型的默認域 > 全局默認域。各種域的配置示例如下:
指定接入類型的強制域:
[Huawei-authentication-profile-authen_portal] display this # authentication-profile name authen_portal portal-access-profile access_portal access-domain domain_test portal force
非指定接入類型的強制域:
[Huawei-authentication-profile-authen_portal] display this # authentication-profile name authen_portal portal-access-profile access_portal access-domain domain_test force
用戶名中攜帶的合法域:指用戶認證時使用的用戶名中使用@攜帶了域名,并且該域在設備上已創建
指定接入類型的默認域:
[Huawei-authentication-profile-authen_portal] display this # authentication-profile name authen_portal portal-access-profile access_portal access-domain domain_test portal
非指定接入類型的默認域:
[Huawei-authentication-profile-authen_portal] display this # authentication-profile name authen_portal portal-access-profile access_portal access-domain domain_test
全局默認域:指在系統視圖上通過domain xxx指定的全局默認域
常見問題
Portal頁面輸入賬號密碼后,沒有跳轉到設備登錄URL或跳轉到錯誤的設備登錄URL 問題現象
分別以Cisco ISE服務器和Aruba Clearpass服務器為例。
Cisco ISE服務器:在Portal認證頁面輸入賬號密碼后點擊登錄,之后再點擊繼續,直接跳轉到成功頁面,沒有看到跳轉到設備登錄URL,此時在設備上查看用戶狀態,仍然處于Pre-authen狀態,如下圖所示:
Aruba Clearpass服務器:在Portal認證頁面輸入賬號密碼后點擊登錄,看到跳轉到“https://12.12.12.76:8080/login”,但該URL不是正確的設備登錄URL。
問題原因
如果沒有跳轉到設備登錄URL,其原因是Portal服務器不知道設備登錄URL,沒有配置設備登錄URL。
如果跳轉到錯誤的設備登錄URL,原因是配置的設備登錄URL錯誤。
解決方案
設備登錄URL的配置依賴于Portal服務器,不同的Portal服務器配置方式不同,一般分兩種情況:一種是直接在Portal服務器上配置設備登錄URL;另一種是在設備上配置URL參數,在URL參數中攜帶設備登錄URL。
方式一:在Portal服務器上配置設備登錄URL。
Aruba Clearpass服務器是在服務器上直接配置設備登錄URL,以該服務器為例,其他服務器需要服務器側提供支持: 1. 登錄Aruba ClearPass服務器。
在瀏覽器中輸入Aruba ClearPass的訪問地址,地址格式為https://Aruba ClearPass IP,其中Aruba ClearPass IP是Aruba ClearPass服務器的IP地址。
選擇“ClearPass Guest訪客管理”。
在登錄頁面中,輸入用戶名和密碼進行登錄。
2. 配置認證界面。 依次選擇“配置 > Pages > 網頁登錄”,選擇已經創建的網絡登錄頁面,點擊“編輯”進入編輯頁面,在“提交URL”中設置設備登錄URL。
方式二:在設備上通過URL參數配置設備登錄URL。
Cisco ISE服務器是在設備上通過URL參數配置設備登錄URL。 在設備URL模板下配置login-url參數:
[Huawei] url-template name url_test [Huawei-url-template-url_test] url-parameter login-url switch_url https://12.12.12.76:8443/login
設備登錄URL格式為http(s)://ip:port/login,其中協議類型和端口號通過命令portal web-authen-server決定,IP地址為AC設備本機任一地址,后續需要通過免認證free-rule放通該地址,且要確保終端與該地址路由可達。
開啟HTTP/HTTPS協議的Portal對接功能命令:
[Huawei] portal web-authen-server https ssl-policy default_policy port 8443 //協議為https,端口號為8443
[Huawei] portal web-authen-server http port 8000 //協議為http,端口號為8000
Portal頁面輸入賬號密碼后跳轉到設備登錄URL,但顯示超時
在Portal認證頁面輸入賬號密碼后,能夠跳轉到設備登錄URL,但顯示“無法訪問此網站”,提示“ERR_CONNECTION_TIMED_OUT”。
該問題原因是終端與設備登錄URL地址不通,按照如下步驟排查:
1. 設備是否通過free-rule放通設備登錄URL對應的IP地址;
終端在訪問設備登錄URL時,終端還沒有認證成功,所以需要在free-rule下放通設備登錄URL對應的IP地址。
2. 終端與設備登錄URL地址路由是否可達;
可在終端網關設備上使用網關地址作為源ping設備登錄URL對應的IP地址,確認路由是否可達,如果路由不可達,需要排查路由配置。
跳轉到設備登錄URL,提示安全告警
在Portal認證頁面輸入賬號密碼登錄后,能夠跳轉到設備登錄URL,但提示安全告警,顯示“您的連接不是私密連接”。
該問題原因是設備配置HTTPS協議的Portal對接,使用的證書是設備預置證書,不是合法機構頒發的證書,瀏覽器校驗設備證書不合法。有如下兩個方案:
使用HTTP協議的Portal對接。
購買合法證書,并導入到設備,設備登錄URL不能直接使用IP地址,需要使用域名方式配置,同時需要DNS服務器配合能夠解析該設備登錄URL域名。證書導入方法請參考Chrome瀏覽器無法打開頁面(一直顯示Connect to Wi-Fi頁面)。
跳轉到設備登錄URL,但認證失敗 終端使用get方式提交,但設備不支持
通過debugging web all,可以看到收到終端get請求,顯示“Http method is GET, but web server config not permit GET: web server index[1], permit get flag[0].”。
[AC6605_8_76] Nov 30 2020 1155.673.1+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Web receive http msg. [AC6605_8_76] Nov 30 2020 1155.673.2+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Web http msg accept. [AC6605_8_76] Nov 30 2020 1155.673.3+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] Src:User Event:Accept HTTP connect(IP:200.1.1.64 , PORT:49691 , RequestId:1119302816.) [AC6605_8_76] Nov 30 2020 1155.673.4+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] [WEB RecvHttp] Userip = 200.1.1.64,UserVrf = 0. [AC6605_8_76] Nov 30 2020 1155.673.5+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Method:GET [AC6605_8_76] Nov 30 2020 1155.673.6+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] HTTP Version:HTTP/1.1 [AC6605_8_76] Nov 30 2020 1155.673.7+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Http Version:HTTP/1.1 [AC6605_8_76] Nov 30 2020 1155.673.8+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:1119302816, Field:Content-Length, ret:1 [AC6605_8_76] Nov 30 2020 1155.673.9+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:1119302816, Field:If-Modified-Since, ret:1 [AC6605_8_76] Nov 30 2020 1155.673.10+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:1119302816, Field:Cookie, ret:1 [AC6605_8_76] Nov 30 2020 1155.673.11+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:1119302816, Field:Referer, ret:1 [AC6605_8_76] Nov 30 2020 1155.673.12+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:1119302816, Field:Host, ret:1 [AC6605_8_76] Nov 30 2020 1155.673.13+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] WEBAdp FindOut AccessIf By IpVrf. Find Sta Mac By Ip(0xc8010140) From AC Snooping Table! [AC6605_8_76] Nov 30 2020 1155.673.14+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] WEBAdp FindOut AccessIf By IpVrf. Get Sta Info(IfIndex = 2466349056, StaVlan = 200, CeVLAN = 0, MAC = 5cd9-98bc-034c) By Ip(0xc8010140) Success! [AC6605_8_76] Nov 30 2020 1155.673.15+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get user access L3IfIndex[38] by vlan[200] [AC6605_8_76] Nov 30 2020 1155.673.16+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get receive ifindex[2466349056]. [AC6605_8_76] Nov 30 2020 1155.673.17+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get user ifindex[2466349056], L3IfIndex[38], VID[200]. [AC6605_8_76] Nov 30 2020 1155.673.18+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] [WEB Get Server Index By IfIndex] IfIndex is 38, L2IfIndex is 2466349056. [AC6605_8_76] Nov 30 2020 1155.673.19+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] [WEB Get Server Index By IfIndex] Server Index is 1, User IfIndex is 2466349056. [AC6605_8_76] Nov 30 2020 1155.673.20+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] Http method is GET, but web server config not permit GET: web server index[1], permit get flag[0]. [AC6605_8_76] Nov 30 2020 1155.683.1+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Err] Get body fail.該問題原因是終端使用GET方式向設備提交用戶名密碼信息,但設備默認只開啟了HTTP POST的方式,未開啟HTTP GET方式(HTTP GET方式存在密碼泄露風險,推薦使用POST方式)。
在設備Portal服務器模板下開啟允許用戶使用GET方式向設備提交用戶名和密碼等信息:
[Huawei] web-auth-server portal_test [Huawei-web-auth-server-portal_test] http get-method enable
終端提交的用戶名密碼請求中未攜帶用戶名或密碼,或用戶名密碼的識別關鍵字不匹配
通過debugging web all,可以看到收到終端get請求,顯示“[WEB HTTP SendAuthMsg] No user name[].”或者“[WEB HTTP SendAuthMsg] No password.”。
[AC6605_8_76] Dec 01 2020 1437.71.1+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Web receive http msg. [AC6605_8_76] Dec 01 2020 1437.71.2+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Web http msg accept. [AC6605_8_76] Dec 01 2020 1437.71.3+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] Src:User Event:Accept HTTP connect(IP:200.1.1.64 , PORT:56870 , RequestId:1093830080.) [AC6605_8_76] Dec 01 2020 1437.71.4+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] [WEB RecvHttp] Userip = 200.1.1.64,UserVrf = 0. [AC6605_8_76] Dec 01 2020 1437.71.5+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Method:GET [AC6605_8_76] Dec 01 2020 1437.71.6+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] HTTP Version:HTTP/1.1 [AC6605_8_76] Dec 01 2020 1437.71.7+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Http Version:HTTP/1.1 [AC6605_8_76] Dec 01 2020 1437.71.8+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:1093830080, Field:Content-Length, ret:1 [AC6605_8_76] Dec 01 2020 1437.71.9+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:1093830080, Field:If-Modified-Since, ret:1 [AC6605_8_76] Dec 01 2020 1437.71.10+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:1093830080, Field:Cookie, ret:1 [AC6605_8_76] Dec 01 2020 1437.71.11+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:1093830080, Field:Referer, ret:1 [AC6605_8_76] Dec 01 2020 1437.71.12+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:1093830080, Field:Host, ret:1 [AC6605_8_76] Dec 01 2020 1437.71.13+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] WEBAdp FindOut AccessIf By IpVrf. Find Sta Mac By Ip(0xc8010140) From AC Snooping Table! [AC6605_8_76] Dec 01 2020 1437.71.14+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] WEBAdp FindOut AccessIf By IpVrf. Get Sta Info(IfIndex = 2466349057, StaVlan = 200, CeVLAN = 0, MAC = 5cd9-98bc-034c) By Ip(0xc8010140) Success! [AC6605_8_76] Dec 01 2020 1437.71.15+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get user access L3IfIndex[38] by vlan[200] [AC6605_8_76] Dec 01 2020 1437.71.16+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get receive ifindex[2466349057]. [AC6605_8_76] Dec 01 2020 1437.71.17+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get user ifindex[2466349057], L3IfIndex[38], VID[200]. [AC6605_8_76] Dec 01 2020 1437.71.18+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] [WEB Get Server Index By IfIndex] IfIndex is 38, L2IfIndex is 2466349057. [AC6605_8_76] Dec 01 2020 1437.71.19+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] [WEB Get Server Index By IfIndex] Server Index is 1, User IfIndex is 2466349057. [AC6605_8_76] Dec 01 2020 1437.71.20+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Read get info: read length[146]. [AC6605_8_76] Dec 01 2020 1437.71.1+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Err] Str[] invalid. [AC6605_8_76] Dec 01 2020 1437.71.2+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Decode request info: CMD[login], user name[], MAC[0000-0000-0000], IP[0.0.0.0], URL[]. [AC6605_8_76] Dec 01 2020 1437.71.3+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Err] [WEB HTTP SendAuthMsg] No user name[]. [AC6605_8_76] Dec 01 2020 1437.71.4+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] Send Auth Msg Fail, Stop Proc LoginReq. [AC6605_8_76] Dec 01 2020 1437.71.5+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Err] Decode request info fail. [AC6605_8_76] Dec 01 2020 1455.366.1+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Web receive http msg. [AC6605_8_76] Dec 01 2020 1455.366.2+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Web http msg accept. [AC6605_8_76] Dec 01 2020 1455.366.3+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] Src:User Event:Accept HTTP connect(IP:200.1.1.64 , PORT:57230 , RequestId:669981044.) [AC6605_8_76] Dec 01 2020 1455.366.4+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] [WEB RecvHttp] Userip = 200.1.1.64,UserVrf = 0. [AC6605_8_76] Dec 01 2020 1455.366.5+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Method:GET [AC6605_8_76] Dec 01 2020 1455.366.6+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] HTTP Version:HTTP/1.1 [AC6605_8_76] Dec 01 2020 1455.366.7+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Http Version:HTTP/1.1 [AC6605_8_76] Dec 01 2020 1455.366.8+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:669981044, Field:Content-Length, ret:1 [AC6605_8_76] Dec 01 2020 1455.366.9+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:669981044, Field:If-Modified-Since, ret:1 [AC6605_8_76] Dec 01 2020 1455.366.10+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:669981044, Field:Cookie, ret:1 [AC6605_8_76] Dec 01 2020 1455.366.11+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:669981044, Field:Referer, ret:1 [AC6605_8_76] Dec 01 2020 1455.366.12+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:669981044, Field:Host, ret:1 [AC6605_8_76] Dec 01 2020 1455.366.13+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] WEBAdp FindOut AccessIf By IpVrf. Find Sta Mac By Ip(0xc8010140) From AC Snooping Table! [AC6605_8_76] Dec 01 2020 1455.366.14+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] WEBAdp FindOut AccessIf By IpVrf. Get Sta Info(IfIndex = 2466349057, StaVlan = 200, CeVLAN = 0, MAC = 5cd9-98bc-034c) By Ip(0xc8010140) Success! [AC6605_8_76] Dec 01 2020 1455.366.15+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get user access L3IfIndex[38] by vlan[200] [AC6605_8_76] Dec 01 2020 1455.366.16+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get receive ifindex[2466349057]. [AC6605_8_76] Dec 01 2020 1455.366.17+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get user ifindex[2466349057], L3IfIndex[38], VID[200]. [AC6605_8_76] Dec 01 2020 1455.366.18+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] [WEB Get Server Index By IfIndex] IfIndex is 38, L2IfIndex is 2466349057. [AC6605_8_76] Dec 01 2020 1455.366.19+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] [WEB Get Server Index By IfIndex] Server Index is 1, User IfIndex is 2466349057. [AC6605_8_76] Dec 01 2020 1455.366.20+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Read get info: read length[140]. [AC6605_8_76] Dec 01 2020 1455.366.1+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Err] Str[] invalid. [AC6605_8_76] Dec 01 2020 1455.366.2+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Decode request info: CMD[login], user name[test], MAC[0000-0000-0000], IP[0.0.0.0], URL[]. [AC6605_8_76] Dec 01 2020 1455.366.3+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Err] [WEB HTTP SendAuthMsg] No password. [AC6605_8_76] Dec 01 2020 1455.366.4+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] Send Auth Msg Fail, Stop Proc LoginReq. [AC6605_8_76] Dec 01 2020 1455.366.5+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Err] Decode request info fail.
終端使用post或者get方式提交用戶名密碼信息給設備時,需要同時攜帶用戶名和密碼,且用戶名的識別關鍵字和密碼的識別關鍵字需要和設備配置的識別關鍵字一致。
1. 當終端使用get方式提交用戶名密碼信息給設備時,可以在URL中看到用戶名密碼信息,如下圖所示。
如果設備登錄URL使用HTTP協議,可以在終端上抓取報文,確認提交給設備的用戶名密碼信息。
2. 當終端使用post方式提交用戶名密碼信息給設備時,如果設備登錄URL使用HTTP協議,可以在終端上抓取報文,確認提交給設備的用戶名密碼信息。
上述示例報文中用戶名的識別關鍵字為username,密碼的識別關鍵字為password,如果沒有用戶名密碼信息,需要Portal服務器確認根因;如果用戶名密碼的識別關鍵字與設備不一致,可以在Portal服務器側修改,也可在設備上修改。方法如下:
在Portal服務器上修改用戶名密碼識別關鍵字。
以Aruba Clearpass服務器為例,其他服務器需要服務器側提供支持。
a. 登錄Aruba ClearPass服務器。
i. 在瀏覽器中輸入Aruba ClearPass的訪問地址,地址格式為https://Aruba ClearPass IP,其中Aruba ClearPass IP是Aruba ClearPass服務器的IP地址。
ii. 選擇“ClearPass Guest訪客管理”。
iii. 在登錄頁面中,輸入用戶名和密碼進行登錄。
b. 配置認證界面。
依次選擇“配置 > Pages > 網頁登錄”,選擇已經創建的網絡登錄頁面,點擊“編輯”進入編輯頁面,在“用戶名字段”和“密碼字段”中設置用戶名識別關鍵字和密碼識別關鍵字。
在設備上修改用戶名密碼識別關鍵字。
在Portal服務器模板下配置HTTP/HTTPS協議的POST/GET請求報文的參數。
說明
用戶名的識別關鍵字默認為username,密碼的識別關鍵字默認為password
[Huawei] web-auth-server portal_test [Huawei-web-auth-server-portal_test] http-method post username-key username password-key passwordRADIUS服務器認證拒絕
通過命令display aaa online-fail-record mac-address H-H-H查看終端上線失敗記錄,用戶上線失敗原因(User online fail reason)顯示Radius authentication reject。
[Huawei] display aaa online-fail-record mac-address 64e5-99f3-18f6 ---------------------------------------------------------------- User name : test Domain name : domain_test User MAC : 64e5-99f3-18f6 User access type : 802.1x User access interface : Wlan-Dbss17496 Qinq vlan/User vlan : 0/200 User IP address : - User IPV6 address : - User ID : 32846 User login time : 2020/10/19 1422 User online fail reason : Radius authentication reject Authen reply message : ErrorReason is Incorrect user na... User name to server : test AP ID : 0 Radio ID : 0 AP MAC : 18de-d777-c120 SSID : dot1x_test ----------------------------------------------------------------
通過業務診斷功能,追蹤終端用戶上線認證過程,看到RADIUS服務器回應了拒絕報文:
[Huawei] trace object mac-address 64e5-99f3-18f6 [Huawei] trace enable [BTRACE][2020/10/19 1423][6144][RADIUS][64e5-99f3-18f6]: Received a authentication reject packet from radius server(server ip = 10.10.10.1). [BTRACE][2020/10/19 1423][6144][RADIUS][64e5-99f3-18f6]: Server Template: 4 Server IP : 10.10.10.1 Server Port : 1812 Protocol: Standard Code : 3 Len : 176 ID : 80 [EAP-Message ] [6 ] [04 22 00 04 ] [State ] [16] [01u?237372O] [Reply-Message ] [116] [ErrorReason is Incorrect user name or password or Incorrect dataSource or Incorrect access device key.ErrCode:4101] [Message-Authenticator ] [18] [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] [BTRACE][2020/10/19 1423][6144][RADIUS][64e5-99f3-18f6]:Send authentication reject message to AAA. [BTRACE][2020/10/19 1423][6144][AAA][64e5-99f3-18f6]: AAA receive AAA_RD_MSG_AUTHENREJECT message(51) from RADIUS module(235).服務器回應認證拒絕有多種原因,最常見的有用戶名密碼錯誤、授權策略無法匹配等,這些問題需要首先通過排查服務器日志找到根因后,再調整服務器、終端或設備配置解決。
RADIUS服務器不響應
通過命令display aaa online-fail-record mac-address H-H-H查看終端上線失敗記錄,用戶上線失敗原因(User online fail reason)顯示The radius server is up but has no reply或者The radius server is not reachable。
[Huawei] display aaa online-fail-record mac-address 64e5-99f3-18f6 ---------------------------------------------------------------- User name : test Domain name : domain_test User MAC : 64e5-99f3-18f6 User access type : 802.1x User access interface : Wlan-Dbss17496 Qinq vlan/User vlan : 0/200 User IP address : - User IPV6 address : - User ID : 32861 User login time : 2020/10/19 1702 User online fail reason : The radius server is up but has no reply Authen reply message : - User name to server : test AP ID : 0 Radio ID : 0 AP MAC : 18de-d777-c120 SSID : dot1x_test ----------------------------------------------------------------
[Huawei] display aaa online-fail-record mac-address 64e5-99f3-18f6 ---------------------------------------------------------------- User name : test Domain name : domain_test User MAC : 64e5-99f3-18f6 User access type : 802.1x User access interface : Wlan-Dbss17496 Qinq vlan/User vlan : 0/200 User IP address : - User IPV6 address : - User ID : 32865 User login time : 2020/10/19 2021 User online fail reason : The radius server is not reachable Authen reply message : - User name to server : test AP ID : 0 Radio ID : 0 AP MAC : 18de-d777-c120 SSID : dot1x_test ----------------------------------------------------------------
通過業務診斷功能,追蹤終端用戶上線認證過程,看到RADIUS服務器無響應:
[Huawei] trace object mac-address 64e5-99f3-18f6 [Huawei] trace enable [BTRACE][2020/10/19 1703][6144][AAA][64e5-99f3-18f6]: AAA receive AAA_RD_MSG_SERVERNOREPLY message(61) from RADIUS module(235). [BTRACE][2020/10/19 1703][6144][AAA][64e5-99f3-18f6]: CID:51 TemplateNo:4 SerialNo:62 SrcMsg:AAA_RD_MSG_AUTHENREQ PriyServer::: Vrf:0 SendServer:10.10.10.1 Vrf:0 [BTRACE][2020/10/19 1703][6144][AAA][64e5-99f3-18f6]:Radius server is up but no response. [BTRACE][2020/10/19 1703][6144][AAA][64e5-99f3-18f6]: [AAA ERROR]authen finish,the authen fail code is:8,reason is:Radius server is up but no response. [BTRACE][2020/10/19 2022][6144][AAA][64e5-99f3-18f6]: AAA receive AAA_RD_MSG_SERVERNOREPLY message(61) from RADIUS module(235). [BTRACE][2020/10/19 2022][6144][AAA][64e5-99f3-18f6]: CID:55 TemplateNo:4 SerialNo:69 SrcMsg:AAA_RD_MSG_AUTHENREQ PriyServer::: Vrf:0 SendServer:10.10.10.1 Vrf:0 [BTRACE][2020/10/19 2022][6144][AAA][64e5-99f3-18f6]:Radius authentication has no response. [BTRACE][2020/10/19 2022][6144][AAA][64e5-99f3-18f6]: [AAA ERROR]authen finish,the authen fail code is:7,reason is:Radius authentication has no response.
RADIUS服務器不響應問題排查步驟如下:
1. 確認RADIUS服務器是否正確添加設備IP。
RADIUS服務器如果沒有添加設備IP地址則需要添加正確的設備IP。
2. 如果RADIUS服務器已經添加設備IP地址,需要確認添加的設備IP與設備發送RADIUS認證請求報文的源IP是否相同。
設備發送RADIUS認證請求報文的源IP可通過命令配置,如果沒有通過命令配置,則使用路由出接口IP地址。如果RADIUS服務器上添加的設備IP地址與路由出接口IP地址一致,則不需要在設備上配置與RADIUS服務器通信的源IP地址,否則需要通過命令配置源IP地址。
a. 先根據RADIUS服務器IP地址查找路由表獲取出接口,然后再根據出接口確認IP地址,如果RADIUS服務器添加的設備IP地址與路由出接口地址一致,則不需要再通過命令配置與RADIUS服務器通信的源IP地址。
[Huawei] display ip routing-table 10.10.10.1 Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Table : Public Summary Count : 1 Destination/Mask Proto Pre Cost Flags NextHop Interface 10.10.10.0/24 Direct 0 0 D 10.10.10.76 Vlanif12 [Huawei] interface Vlanif 12 [Huawei-Vlanif12] display this # interface Vlanif12 ip address 10.10.10.76 255.255.255.0 #b. 如果RADIUS服務器添加的設備IP地址與路由出接口地址不同,則需要在設備上配置與RADIUS服務器通信的源IP地址。源IP地址可在全局下配置,也可在RADIUS服務器模板下配置,RADIUS服務器模板下配置的源IP地址優先級高于全局下的配置。 在VRRP雙機熱備場景開啟了無線配置同步條件下,只能在全局下配置與RADIUS服務器通信的源IP地址,如果是單機場景下,建議在RADIUS服務器模板下配置源IP地址。 查詢設備上配置的與RADIUS服務器通信的源IP地址。
i. 查看全局是否配置與RADIUS服務器通信的源IP地址:
[Huawei] display radius-server configuration ------------------------------------------------------ Global: Radius Server Source IP Address : - Radius Server Source IPv6 Address : :: Radius Attribute Nas IP Address : - Radius Attribute Nas IPv6 Address : :: ------------------------------------------------------ [Huawei] display radius-server configuration ------------------------------------------------------ Global: Radius Server Source IP Address : 100.1.1.1 Radius Server Source IPv6 Address : :: Radius Attribute Nas IP Address : - Radius Attribute Nas IPv6 Address : :: ------------------------------------------------------
如果“Radius Server Source IP Address”為“-”,則表明全局下沒有配置源IP地址,如果“Radius Server Source IP Address”為具體IP地址,則表明配置了源IP地址。
ii. 查看RADIUS服務器模板是否配置與RADIUS服務器通信的源IP地址
[Huawei] radius-server template radius_test [Huawei-radius-radius_test] display this # radius-server template radius_test radius-server shared-key cipher %^%#x[yB5Wd"!3GqH6,@[kW(Xi6PYA%^%# radius-server authentication 10.10.10.1 1812 source ip-address 100.1.1.1 weight 80 radius-server accounting 10.10.10.1 1813 source ip-address 100.1.1.1 weight 80 # [Huawei] radius-server template radius_test [Huawei-radius-radius_test] display this # radius-server template radius_test radius-server shared-key cipher %^%#x[y B5Wd"!3GqH6,@[kW(Xi6PYA%^%# radius-server authentication 10.10.10.1 1812 source Vlanif 100 weight 80 radius-server accounting 10.10.10.1 1813 source Vlanif 100 weight 80
如果RADIUS服務器模板下再認證服務器或計費服務器后面寫的“source ip-address”或者“source vlanif”,則表明RADIUS服務器模板下配置了源IP地址。
配置設備與RADIUS服務器通信的源IP地址。
i. 在全局下配置與RADIUS服務器通信源地址:
[Huawei] radius-server source ip-address 100.1.1.1
ii. 在RADIUS模板下配置與RADIUS服務器通信源IP地址:
[Huawei] radius-server template radius_test [Huawei-radius-radius_test] radius-server authentication 10.10.10.1 1812 source ip-address 100.1.1.13. 確認設備與RADIUS服務器之間中間鏈路是否正常。
a. 從設備指定源IP ping服務器測試,確認路由是否可達;
[Huawei] ping -a 10.10.10.76 10.10.10.1b. 在設備和服務器同時抓包確認認證報文收發是否正常,常見問題有中間網絡存在防火墻,防火墻未放通RADIUS(默認認證端口:1812)報文。 4. 查看RADIUS服務器狀態是否正常,STState字段如果不是STState-up狀態,則為異常。
[Huawei] display radius-server item template radius_test --------------------------------------------------------------- STState = STState-up STChgTime = - Type = auth-server State = state-up AlarmFlag = false STUseNum = 1 IPAddress = 10.10.10.76 AlarmTimer = 0xffffffff Head = 10274 Tail = 10273 ProbeID = 255 --------------------------------------------------------------
5. 確認設備與RADIUS服務器配置的共享密鑰(shared-key)是否一致。可以通過test-aaa命令測試,同時開啟radius debug打印,debug信息中如出現“Authenticator error·”則表示設備與RADIUS服務器配置的共享密鑰不一致,需要同時修改設備與RADIUS服務器上共享密鑰,使其相同。
[Huawei] test-aaa test test radius-template radius_test [Huawei] Oct 24 2020 1549.591.1+08:00 AC6605_129_76 RDS/7/DEBUG: RADIUS packet: IN (TotalLen=20) Len 1 ~ 20: 02 08 00 14 F6 DA 06 57 40 25 32 2A A9 70 6E FD 46 F6 B1 25 [Huawei] Oct 24 2020 1549.591.2+08:00 AC6605_129_76 RDS/7/DEBUG: [RDS(Err):] Receive a illegal packet(Authenticator error), please check share key config.(ip:10.10.10.1 port:1812)
設備支持在全局下配置指定RADIUS服務器的共享密鑰及在RADIUS服務器模板下配置共享密鑰,其中全局下的配置優先級高于模板下的配置.
建議在RADIUS服務器模板下配置共享密鑰,如果兩個都配置的條件下,建議刪除全局下的配置,僅保留模板下的配置。
RADIUS服務器模板下配置共享密鑰:
[Huawei] radius-server template radius_test [Huawei-radius-radius_test] radius-server shared-key cipher huawei@123
全局下配置RADIUS服務器共享密鑰:
[Huawei] radius-server ip-address 10.10.10.1 shared-key cipher huawei@123RADIUS服務器授權數據失敗
通過命令display aaa online-fail-record mac-address H-H-H查看終端上線失敗記錄,用戶上線失敗原因(User online fail reason)顯示Authorization data error。
[Huawei] display aaa online-fail-record mac-address 64e5-99f3-18f6 ---------------------------------------------------------------- User name : test Domain name : domaintest User MAC : 64e5-99f3-18f6 User access type : 802.1x User access interface : Wlan-Dbss17496 Qinq vlan/User vlan : 0/200 User IP address : - User IPV6 address : - User ID : 32873 User login time : 2020/10/24 1634 User online fail reason : Authorization data error Authen reply message : - User name to server : test AP ID : 0 Radio ID : 0 AP MAC : 18de-d777-c120 SSID : dot1x_test ----------------------------------------------------------------
原因為RADIUS服務器授權了相關權限(如VLAN或者ACL等),但設備上無對應的授權內容配置(如未創建授權VLAN或者未創建授權ACL)。
通過業務診斷功能,追蹤終端用戶上線認證過程,看到RADIUS服務器下發的授權內容:
[Huawei] trace object mac-address 64e5-99f3-18f6 [Huawei] trace enable
授權VLAN檢查失敗
[BTRACE][2020/10/24 1614][6144][RADIUS][64e5-99f3-18f6]: Received a authentication accept packet from radius server(server ip = 12.12.12.1). [BTRACE][2020/10/24 1614][6144][RADIUS][64e5-99f3-18f6]: Server Template: 4 Server IP : 12.12.12.1 Server Port : 1812 Protocol: Standard Code : 2 Len : 194 ID : 194 [Tunnel-Type ] [6 ] [13] [Tunnel-Medium-Type ] [6 ] [6] [Tunnel-Private-Group-ID ] [6 ] [201] [EAP-Message ] [6 ] [03 4a 00 04 ] [State ] [16] [01uY31125N] [MS-MPPE-Send-Key ] [52] [fb a1 e9 55 16 62 a3 e5 da 35 fc ce 3e 8f ae 7d ac 0a d6 0b 20 59 ad 82 a8 66 88 06 6a 81 10 82 61 95 2e cf 44 50 c0 79 e5 3f a4 32 43 45 a5 9e 2b c4 ] [MS-MPPE-Recv-Key ] [52] [fb a1 e9 65 b1 18 6d 60 8f 0a ed af 53 1e 26 8a e6 18 9d 26 8c 21 c8 4f c2 8a 6a d5 a8 85 8a 9d ba d8 be 8d 97 b8 b8 d3 24 04 21 23 90 71 33 35 f4 6b ] [Message-Authenticator ] [18] [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] [BTRACE][2020/10/24 1614][6144][RADIUS][64e5-99f3-18f6]:Send authentication reply message to AAA. [BTRACE][2020/10/24 1614][6144][AAA][64e5-99f3-18f6]: AAA receive AAA_RD_MSG_AUTHENACCEPT message(50) from RADIUS module(235). [BTRACE][2020/10/24 1614][6144][AAA][64e5-99f3-18f6]: CID:57 TemplateNo:4 SerialNo:73 SrcMsg:AAA_RD_MSG_AUTHENREQ PriyServer::: Vrf:0 SendServer:12.12.12.1 Vrf:0 SessionTimeout:0 IdleTimeout:0 AcctInterimInterval:0 RemanentVolume:0 InputPeakRate:0 InputAverageRate:0 OutputPeakRate:0 OutputAverageRate:0 InputBasicRate:0 OutputBasicRate:0 InputPBS:0 OutputPBS:0 Priority:[0,0] DNS:[0.0.0.0, 0.0.0.0] ServiceType:0 LoginService:0 AdminLevel:0 FramedProtocol:0 LoginIpHost:0 NextHop:0 EapLength:4 ReplyMessage: TunnelType:13 MediumType:6 PrivateGroupID:201 WlanReasonCode:0 [BTRACE][2020/10/24 1614][6144][AAA][64e5-99f3-18f6]: [AAA ERROR]AAA check authen ack, check VLANID error! [BTRACE][2020/10/24 1614][6144][AAA][64e5-99f3-18f6]:Radius authorization data error. [BTRACE][2020/10/24 1614][6144][AAA][64e5-99f3-18f6]: [AAA ERROR]authen finish,the authen fail code is:16,reason is:Radius authorization data error.
授權VLAN須知:
授權VLAN需要同時下發RADIUS 64號屬性Tunnel-Type,值固定為13,表示VLAN協議,RADIUS 65號屬性Tunnel-Medium-Type,值固定為6,表示以太類型,RADIUS 81號屬性Tunnel-Private-Group-ID,支持通過VLAN編號、VLAN描述信息、VLAN名稱和VLAN Pool授權,并且授權生效順序為:VLAN編號 > VLAN描述信息 > VLAN名稱 > VLAN Pool。
授權ACL檢查失敗
Received a authentication accept packet from radius server(server ip = 12.12.12.1). [BTRACE][2020/10/24 1619][6144][RADIUS][64e5-99f3-18f6]: Server Template: 4 Server IP : 12.12.12.1 Server Port : 1812 Protocol: Standard Code : 2 Len : 182 ID : 205 [Filter-Id ] [6 ] [3000] [EAP-Message ] [6 ] [03 4c 00 04 ] [State ] [16] [01uY31432103] [MS-MPPE-Send-Key ] [52] [bd ce 7f 1d bf 78 33 d4 6c 45 d8 d0 1b f7 ee d2 02 16 7a ac fd 62 25 88 f7 84 7a 22 44 d8 01 8a 99 a3 33 66 7d 47 e9 a7 ed 88 d5 01 f8 62 4f 9d cd 56 ] [MS-MPPE-Recv-Key ] [52] [bd ce 7f 54 6f 27 35 d1 01 5c f1 5e aa e8 27 91 c7 8b 89 2f 06 8f ac 46 13 5c 92 78 ec cf 39 aa dc bb f8 ff b1 b8 5c 42 6b f8 ca 80 76 b1 e8 35 c9 ed ] [Message-Authenticator ] [18] [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] [BTRACE][2020/10/24 1619][6144][RADIUS][64e5-99f3-18f6]:Send authentication reply message to AAA. [BTRACE][2020/10/24 1619][6144][AAA][64e5-99f3-18f6]: AAA receive AAA_RD_MSG_AUTHENACCEPT message(50) from RADIUS module(235). [BTRACE][2020/10/24 1619][6144][AAA][64e5-99f3-18f6]: CID:58 TemplateNo:4 SerialNo:75 SrcMsg:AAA_RD_MSG_AUTHENREQ PriyServer::: Vrf:0 SendServer:12.12.12.1 Vrf:0 SessionTimeout:0 IdleTimeout:0 AcctInterimInterval:0 RemanentVolume:0 InputPeakRate:0 InputAverageRate:0 OutputPeakRate:0 OutputAverageRate:0 InputBasicRate:0 OutputBasicRate:0 InputPBS:0 OutputPBS:0 Priority:[0,0] DNS:[0.0.0.0, 0.0.0.0] ServiceType:0 LoginService:0 AdminLevel:0 FramedProtocol:0 LoginIpHost:0 NextHop:0 EapLength:4 ReplyMessage: TunnelType:0 MediumType:0 PrivateGroupID: ACLID:3000 WlanReasonCode:0 [BTRACE][2020/10/24 1619][6144][AAA][64e5-99f3-18f6]: [AAA ERROR]AAA check radius authen ack, check acl error! [BTRACE][2020/10/24 1619][6144][AAA][64e5-99f3-18f6]:Radius authorization data error. [BTRACE][2020/10/24 1619][6144][AAA][64e5-99f3-18f6]: [AAA ERROR]authen finish,the authen fail code is:16,reason is:Radius authorization data error.
授權ACL須知:無線場景下,授權ACL ID取值范圍為3000-3031,ACL中rule id最大為64。
RADIUS服務器授權數據失敗排查步驟如下:
1. 確認是否需要對應的授權。
如果需要,則需要在設備上創建對應的授權內容,如授權VLAN需要在設備上創建對應VLAN;如授權ACL需要創建對應ACL,并且在ACL中配置相應規則。
如果不需要,可以修改RADIUS服務器上的授權策略,將對應授權內容刪除,也可以在設備通過配置忽略對應的授權內容,配置命令如下:
忽略授權VLAN:
[Huawei] radius-server template radius_test [Huawei-radius-radius_test] radius-server attribute translate [Huawei-radius-radius_test] radius-attribute disable Tunnel-Private-Group-ID receive
忽略授權ACL:
[Huawei] radius-server template radius_test [Huawei-radius-radius_test] radius-server attribute translate [Huawei-radius-radius_test] radius-attribute disable Filter-Id receive
終端與設備之間存在NAT
通過debugging web all,可以看到收到終端http請求報文,但源IP地址不是用戶實際IP地址,出現報錯“[Web-Evt] WEBAdp FindOut AccessIf By IpVrf. Can't Find Sta Mac By Ip(0xc0c0c4b) From AC Snooping Table!”。
Dec 01 2020 1714.947.1+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Web receive http msg. Dec 01 2020 1714.947.2+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Web http msg accept. Dec 01 2020 1714.947.3+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] Src:User Event:Accept HTTP connect(IP:12.12.12.75 , PORT:10253 , RequestId:669978704.) Dec 01 2020 1714.947.4+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] [WEB RecvHttp] Userip = 12.12.12.75,UserVrf = 0. Dec 01 2020 1714.947.5+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Method:GET Dec 01 2020 1714.947.6+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] HTTP Version:HTTP/1.1 Dec 01 2020 1714.947.7+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Http Version:HTTP/1.1 Dec 01 2020 1714.947.8+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:669978704, Field:Content-Length, ret:1 Dec 01 2020 1714.947.9+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:669978704, Field:If-Modified-Since, ret:1 Dec 01 2020 1714.947.10+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:669978704, Field:Cookie, ret:1 Dec 01 2020 1714.947.11+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:669978704, Field:Referer, ret:1 Dec 01 2020 1714.947.12+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] WEB Get Header Value, RequestId:669978704, Field:Host, ret:1 Dec 01 2020 1714.947.13+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] WEBAdp FindOut AccessIf By IpVrf. Can't Find Sta Mac By Ip(0xc0c0c4b) From AC Snooping Table! Dec 01 2020 1714.947.14+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] WEBAdp FindOut AccessIf By IpVrf. Get IP information.(ulGwIpaddr=12.12.12.76,ulDstIpaddr=12.12.12.0, ulDstIpMask=255.255.255.0) Dec 01 2020 1714.947.15+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Evt] Get ulNextHop.(ulNextHop=0xc0c0c4c) Dec 01 2020 1714.947.16+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Err] WEBAdp FindOut AccessIf By IpVrf. Get Sta Info By Mac Failed! Dec 01 2020 1714.947.17+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get user access ifinex by ip fail[1]: ip[12.12.12.75] Dec 01 2020 1714.947.18+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get receive ifindex by CIB fail!. Dec 01 2020 1714.947.19+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Get user ifindex[4], L3IfIndex[4294967295], VID[12]. Dec 01 2020 1714.947.20+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Msg] Portal disable on ifindex[4], L3IfIndex[4294967295]. Dec 01 2020 1714.947.1+08:00 AC6605_8_76 WEB/7/DEBUG: [Web-Err] Get web server config fail[1]. [Huawei] display access-user ----------------------------------------------------------------- UserID Username IP address MAC Status ----------------------------------------------------------------- 16654 5cd998bc034c 200.1.1.64 5cd9-98bc-034c Pre-authen ----------------------------------------------------------------- Total: 1, printed: 1
該問題原因為終端用戶與設備之間存在NAT,設備收到終端http請求報文的源IP地址為NAT轉后之后的IP地址,設備根據該IP地址無法查找到用戶信息,導致認證失敗。
如果設備版本為V200R019及之后版本,該問題可通過增加配置使用HTTP/HTTPS協議進行Portal認證時CAPWAP隧道轉發的IP地址來解決,該CAPWAP隧道轉發的IP地址為設備本機地址,與設備登錄URL對應的IP地址相同。
[Huawei] portal tunnel-forward ip 12.12.12.76
信息采集
用戶狀態
[Huawei] display access-user mac-address xxxx-xxxx-xxxx
trace和station-trace
在AC上采集trace信息,復現問題,可看到終端認證過程。
[Huawei] trace object mac-address xxxx-xxxx-xxxx [Huawei] trace object ip-address xx.xx.xx.xx [Huawei] trace enable
在AC上采集station-trace信息,復現問題,可看到AP上終端認證報文收發情況。
[Huawei-diagnose] station-trace sta-mac xxxx-xxxx-xxxx
采集完成后,需要關閉trace信息
[Huawei] undo trace object mac-address xxxx-xxxx-xxxx [Huawei] undo trace object ip-address xx.xx.xx.xx [Huawei] undo trace enable [Huawei-diagnose] undo station-trace sta-mac xxxx-xxxx-xxxx
終端上下線原因
AAA側終端上下線原因查看命令:
[Huawei] display aaa online-fail-record mac-address xxxx-xxxx-xxxx [Huawei] display aaa abnormal-offline-record mac-address xxxx-xxxx-xxxx [Huawei] display aaa offline-record mac-address xxxx-xxxx-xxxx
WLAN側終端上下線原因查看命令:
[Huawei-diagnose] display station online-fail-record sta-mac xxxx-xxxx-xxxx [Huawei-diagnose] display station offline-record sta-mac xxxx-xxxx-xxxx
協議回放
RADIUS協議回放
[Huawei-diagnose] display aaa abnormal-radius-track mac xxxx-xxxx-xxxx日志
AAA上線日志(記錄在AC log日志中)
%%01CM/5/USER_ACCESSRESULT(s)[395622]:[WLAN_STA_INFO_AUTHENTICATION]ACMAC:xx-xx-xx-xx-xx-xx;ACNAME:xxx;APMAC:xx-xx-xx-xx-xx-xx;APNAME:xxx;SSID:xxx;RADIOID:1;USER:xxx;MAC:xx-xx-xx-xx-xx-xx;IPADDRESS:-;TIME:1608639482;ZONE:UTC+0300;DAYLIGHT:false;ERRCODE:4294967295;RESULT:Open;USERGROUP:NULL;CIB ID:10192;INTERFACE:Wlan-Dbss18108;ACCESS TYPE:None;RDSIP:-;Portal TYPE:-;AUTHID=866625466;AuthFailType:MAC;AUTHPROTOCOL:PAP;
AAA下線日志(記錄在AC log日志中)
%%01CM/5/USER_OFFLINERESULT(s)[395621]:[WLAN_STA_INFO_OFFLINE]ACMAC:xx-xx-xx-xx-xx-xx;ACNAME:xxx;APMAC:xx-xx-xx-xx-xx-xx;APNAME:xxx;SSID:xxx;RADIOID:1;USER:xxx;MAC:xx-xx-xx-xx-xx-xx;IPADDRESS:-;TIME:1608639482;ZONE:UTC+0300;DAYLIGHT:false;SESSIONTIME:2;ERRCODE:208;RESULT:Authentication during association failed;USERGROUP:NULL;AUTHENPLACE:None;EXTENDINFO:The signal strength of the STA is -43 dbm.;CIB ID:11430;INTERFACE:Wlan-Dbss18108;ACCESS TYPE:None;RDSIP:-;Portal TYPE:-;AUTHID=1837558961;AUTHPROTOCOL:-;
AP上dot1x高精度日志(記錄在AP log日志中)
%%01WSRV/6/STA_EVENT_DOT1X_PROC(l)[294062]:dot1x authentication procedure(ApMac=xx-xx-xx-xx-xx-xx,UserMac=xx-xx-xx-xx-xx-xx,Identify=xxx,RadioId=1,Band=2,VapId=20,SSID=xxx,Result=Fail,Msg=ae 5 17;se 0 19;se 38 26;ae 6 47;se 166 49;ae 1012 77;se 6 104;ae 1008 121;se 6 122;ae 10 154;se 136 162;ae 57 219;se 6 229;ae 36 246;se 69 248;ae 69 269;se 123 272;ae 82 293;se 37 294;ae 46 314;se 46 315;ae 4
AP上終端關聯/去關聯日志
一鍵診斷信息
[Huawei] display diagnostic-information
原文標題:S系列交換機維護寶典 | HTTP協議外置Portal認證失敗
文章出處:【微信公眾號:華為產品資料】歡迎添加關注!文章轉載請注明出處。
-
服務器
+關注
關注
12文章
9021瀏覽量
85185 -
HTTP
+關注
關注
0文章
501瀏覽量
31065 -
URL
+關注
關注
0文章
139瀏覽量
15312
原文標題:S系列交換機維護寶典 | HTTP協議外置Portal認證失敗
文章出處:【微信號:huaweidoc,微信公眾號:華為產品資料】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論