Portal认证常见问题以及无感知认证排障

1天前发表
  • 0收藏

描述

Portal认证常见问题与注意事项

 

1.portal认证时序

 

2.portal认证不弹出认证页面

可达性检测:(1)确保客户端上线并且已经获取ip地址;(2)确保终端可以pingportal server的地址,如果不通,说明

客户端到portal服务器的路由有问题,检查配置,排除路由问题。检查防火墙是否关闭或者检查防火墙是否放通终端到服务

器的8080端口。检查认证服务器端口状态。

② DNS检查:直接输入ip是否可以弹出认证页面,如果是那可能是DNS问题,需要检查DNS。检查是否配置DNS。检查终端

DNS是否可达,如果不可达,检查是否配置了DNS免认证规则,配置命令为portal free-rule 放通DNS地址。如果可达,

再查看DNS能否正常解析地址。

重定向检查:如果直接输入ip无法弹出认证页面,用户在浏览器中手动输入portal web server url地址,如能正常打开认证

界面,则可能是重定向问题。可以通过抓包或者在ACdebugging portal redirect 看重定向是否有报错。如果直接输入url

也不弹,可能是服务器上没有绑定该终端的ip地址组,或者是服务器上的portal设备压根没有绑定端口组,或者端口组绑定

错误ip地址组。

Debug portal packet     -----查看设备与服务器的报文交互

Debug portal redirect   -----查看重定向

Debug radius packet    -----查看radius交互

Debug portal all

Debug radius all

 

 

3.portal url参数设置

设备重定向给用户的Portal Web服务器的URL默认是不携带参数,需要根据实际应用手动添加需要携带的参数信息具体参考案例:

comware V7 portal重定向指定URL携带参数配置 - 知了社区

某局点远程portal认证失败经验案例 - 知了社区

 

4.用户闲置切断时间与DHCP服务器租约时间配置关系

闲置切断时间配置起码是DHCP租约的三分之一左右,例:dhcp租约若为24小时,则portal闲置超时最好设置为8小时以内,也就是小于1/3dhcp租约。

 

V7 无线portal无感知认证排查

什么是portal无感知认证?portal无感知认证也叫MAC快速认证。从用户体验的角度来看,就是用户首次上网时打开浏览器需要输入用户名和密码进行次认证,后续不需要输入用户名密码就能直接上网的认证方案。相当于“一次输入,永久使用”,当然这个永久是相对来说的,服务器可以控制这个时间。

当前Portal无感知方案的种类较多,但根据服务器是否支持mac-trigger协议区分,主要有如下两种方案:

方案一:Portal Mac-Trigger无感知认证方案

无线portal无感知认证是在普通的Portal认证架构新增了一个MAC绑定查询服务器。并对原Portal认证流程做了改动,增加了一个重定向之前的步骤,即用户流量到AC后并不立刻触发Portal重定向,而是由AC先和MAC绑定服务器完成MAC绑定查询,只有未绑定MAC的用户才触发Portal重定向走普通认证流程,普通portal认证流程通过,服务器记录该MAC地址的绑定表项。对于已经绑定MAC的用户,AC不会触发重定向功能,而是等待Portal Server或MAC绑定服务器(此时充当Portal Server)向AC发起针对该绑定用户的Portal认证,认证通过,AC即放行用户,服务器记录该MAC地址的绑定表项,此过程中用户并不需要介入,因此也称为无感知认证。

方案二:Portal和MAC混合认证的无感知认证方案

对于不支持Mac-Trigger协议的服务器,AC可以通过mac+portal认证方式实现。用户首次连接:无线Client连接到AP,先触发MAC地址认证,服务器检查该MAC地址为首次认证,返回给设备认证失败;设备发现该MAC地址认证失败,如果配置了client-security ignore-Authentication命令,则保持Client无线连接为正常状态;用户浏览器触发http报文,Portal检查该用户没有MAC认证通过,则触发Portal认证;Portal认证成功,服务器记录该MAC地址的绑定表项,通常都是Portal server跟Radius server联动,Radius server创建对应的MAC账号;

