云服务器内容精选

  • 功能概述 三方认证主要应用于商业Wi-Fi终端用户在商场、大型综超、酒店、机场等场所通过Wi-Fi访问互联网的场景。第三方合作伙伴为终端用户提供认证Portal页面,并调用华为云管理控制器API授权接口,或通过标准RADIUS协议与云管理交互,从而实现认证、计费、用户分析、市场营销等服务。 在三方认证中只有云平台中继认证才会需要进行二次开发,当前支持的云平台中继认证有如下两种: 云平台中继认证(API方式) 云平台中继认证(HTTPS+RADIUS方式) 父主题: 云平台中继认证
  • 前置条件 已有AP设备并上线,同时将该设备纳管至目标站点,具体操作方法请参见配套产品文档的“添加设备”章节。 第三方系统具备Portal认证和授权等能力。 云平台中继认证(API方式),需要通过RESTful接口来实现,所需要满足如下要求: 用户具备一定的Restful基本开发能力,并了解云平台的Restful API接口。 已具有云平台API权限的租户帐号和对应的API接口操作权限管理帐号,具体操作方法请参见用户身份认证。 父主题: 云平台中继认证(API方式)
  • 认证流程 终端用户在访问互联网时,连接Wi-Fi的SSID,登录由第三方Portal服务器的Portal页面进行认证。第三方RADIUS服务器与iMaster NCE-Campus通过标准RADIUS协议对接,实现Portal认证和计费等功能。 图1 RADIUS中继方式认证流程 对于MAC优先的RADIUS中继认证,前提需要第三方RADIUS服务器支持MAC认证,MAC优先的RADIUS中继认证流程如下图所示。 图2 MAC优先的RADIUS中继方式认证流程
  • 数据规划 表1 用户接入数据规划 数据类型 取值 说明 SSID wlan-guest - WLAN安全策略 开放网络Open+Portal认证 - 对接方式 RADIUS中继 - 推送协议 HTTP - 第三方Portal页面认证参数 "用户名"参数名称:username 设置第三方Portal页面认证所需的用户名参数名。 "密码"参数名称:password 设置第三方Portal页面认证所需的密码参数名。 跳转URL匹配规则:重定向URL参数 根据请求中携带的URL地址的参数名和参数值进行重定向URL地址的获取,当匹配上参数名,获取对应的参数值作为重定向URL地址进行跳转。 "认证成功跳转URL"参数名称:successUrl 设置第三方Portal页面认证成功的跳转URL参数名。 RADIUS中继服务器 Radius-Relay-Server 绑定中继服务器模板。 Portal免认证 ON 首次认证成功后,再次连接WIFI无需认证。 实时计费 ON,计费上报周期:15分钟 - 默认放行规则 名称:ACL ACL编号:6000 规则列表: 域名 *.third_portal.com IP 10.10.10.1/32 放通DNS服务器IP地址和第三方Portal服务器域名。 表2 Portal页面推送策略规划 数据类型 取值 说明 名称 DemoPush - 接入方式 无线 - SSID匹配 ON 匹配SSID进行推送策略 SSID wlan-guest 认证方式 云平台中继认证 - 对接方式 RADIUS中继 - URL模板 URL-Radius-Relay 绑定URL模板 第三方认证URL http://third_portal.com 填写第三方Portal服务器的认证URL。
  • 认证流程 终端用户在访问互联网时,连接Wi-Fi的SSID,登录由第三方系统推送的Portal页面进行认证。第三方系统调用华为iMaster NCE-CampusiMaster NCE-WAN云管理平台认证授权API,给AP设备授权终端Wi-Fi接入权限,从而使终端用户访问互联网。 图1 iMaster NCE-CampusiMaster NCE-WAN与第三方系统通过API方式交互 第三方认证系统,可以根据客户需求进行Portal页面定制、广告推送等应用,主要包含如下两大子系统: 1:PortalServer:用于提供Portal认证功能。 2:授权平台:用于调用云平台的API接口,实现对终端的控制能力(如授权、授权结果查询、强制用户下线等)。 父主题: 云平台中继认证(API方式)
  • 参数说明 表1 “策略模板”(URL模板) 参数名称 说明 名称 用于唯一标识URL模板。 模板类型 “云平台中继认证”和“第三方认证”可供选择。 模板参数 赋值方式 范围: 替换控制器已有值:选择iMaster NCE-Campus已有参数。 用户自定义:用户自定义参数值。 约束和限制:赋值方式仅“云平台中继认证”类型有效。 参数内容 指定在URL中携带的模板参数信息。 模板类型不同,支持定义的模板参数也不同。各参数详细说明以及填写要求请参见表2。 参数名称 第三方portal服务器认证所需参数名称。 MAC地址格式设置(仅“模板类型”选择为“云平台中继认证”可配置) 默认不开启,开启后可设置“模板参数”中的“参数内容”为ap-mac、device-mac、user-mac参数的MAC地址格式。 开关开启时支持的设置的格式包含: MAC地址大小写:“大写”,“小写”。 MAC地址连接符:“横杠(-)”,“点(.)”,“冒号(:)”,“无连接符”。 MAC地址格式:“XXXX-XXXX-XXXX”,“XX-XX-XX-XX-XX-XX”。 URL参数加密(仅“模板类型”选择为“云平台中继认证”可配置) URL参数名称 为了传输数据的安全,希望Portal服务器和控制器之间传递的URL参数能够经过加密处理时,可通过使能此开关实现。 开启后URL参数会整体加密,仅支持AES-CBC算法。 密钥 三方认证系统和iMaster NCE-Campus对接时,该系统使用的对接密钥和密钥向量。 密钥IV向量 表2 模板参数 模板类型 参数 参数说明 取值 云平台中继认证 device-mac 指定在URL中携带认证设备的MAC地址。 取值为1~64位字母、短线、数字或下划线,不能以数字开头。 redirect-url 指定在URL中携带用户重定向前访问的原始URL。 ssid 指定在URL中携带用户关联的SSID名称。 user-ip 指定在URL中携带接入用户的IP地址。 user-mac 指定在URL中携带接入用户的MAC地址。 loginurl 指定在URL中携带iMaster NCE-Campus提供的用户认证的URL。 ap-location 指定在URL中携带AP的位置信息。 fitap-mac 指定在URL中携带WAC+FitAP认证场景下,FitAP的MAC地址信息。 sync-login-url 指定在URL中携带三方Portal服务器回调的认证同步接口信息。 sync-login-http-url 指定在URL中携带三方Portal服务器回调的认证同步HTTP接口信息。 site-code 指定在URL中携带站点认证码信息。 device-type 指定在URL中携带认证设备的设备类型信息。 site-name 指定在URL中携带站点名称信息。 第三方认证 ap-ip AP的IP地址。 取值为1~16位的半角字符,不能包含空格。 device-ip 认证设备的IP地址,对于普通云AP,需要使用ap-ip参数。 ap-mac AP的MAC地址。 redirect-url 用户重定向前访问的原始URL。 ssid 用户关联的SSID名称。 sysname 认证设备的系统名称。 user-ip 用户的IP地址。 user-mac 用户的MAC地址。 device-mac 认证设备的MAC地址,对于普通云AP,需要使用ap-mac参数。 interface 用户接入的设备接口。 esn 认证设备的ESN。 ap-location AP的位置信息。 login-url 认证设备的登录URL。其中: url-key:重定向时携带给Portal服务器登录URL的识别关键字。 url:接入设备上指定的URL。 说明: 中心AP不支持此参数。 “login-url”有两个值需要填充,url-key和url之间需要用空格隔开。例如:XX Y。 url-key:重定向时携带给Portal服务器登录URL的识别关键字。字符串形式,不支持空格、问号、和号和等于号,区分大小写,长度范围是1~16。 url:接入设备上指定的URL。字符串形式,不支持空格,区分大小写,长度范围是1~247。
  • 支持的RADIUS消息 iMaster NCE-CampusiMaster NCE-WAN作为中继角色,可以将RADIUS消息发送给第三方的RADIUS服务器,实现认证、授权和计费功能。支持的RADIUS消息字段如下所示: 表1 认证消息列表 消息列表 说明 User-Name(1) 用户名,设置时候可以带域名(如user0001@isp),也可以不带域名(如user0001)。内容可以是用户MAC或配置的用户名。 User-Password(2) 用户密码,PAP认证时,用户密码由NAS加密后传递给服务器。系统支持的用户PAP认证密码长度为0~128。内容可以是MAC地址或配置的密码。 Called-Station-ID(30) 用来携带NAS设备的号码信息,一般为设备MAC地址(有线用户)或SSID(WLAN无线用户)。 Calling-Station-ID(31) 用来携带客户端的号码信息,一般为MAC地址。 Acct-Session-ID(44) 计费ID。格式:7位主机名+2位槽号+1位子卡号+2位端口号+ 4位外层VLAN+5位内层VLAN+6位CPU Tick+6位用户连接ID。 Framed-IP-Address(8) 用户的IP地址。 NAS-Port-ID(87) 用户接入的槽位号、子槽位号、端口号及vlanid。格式有两种: 老格式:2位槽号+2位子卡号+3位端口号+9位VLAN。 新格式:slot=槽号;subslot=子卡号;port=端口;vlanid=VLAN或者 slot=槽号;subslot=子卡号;port=端口;vlanid=外层VLAN ;vlanid2=内层VLAN。 NAS-Port-Type(61) 设置NAS的端口类型,用户在交换机接口下可以配置。默认类型是Ethernet(15),无线用户为IEEE_802.11(19)。 Service-Type(6) 提供的服务类型。 2(Framed):PPP、802.1x用户等其他用户。 5(Outbound):IPSession接入用户。 6(Administrative):管理用户。 10(Call Check):MAX认证用户。 表2 授权消息列表 消息列表 说明 Session-Timeout(27) 在Access-Accept报文中,表示用户剩余的时间,以秒为单位。 在CHALLENGE报文中作为EAP用户的重认证时长。 下发数值必须大于0。可利用该属性下发用户在线时长。 Idle-Timeout(28) 用户的闲置切断时间,以秒为单位。 HW-Input-Committed-Information-Rate(26-2) 上行承诺速率,单位bps(上行CIR)。 HW-Output-Committed-Information-Rate(26-5) 下行承诺速率,单位bps(下行CIR)。 Reply-Message(18) 此属性可用于认证接受报文中,表示成功消息,也可用于认证拒绝报文中,表示拒绝消息。目前只对WEB认证用户,会把此信息传给用户。对于WEB认证,必须WEB服务器的版本支持。 Filter-ID(11) 通常该属性携带用户ACL号或用户组名或ucl-group名。RADIUS报文中只能携带ACL号或用户组名,不能同时携带两者。 表3 计费消息列表 消息列表 说明 Acct-Delay-Time(41) 用于上报发送该计费包花费的时间, 以秒为单位(不包括网络传输时间)。计费服务器收到该计费请求包后,可以从该计费请求包到达计费服务器的时间减去Acct-Delay-Time表示的时间得到NAS生成该计费请求包的时间(报文创建的时间)。在交换机中,Acct-Delay-Time表示的时间由两部分构成,一部分是RADIUS模块到AAA来取数据的时间和最近一次刷新的时间差,另外一部分是RADIUS模块发送该计费请求包耽误的时间(比如重传花费的时间)。 Acct-Session-ID(44) 计费ID。格式:7位主机名+2位槽号+1位子卡号+2位端口号+ 4位外层VLAN+5位内层VLAN+6位CPU Tick+6位用户连接ID。 Acct-Status-Type(40) 计费请求报文的类型。Accounting-Request中支持的计费请求报文类型如下: Start (Value=1) Stop (Value=2) Interium-Update (Value=3) Calling-Station-ID(31) 用来携带客户端的号码信息,一般为MAC地址。 Event-Timestamp(55) 生成计费请求报文的时间 (以秒为单位, 表示从1970年1月1日零点零分零秒以来的绝对秒数)。 Framed-IP-Address(8) 用户的IP地址。 NAS-Identifier(32) NAS设备名称,即sysname,主机名。 NAS-IP-Address(4) 标识设备地址: 可以配置绑定具体的接口,取接口地址作为NAS-IP。 如果没有配置,取报文发送的出接口地址为NAS-IP。 NAS-Port(5) 用户接入的物理端口信息,格式有两种: 12位槽号+8位端口号+12位VLAN,位数不足用0补齐。 8位槽号+4位子卡号+8位端口号+12位VLAN,位数不足用0补齐。 可通过命令行radius-server format-attribute nas-port format-sting配置自定义属性携带的内容,参数format-string定义内容可以为槽号、子槽号、端口、外层VLAN、内层VLAN内容的任意组合,内容之间可以用1或0填充。 format-sting参数详细说明如下: 使用关键字s、t、p、o、i分别表示slot,subslot,port,out-vlan(qinqvlan)/vpi,vlan(user-vlan)/vci。增加两个关键字n、z以便填充用。n表示填1,z表示填0。 s、t、p、o、i、z、n关键字后面必须是数值,并且数值范围为1~32。且s、t、p、o、i中的每个关键字只能出现一次。 s、t、p、o、i、z、n后面若是紧跟数字则第一个数字只能是1~9不能是0。 n、z可以出现在任何位置并且可出现多次,n、z后面跟数字,n12表示该位置填12位1,z12表示该位置填充12位0。 字符串配置的位数加起来必须为32位。 必须以s、t、p、o、i、z、n开头,以数字结尾。 VLAN不存在时填0还是填1可以在o或i关键字前添加n、z说明,也就是说n、z后面可以跟数字或o/i。 Acct-Session-Time(46) 用户的在线时长,以秒为单位。 Acct-Input-Packets(47) 上行流量,单位报文个数。 Acct-Output-Packets(48) 下行流量,单位报文个数。 Acct-Input-Octets(42) 上行流量,单位字节数。 Acct-Output-Octets(43) 下行流量,单位字节数。 Acct-Input-Gigawords(52) 上行流量,单位1G字节数。 父主题: 云平台中继认证(RADIUS方式)
  • 认证流程 终端用户在访问互联网时,连接Wi-Fi的SSID,登录由第三方系统推送的Portal页面进行认证。第三方系统与华为iMaster NCE-CampusiMaster NCE-WAN云管理平台通过标准RADIUS协议对接,实现Portal认证和计费等功能。 图1 iMaster NCE-CampusiMaster NCE-WAN与第三方系统交互流程 父主题: 云平台中继认证(RADIUS方式)
  • 授权结果查询操作步骤 参见配套产品的Restful API参考中“授权结果查询”章节,发起HTTP请求。 HTTP请求示例: GET /controller/cloud/v2/northbound/accessuser/haca/authorizationresult/5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d?nodeIp=192.168.211.236 HTTP/1.1 Host: 192.168.1.125:18002 Content-Type: application/json Accept: application/json Accept-Language: en-US X-AC CES S-TOKEN: CA48D152F6B19D84:637C38259E6974E17788348128A430FEE150E874752CE754B6BF855281219925 收到HTTP响应消息。 HTTP响应示例: HTTP/1.1 200 OK Date: Mon,30 Jul 2018 10:00:00 GMT Server: example-server Content-Type: application/json { "errcode" : "0", "errmsg" : "", "psessionid" : "5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d" }
  • 强制用户下线操作步骤 参见配套产品的Restful API参考中“强制用户下线”章节,发起HTTP请求。 HTTP请求示例: POST /controller/cloud/v2/northbound/accessuser/haca/cutuser HTTP/1.1 Host: 192.168.1.125:18002 Content-Type: application/json Accept: application/json Accept-Language: en-US X-ACCESS-TOKEN: CA48D152F6B19D84:637C38259E6974E17788348128A430FEE150E874752CE754B6BF855281219925 { "thirdUserInfos" : [ { "deviceMac" : "4C-FA-CA-1F-02-00", "deviceEsn" : "21500829352SG5900059", "terminalIpV4" : "10.66.85.177", "terminalIpV6" : "1030::C9B4:FF12:48AA:1A2B", "terminalMac" : "64-80-99-CF-8A-32", "userName" : "test", "psessionid" : "5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d", "nodeIp" : "192.168.211.236" } ] } 收到HTTP响应消息。 HTTP响应示例: HTTP/1.1 200 OK Date: Mon,30 Jul 2018 10:00:00 GMT Server: example-server Content-Type: application/json { "errcode" : "0", "errmsg" : "", "success" : [ { "message" : "success", "psessionid" : "5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d" } ], "failure" : [ { "message" : "success", "psessionid" : "5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d" } ] }
  • 授权终端用户操作步骤 参见配套产品的Restful API参考中“授权终端用户”章节,发起HTTP请求。 HTTP请求示例: POST /controller/cloud/v2/northbound/accessuser/haca/authorization HTTP/1.1 Host: 192.168.1.125:18002 Content-Type: application/json Accept: application/json Accept-Language: en-US X-ACCESS-TOKEN: CA48D152F6B19D84:637C38259E6974E17788348128A430FEE150E874752CE754B6BF855281219925 { "deviceMac" : "4C-FA-CA-1F-02-00", "deviceEsn" : "21500829352SG5900059", "apMac" : "4C-FA-CA-C1-9C-20", "ssid" : "SSID-API", "policyName" : "aa", "terminalIpV4" : "10.66.85.177", "terminalIpV6" : "1030::C9B4:FF12:48AA:1A2B", "terminalMac" : "64-80-99-CF-8A-32", "userName" : "test", "nodeIp" : "192.168.211.236", "temPermitTime" : 300 } 收到HTTP响应消息。 HTTP响应示例: HTTP/1.1 200 OK Date: Mon,30 Jul 2018 10:00:00 GMT Server: example-server Content-Type: application/json { "errcode" : "0", "errmsg" : "", "psessionid" : "5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d" }