Print

ACG1000-M配合iMC进行portal认证提示“向设备发送请求超时”的解决办法

2016-02-18发表

使用ACG1000-M配合iMC进行Portal认证时,提示“向设备发送请求超时”


1、按照以往处理“向设备发送请求超时”的经验,此问题一般是接入秘钥配置不正确导致的。查看iMC上的配置信息,如下截图所示,其中要特别注意Portal设备秘钥及接入设备iMC是否配置正确,检查之后发现问题依旧,所以判断不是接入秘钥的问题导致的。  

2、分析portal日志:

2016-02-18 12:46:10.661[Portal服务器][调试(0)][21][ProxyRequestHandler::run]192.168.97.122 ; CODE_PP_LOGIN_REQUEST(100) ; 65 ; 192.168.1.150:56008 ; 报文处理成功

   
        Packet Type:CODE_PP_LOGIN_REQUEST(100)
        SerialNo:65
        Address:192.168.1.150
        Port:50908
        RemoteIp:192.168.1.150
        RemotePort:56008
        Version:portal 2.0
        Auth Type:CHAP
        ErrorID:0
        UserIP:192.168.97.122
        UserPort:0
        ReqID:0
        Rsvd:0
        attriNum:10
   
   
        Public Ip:192.168.97.122
        Private Ip:192.168.97.122
        Old Public Ip:192.168.97.122
        Old Private Ip:192.168.97.122
        Heart beat type:0
        User Name:test001@user
        User Password:***
        Web Language:Chinese
        Start Time:1455770770640
        User Agent Info:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36
   


2016-02-18 12:46:10.669[Portal服务器][调试(0)][24][ProxyResponseDeviceHandler::run]192.168.97.122 ; REQ_AUTH(3) ; 45 ; 172.30.0.2:2000 ; 报文处理成功

   
        Packet Type:REQ_AUTH(3)
        SerialNo:45
        Address:192.168.1.150
        Port:50300
        RemoteIp:172.30.0.2
        RemotePort:2000
        Version:portal 2.0
        Auth Type:PAP
        ErrorID:0
        UserIP:192.168.97.122
        UserPort:0
        ReqID:0
        Rsvd:0
        attriNum:3
   
   
        User Name:test001@user
        Password:***
        Device Ip:172.30.0.2
   

2016-02-18 12:46:10.682[Portal服务器][调试(0)][49][UserAgentProcessorManager::updateTerminalInfo]update mac regist info: sql = UPDATE TBL_MAC_REGIST_INFO SET OBTAINED_BY_USERAGENT = 1, HTTP_USERAGENT = ? WHERE USER_IPV4 = ?
2016-02-18 12:46:14.668[Portal服务器][调试(0)][24][ProxyResponseDeviceHandler::run]192.168.97.122 ; REQ_LOGOUT(5) ; 45 ; 172.30.0.2:2000 ; 设备回应—报文超时(1)

   
        Packet Type:REQ_LOGOUT(5)
        SerialNo:45
        Address:192.168.1.150
        Port:50300
        RemoteIp:172.30.0.2
        RemotePort:2000
        Version:portal 2.0
        Auth Type:PAP
        ErrorID:1
        UserIP:192.168.97.122
        UserPort:0
        ReqID:0
        Rsvd:0
        attriNum:1
   
   
        Device Ip:172.30.0.2
   


2016-02-18 12:46:14.684[Portal服务器][调试(0)][22][ProxyResponseClientHandler::run]192.168.97.122 ; CODE_PP_LOGIN_RESPONSE(101) ; 65 ; 192.168.1.150:56008 ; 向设备发送请求超时(124)

   
        Packet Type:CODE_PP_LOGIN_RESPONSE(101)
        SerialNo:65
        Address:192.168.1.150
        Port:50300
        RemoteIp:192.168.1.150
        RemotePort:56008
        Version:portal 2.0
        Auth Type:PAP
        ErrorID:124
        UserIP:192.168.97.122
        UserPort:0
        ReqID:0
        Rsvd:0
        attriNum:0
   
   
   