用户再次连接时:无线Client连接到AP,先触发MAC地址认证,服务器检查该MAC地址绑定表项已经存在,返回认证成功。用户MAC认证成功。用户浏览器触发http报文,Portal检查该用户MAC地址认证通过,直接放行该用户的报文,不触发Portal认证。

二、流程图相关操作说明:

1、Portal认证正常

MAC快速认证是以原有的Portal认证流程为基础,所以普通Portal认证业务正常是MAC快速认证的前提。先确保普通的Portal认证业务正常,其次才是检查AC和MAC绑定查询服务器的交互过程。

测试方法:对未绑定MAC的终端进行Portal业务测试;或者在AC上取消MAC快速认证功能,测试常规Portal业务。

2、排查Portal认证故障

如果常规Portal业务存在故障,则按云图——《V7无线Portal认证排错》标准流程图处理。

3、AC和Server通信正常

AC需要和Server完成对用户MAC绑定的查询,因此AC和Server的路由可达也是MAC快速认证成功的前提之一。

测试方法:带nas-ip源ping Server地址。

4、排查路由网络

保证AC和MAC Server路由可达。

5、检查认证配置

1)检查AC的radius scheme及domain域配置。方案一和方案二配置如下

# 创建名称为rs1的RADIUS方案,并进入该方案视图。

[AC] radius scheme rs1

# 配置RADIUS方案的主认证和主计费服务器及其通信密钥。

[AC-radius-rs1] primary authentication 192.168.0.111

[AC-radius-rs1] primary accounting 192.168.0.111

[AC-radius-rs1] key authentication simple xxxxxx

[AC-radius-rs1] key accounting simple xxxxxx

# 配置发送给RADIUS服务器的用户名不携带ISP域名。

[AC-radius-rs1] user-name-format without-domain

# 使能RADUIS session control功能。

[AC] radius session-control enable

# 开启RADIUS DAE服务,并进入RADIUS DAE服务器视图。

[AC] radius dynamic-author server

# 设置RADIUS DAE客户端的IP地址为192.168.0.111,与RADIUS DAE客户端交互DAE报文时使用的共享密钥为明文xxxxxx

[AC-radius-da-server] client ip 192.168.0.111 key simple xxxxxx

# 创建名为dm1的ISP域并进入其视图。

[AC] domain dm1

# 为Portal用户配置AAA认证/授权/计费方法为RADIUS。

[AC-isp-dm1] authentication portal radius-scheme rs1

[AC-isp-dm1] authorization portal radius-scheme rs1

[AC-isp-dm1] accounting portal radius-scheme rs1

# 指定ISP域dm1下的用户闲置切断时间为15分钟,闲置切断时间内产生的流量为1024字节。

[AC-isp-dm1] authorization-attribute idle-cut 15 1024



特别的,如果采用方案二,还需配置mac认证的AAA方式如下

# 为MAC用户配置AAA认证/授权/计费方法为RADIUS。

[AC-isp-dm1]authentication lan-access radius-scheme rs1

[AC-isp-dm1]authorization lan-access radius-scheme rs1

[AC-isp-dm1]accounting lan-access radius-scheme rs1


2)检查portal/web server配置

# 配置Portal认证服务器,名称为newpt,IP地址为192.168.0.111

[AC] portal server newpt

[AC-portal-server-newpt] ip 192.168.0.111

# 配置Portal认证服务器类型为CMCC。

[AC-portal-server-newpt] server-type cmcc

# 配置Portal Web服务器的URL为http://192.168.0.111:8080/portal。

[AC] portal web-server newpt

[AC-portal-websvr-newpt] url http://192.168.0.111:8080/portal

# 配置设备重定向给用户的Portal Web服务器的URL中携带参数ssid、wlanuserip和wlanacname,其值分别为AP的SSID、用户的IP地址和AC名称(这三个参数与中国移动对接时必配,与第三方对接时,需要获知server对url的携带要求)。

[AC-portal-websvr-newpt] url-parameter ssid ssid

[AC-portal-websvr-newpt] url-parameter wlanuserip source-address

[AC-portal-websvr-newpt] url-parameter wlanacname value AC

# 配置Portal Web服务器类型为CMCC。

[AC-portal-websvr-newpt] server-type cmcc

# 开启无线Portal漫游功能。

[AC] portal roaming enable

# 关闭无线Portal客户端ARP表项固化功能。

[AC] undo portal refresh arp enable

# 开启无线Portal客户端合法性检查功能。

[AC] portal host-check enable


3)在服务模板配置认证方式

方案一,需要创建MAC绑定服务器

# 在无线服务模板st1上使能直接方式的Portal认证。

[AC] wlan service-template st1

[AC-wlan-st-st1] portal enable method direct

# 配置接入的Portal用户使用认证域为dm1。

[AC-wlan-st-st1] portal domain dm1

# 在无线服务模板st1上引用Portal Web服务器newpt。

[AC-wlan-st-st1] portal apply web-server newpt

# 配置Portal基于MAC地址的快速认证

# 创建MAC绑定服务器mts,并进入MAC绑定服务器视图。

[AC] portal mac-trigger-server mts

# 配置用户免认证流量的阀值为1024字节。

[AC-portal-mac-trigger-server-mts] free-traffic Threshold 1024

# 配置MAC绑定服务器的地址为192.168.0.111。

[AC-portal-mac-trigger-server-mts] ip 192.168.0.111

# 配置MAC绑定服务器类型为CMCC。

[AC- mac-trigger-server-mts] server-type cmcc

# 在无线服务模板上应用MAC绑定服务器mts。

[AC] wlan service-template st1

[AC-wlan-st-st1] portal apply mac-trigger-server mts


方案二,需要再配置MAC地址认证

# 在无线服务模板上开启直接方式的Portal认证

Portal必须在无线服务模板下使能,不要在VLAN接口下使能

[AC–wlan-st-newst]portal enable method direct

# 在无线服务模板上引用Portal Web服务器newpt。

[AC–wlan-st-newst]portal apply web-server newpt

# 配置无线服务模板Portal认证域

[AC–wlan-st-newst]portal domain dm1

# 配置全局的端口安全。

[AC] port-security enable

# 配置无线服务模板的MAC地址认证功能。

[AC–wlan-st-newst]client-security authentication-mode mac

# 配置无线服务模板的忽略认证结果认证功能

[AC–wlan-st-newst]client-security ignore-authention

# 配置无线服务模板MAC地址认证域为dm1

[AC–wlan-st-newst]mac-authentiion domain dm1



6、收集debug信息

先排除简单配置和服务器路由可达性的问题,再通过设备上的调试信息辅助定位。开启debug前检查下CPU、内存情况,反馈400确认风险后实施。收集完成后及时关闭。

方案一,开启如下debug

<AC> debugging portal packet interface Vlan-interface xxx

<AC> debugging portal mac-trigger

<ACdebugging radius packet


对照MAC快速认证的原理流程来分析debug信息。基本过程简述如下:

1)AC向MAC Server发送Portal Type:48(0x30)的查询报文;

2)MAC Server回应Portal Type:49(0x31)的应答报文,ErrCode为0表示MAC已绑定,ErrCode为1表示MAC未绑定;

3)Portal Server/MAC Server向AC发起Portal认证,用于认证的用户名\密码为MAC Server从AAA同步过来的账号信息;

4)AC向Radius服务器发起AAA认证;

5)认证通过后用户能访问网络。

详细debug信息的分析如下:

*Jul 14 08:56:45:287 2016 H3C_ CME0 PORTAL/7/PACKET:

Portal sent 47 bytes of packet: Type=req_macbind_info(48), ErrCode=0, IP=100.1.1.2

*Jul 14 08:56:45:288 2016 H3C_ CME0 PORTAL/7/PACKET:

[ 11 SESSIONID           ] [  8] [68db-ca64-23fd]

[ 10 BASIP               ] [  6] [192.168.0.20]

[ 48 NASID               ] [  6] [1164]

[ 30 SSID                ] [ 11] [portal-V7]

 

*Jul 14 08:56:45:288 2016 H3C_ CME0 PORTAL/7/PACKET:

01 30 00 00 a7 63 00 00 64 01 01 02 00 00 00 04

0b 08 68 db ca 64 23 fd 0a 06 c0 a8 00 14 30 06

31 31 36 34 1e 0b 70 6f 72 74 61 6c 2d 56 37

 