2016-02-18 12:46:14.690[Portal服务器][调试(0)][21][ProxyRequestHandler::run]192.168.97.122 ; ACK_LOGOUT(6) ; 45 ; 172.30.0.2:2000 ; 报文处理成功(0)

   
        Packet Type:ACK_LOGOUT(6)
        SerialNo:45
        Address:192.168.1.150
        Port:50908
        RemoteIp:172.30.0.2
        RemotePort:2000
        Version:portal 2.0
        Auth Type:PAP
        ErrorID:0
        UserIP:192.168.97.122
        UserPort:0
        ReqID:0
        Rsvd:0
        attriNum:0
   
   
   



    00000000h: 00 00 00 00 00 00 00 00    00 00 00 00 AC 1E 00 02 ;................
    00000010h: 07 D0 C3 B4 02 06 01 00    00 2D 00 00 C0 A8 61 7A ;.........-....az
    00000020h: 00 00 00 00                                        ;....

 

3、在REQ_AUTH报文交互后我们进一步分析Radius日志

CODE = 1.
  ID   = 5.
  ATTRIBUTES:
    NAS-Identifier(32) = "3C-8C-40-4E-3D-5A".
    Calling-Station-Id(31) = "3C-8C-40-5D-38-EB".
    Called-Station-Id(30) = "3C-8C-40-4E-3D-5A:bvi0".
    NAS-Port-Id(87) = "trunk bvi0".
    Acct-Session-Id(44) = "      5678:3C-8C-40-5D-38-EB".
    NAS-IP-Address(4) = 2887647234.
    Framed-IP-Address(8) = 3232260474.
    NAS-Port(5) = 1812.
    NAS-Port-Type(61) = 15.

% 2016-02-18 12:46:10.670 ; [WARNING (2)] ; [13220] ; UAM ; $SYS$ ; (NULL) ; (NULL) ; (NULL) ; RecieveMain(): no attribute of User-Name.
% 2016-02-18 12:46:10.670 ; [ERROR   (1)] ; [13220] ; CAMS ; $SYS$ ; (NULL) ; (NULL) ; (NULL) ; ifEnabledRASAuth(): no attribute of User-Name.
% 2016-02-18 12:46:10.670 ; [ERROR   (1)] ; [13220] ; UAM ; $SYS$ ; (NULL) ; (NULL) ; (NULL) ; ReceiveMain(): Call ifEnabledRASAuth() unsuccessfully.
% 2016-02-18 12:46:15.671 ; [L_DEBUG (4)] ; [13220] ; LAN ; 172.30.0.2 ; 1 ; 5cff6f55506048e082184f0ddd5b5824 ; (NULL) ; RT[0]: Receive message from 172.30.0.2:

我们看到在CODE=1的报文交互中存在“no attribute of user-name”,也就是没有携带用户姓名,在正常的Radius报文交互中,CODE=1应该携带用户的相关属性信息(包括用户名),若不携带用户姓名,则认证无法通过。我们看到了在Portal的REQ_AUTH中的Attribute属性中携带了User_name,可在Radius的CODE=1中就丢弃了。这就不难解释为什么设备在REQ_AUTH之后就提示超时,并且服务器向设备发送了REQ_LOGOUT请求。而具体的丢弃原因需要进一步进行分析。

我们注意到Portal的报文交互过程并没有REQ_INFO这一步,查看Portal设备配置截图之后发现使用ACG1000进行portal认证时才用了CMCC2.0的协议。而CMCC2.0协议省略了REQ_INFO这一步骤。经过研发内部分析得知是由于EIA 7.1E03028P18及后续版本做了修改,即使用该版本配合ACG进行Portal认证时只能采用CMCC1.0协议,不可以采用CMCC2.0协议。修改配置后问题解决。


将iMC上的Portal设备的版本选择为CMCC 1.0即可。


1、在处理与ACG的问题上,应该多注意配置细节。且ACG结合iMC进行Portal认证时后台报文处理流程和普通Portal有些区别,如取消了REQ_INFO的报文交互。