*Jul 14 08:56:45:304 2016 H3C_ CME0 PORTAL/7/PACKET:

Portal received 16 bytes of packet: Type=ack_macbind_info(49), ErrCode=0, IP=100.1.1.2

*Jul 14 08:56:45:304 2016 H3C_ CME0 PORTAL/7/PACKET:

01 31 00 00 a7 63 00 00 64 01 01 02 00 00 00 00

首先,检查MAC查询交互


正常的debug情况如上,如果服务器回应Type=ack_macbind_info(49)号报文,且ErrCode为0,说明MAC查询成功;若ErrCode为1,说明MAC查询失败;如果服务器没有Type:49号报文回应,则说明报文在网络侧丢失或者服务器未响应,需要排查路由或者服务器侧配置。

其次,检查Portal交互 

*Jun 21 10:43:50:834 2016 H3C PORTAL/7/PACKET:

Portal received 32 bytes of packet: Type=req_challenge(1), ErrCode=0, IP=100.1.1.2

*Jun 21 10:43:50:834 2016 H3C PORTAL/7/PACKET:

02 01 00 00 00 5e 00 00 64 01 01 02 00 00 00 00

cb 11 b4 63 ef 77 74 f5 f6 a6 62 b2 7b 17 a2 39

 

*Jun 21 10:43:50:852 2016 H3C PORTAL/7/PACKET:

Portal sent 56 bytes of packet: Type=ack_challenge(2), ErrCode=0, IP=100.1.1.2

*Jun 21 10:43:50:852 2016 H3C PORTAL/7/PACKET:

[  3 CHALLENGE           ] [ 18] [84eb8c6084d8fb9b153f29010aee6657]

[ 10 BASIP               ] [  6] [192.168.0.20]

 

*Jun 21 10:43:50:852 2016 H3C PORTAL/7/PACKET:

02 02 00 00 00 5e 00 10 64 01 01 02 00 00 00 02

13 69 7f 51 c4 70 ba 60 fe da 20 86 89 4a 99 10

03 12 84 eb 8c 60 84 d8 fb 9b 15 3f 29 01 0a ee

66 57 0a 06 c0 a8 00 14

 

*Jun 21 10:43:50:853 2016 H3C PORTAL/7/PACKET:

Portal received 80 bytes of packet: Type=req_auth(3), ErrCode=0, IP=100.1.1.2

*Jun 21 10:43:50:853 2016 H3C PORTAL/7/PACKET:

[  1 USERNAME            ] [  6] [1234]

[  4 CHAPPWD             ] [ 18] [e81fa58c34b46b1aee2a29ff1b4854e3]

[  3 CHALLENGE           ] [ 18] [84eb8c6084d8fb9b153f29010aee6657]

[ 10 BASIP               ] [  6] [192.168.0.20]

 

*Jun 21 10:43:50:853 2016 H3C PORTAL/7/PACKET:

02 03 00 00 00 5e 00 10 64 01 01 02 00 00 00 04

8a 82 64 ec 53 a5 91 a4 78 0c 59 c5 35 d1 e4 0b

01 06 31 32 33 34 04 12 e8 1f a5 8c 34 b4 6b 1a

ee 2a 29 ff 1b 48 54 e3 03 12 84 eb 8c 60 84 d8

fb 9b 15 3f 29 01 0a ee 66 57 0a 06 c0 a8 00 14


此步骤已经走到正常的Portal认证流程了。

上一步MAC查询成功后,表示用户已绑定MAC,则AC会等待Portal Server/MAC Server向设备发起Portal认证。其中共有3个报文交互,Portal Type:1(REQ_CHALLENGE)、Type:2(ACK_CHALLENGEType:3(REQ_AUTH)。

最后就是等待第三步AC完成AAA交互。检查AAA交互:

*Jun 21 10:43:50:968 2016 H3C RADIUS/7/PACKET:

    User-Name="1234"

    CHAP-Password=0x10e81fa58c34b46b1aee2a29ff1b4854e3

    CHAP-Challenge=0x84eb8c6084d8fb9b153f29010aee6657

    Service-Type=Framed-User

    Framed-Protocol=255

    NAS-Identifier="H3C"

    NAS-Port=33554532

    NAS-Port-Type=Wireless-802.11

    NAS-Port-

    Calling-Station-

    Called-Station-

    Acct-Session-

    Framed-IP-Address=100.1.1.2

    H3c-Ip-Host-Addr="100.1.1.2 68:db:ca:64:23:fd"

    H3c_DHCP_OPTION55=0x017903060f77fc

    NAS-IP-Address=192.168.0.20

    H3c-Product-

    H3c-Nas-Startup-Timestamp=1465227975

*Jun 21 10:43:50:968 2016 H3C RADIUS/7/PACKET:

 01 f7 01 26 87 8d d3 17 8f 64 3e a3 73 33 39 10

 27 fc 73 ef 01 06 31 32 33 34 03 13 10 e8 1f a5

 8c 34 b4 6b 1a ee 2a 29 ff 1b 48 54 e3 3c 12 84

*Jun 21 10:43:50:970 2016 H3C RADIUS/7/PACKET:

    User-Name="1234"

    Service-Type=Framed-User

    State=0x6a6a477a544b6b62

    Termination-Action=Default

    Filter-

    Session-Timeout=86400

    Acct-Interim-Interval=600

    H3c-Server-String=[]

*Jun 21 10:43:50:970 2016 H3C RADIUS/7/PACKET:

 02 f7 00 88 43 c3 d4 5f 7c a7 15 02 57 c5 69 b7

 e3 8e 63 d1 01 06 31 32 33 34 06 06 00 00 00 02

 18 0a 6a 6a 47 7a 54 4b 6b 62 1d 06 00 00 00 00 


此过程为标准的Radius认证流程,第一个字节01表示Code=[1]为认证请求报文,02表示Code=[2]为认证成功响应;详细debug报文解析文中省略。

如果此过程交互成功,即代表MAC认证最终完成,用户可以访问网络。如果收到的服务器回应报文不是Code=[2],而是Code=[3]认证拒绝报文,则代表AAA拒绝用户登录,报文详细解析中一般会携带拒绝的原因。

最后,MAC快速认证用户上线成功后,AC会通过Portal Type:50通知MAC绑定服务器用户上线;用户下线后,AC会通过Portal Type:52通知MAC绑定服务器用户下线。此过程不再详述。

方案二,在方案一的基础上增加了wlan 相关debug,开启如下

<ACdebugging portal packet interface xxx

<ACdebugging radius packet

<AC> debug wlan access-security all



用户首次连接:无线Client连接到AP,先触发MAC地址认证,服务器检查该MAC地址为首次认证,返回给设备认证失败:

%Nov 18 09:13:21:094 2016 H3C STAMGR/5/STAMGR_MACA_LOGIN_FAILURE : -Username=3480b3ba2104-UserMAC=3480-b3ba-2104-BSSID=84d9-31d5-6802-SSID=ABC-VLANID=66-UsernameFormat=MAC address; A user failed MAC authentication.


设备发现该MAC地址认证失败,如果配置了client-security ignore-Authentication命令,则保持Client无线连接为正常状态;用户浏览器触发http报文,Portal检查该用户没有MAC认证通过,则触发Portal认证;之后就与方案一的普通Portal认证流程一致

*Jun 21 10:43:50:834 2016 H3C PORTAL/7/PACKET:

Portal received 32 bytes of packet: Type=req_challenge(1), ErrCode=0, IP=100.1.1.2

*Jun 21 10:43:50:852 2016 H3C PORTAL/7/PACKET:

Portal sent 56 bytes of packet: Type=ack_challenge(2), ErrCode=0, IP=100.1.1.2

*Jun 21 10:43:50:852 2016 H3C PORTAL/7/PACKET:

[  3 CHALLENGE           ] [ 18] [84eb8c6084d8fb9b153f29010aee6657]

[ 10 BASIP               ] [  6] [192.168.0.20]

*Jun 21 10:43:50:853 2016 H3C PORTAL/7/PACKET:

Portal received 80 bytes of packet: Type=req_auth(3), ErrCode=0, IP=100.1.1.2

*Jun 21 10:43:50:853 2016 H3C PORTAL/7/PACKET:

[  1 USERNAME            ] [  6] [1234]

[  4 CHAPPWD             ] [ 18] [e81fa58c34b46b1aee2a29ff1b4854e3]

[  3 CHALLENGE           ] [ 18] [84eb8c6084d8fb9b153f29010aee6657]

[ 10 BASIP               ] [  6] [192.168.0.20]


Portal认证成功,服务器记录该MAC地址的绑定表项,通常都是Portal sevrer跟Radius server联动,Radius server创建对应的MAC账号。

用户再次连接时:无线Client连接到AP,先触发MAC地址认证,服务器检查该MAC地址绑定表项已经存在,返回认证成功。

Radius code 1的认证请求:

<AC>*Nov 23 15:36:34:227 2016 H3C RADIUS/7/PACKET:

    User-Name="98f170336261"

    User-Password=******

    Service-Type=Call-Check

    Framed-Protocol=PPP

    NAS-Identifier="6646"

    NAS-Port=150

    NAS-Port-Type=Wireless-802.11

    NAS-Port-

    Calling-Station-

    Called-Station-

    Acct-Session-

    Framed-IP-Address=192.168.150.1

    H3c-Ip-Host-Addr="192.168.150.1 98:f1:70:33:62:61"

    H3c_DHCP_OPTION55=0x012103060f1c333a3b

    NAS-IP-Address=192.168.0.22

    H3c-Product-

    H3c-Nas-Startup-Timestamp=1479472555

*Nov 23 15:36:34:227 2016 5540E RADIUS/7/PACKET:

 01 77 01 1d b2 59 d4 cf 37 6c 7d 11 5c 55 23 e1

 76 65 c5 f4 01 0e 39 38 66 31 37 30 33 33 36 32

 36 31 02 12 db dd 70 0f 4c d3 1b 25 c2 10 03 c8

 60 6b 07 3e 06 06 00 00 00 0a 07 06 00 00 00 01

 20 06 36 36 34 36 05 06 00 00 00 96 3d 06 00 00

 00 13 57 0d 56 4c 41 4e 49 44 3d 31 35 30 3b 1f

 13 39 38 2d 46 31 2d 37 30 2d 33 33 2d 36 32 2d

 36 31 1e 20 34 38 2d 37 41 2d 44 41 2d 35 32 2d

 46 35 2d 43 30 3a 67 73 2d 70 6f 72 74 61 6c 2d

 76 37 2c 28 30 30 30 30 30 30 30 34 32 30 31 36 


Radius code 2的认证应答:

 *Nov 23 15:36:34:229 2016 H3C RADIUS/7/PACKET:

    User-Name="98f170336261"

    Service-Type=Call-Check

    State=0x574e46566b576264

    Termination-Action=Default

    Session-Timeout=86400

    Acct-Interim-Interval=600

    H3c-Server-String=[]

*Nov 23 15:36:34:229 2016 5540E RADIUS/7/PACKET:

 02 77 00 8b fa b0 fa 44 73 3f 37 7a 3b ba c0 d5

 cf f7 48 6c 01 0e 39 38 66 31 37 30 33 33 36 32

 36 31 06 06 00 00 00 0a 18 0a 57 4e 46 56 6b 57

 62 64 1d 06 00 00 00 00 1b 06 00 01 51 80 55 06

 00 00 02 58 1a 47 00 00 63 a2 3d 41 36 06 00 00

 00 00 37 06 00 00 00 00 38 06 00 00 00 00 3a 06

 00 00 00 00 42 06 00 00 00 00 4a 06 00 00 00 00

 43 11 56 37 30 30 52 30 30 33 42 30 34 44 30 30

 34 3d 0a 57 4e 46 56 6b 57 62 64

%Nov 23 15:36:34:229 2016 5540E STAMGR/6/STAMGR_MACA_LOGIN_SUCC: -Username=98f170336261-UserMAC=98f1-7033-6261-BSSID=487a-da52-f5c1-SSID=gs-portal-v7-VLANID=150-UsernameFormat=MAC address; A user passed MAC authentication and came online.


最后,AC报告mac认证用户上线成功。

 


提出建议

    +

亲~登录后才可以操作哦!

确定

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作