04-Portal
本章节下载: 04-Portal (471.96 KB)
本帮助主要介绍以下内容:
· 特性简介
○ 免认证规则
○ 接口策略
○ 在线用户信息
Portal在英语中是入口的意思。Portal认证通常也称为Web认证,即通过Web页面接受用户输入的用户名和密码,对用户进行身份认证,以达到对用户访问进行控制的目的。
Portal认证是一种灵活的访问控制技术,可以在接入层以及需要保护的关键数据入口处实施访问控制,具有如下优势:
· 可以不安装客户端软件,直接使用Web页面认证,使用方便。
· 可以为运营商提供方便的管理功能和业务拓展功能,例如运营商可以在认证页面上开展广告、社区服务、信息发布等个性化的业务。
· 支持多种组网型态,例如二次地址分配认证方式可以实现灵活的地址分配策略且能节省公网IP地址,可跨三层认证方式可以跨网段对用户作认证。
Portal系统中包括五个实体:
· 认证客户端:用户终端的客户端系统,为运行HTTP/HTTPS协议的浏览器或运行Portal客户端软件的主机。
· 接入设备:交换机、路由器等宽带接入设备的统称。
· Portal认证服务器:接收Portal客户端认证请求的服务器端系统,与接入设备交互认证客户端的认证信息。
· Portal Web服务器:负责向客户端提供Web认证页面,并将客户端的认证信息(用户名、密码等)提交给Portal认证服务器。Portal Web服务器通常与Portal认证服务器是一体的,也可以是独立的服务器端系统。
· AAA服务器:与接入设备进行交互,完成对用户的认证、授权和计费。
在Portal认证的过程中,如果接入设备与Portal认证服务器的通信中断,则会导致新用户无法上线,已经在线的Portal用户无法正常下线的问题。为解决这些问题,需要接入设备能够及时探测到Portal认证服务器可达状态的变化,并能触发执行相应的操作来应对这种变化带来的影响。
开启Portal认证服务器的可达性探测功能后,无论是否有接口上开启了Portal认证功能,设备会定期检测Portal认证服务器发送的报文(例如,用户上线报文、用户下线报文、心跳报文)来判断服务器的可达状态:若设备在指定的探测时长内收到Portal报文,且验证其正确,则认为此次探测成功且服务器可达,否则认为此次探测失败,服务器不可达。
当接入设备检测到Portal认证服务器可达或不可达状态改变时,可执行以下一种或多种操作:
· 发送Trap信息:Portal认证服务器可达或者不可达的状态改变时,向网管服务器发送Trap信息。Trap信息中记录了Portal认证服务器名以及该服务器的当前状态。
· 发送日志:Portal认证服务器可达或者不可达的状态改变时,发送日志信息。日志信息中记录了Portal认证服务器名以及该服务器状态改变前后的状态。
为了解决接入设备与Portal认证服务器通信中断后,两者的Portal用户信息不一致问题,设备提供了一种Portal用户信息同步功能。该功能利用了Portal同步报文的发送及检测机制,具体实现如下:
1. 由Portal认证服务器周期性地(周期为Portal认证服务器上指定的用户心跳间隔值)将在线用户信息通过用户同步报文发送给接入设备。
2. 接入设备在用户上线之后,即开启用户同步检测定时器,在收到用户同步报文后,将其中携带的用户列表信息与自己的用户列表信息进行对比,如果发现同步报文中有设备上不存在的用户信息,则将这些自己没有的用户信息反馈给Portal认证服务器,Portal认证服务器将删除这些用户信息;如果发现接入设备上的某用户信息在一个用户同步报文的检测超时时间内,都未在该Portal认证服务器发送过来的用户同步报文中出现过,则认为Portal认证服务器上已不存在该用户,设备将强制该用户下线。
该功能用于配置用户访问Portal Web服务器时,要求携带的一些参数,比较常用的是要求携带用户IP地址、用户MAC地址、初始访问的URL。在自定义URL参数中用户也可以手工指定,携带一些特定的字符信息。配置完成后,在设备给用户强制重定向URL时会携带这些参数,例如配置Portal Web服务器的URL为:http://www.test.com/portal,若同时选择如下两个参数信息:用户的IP地址和初始访问的URL,且初始访问的URL为http://www.abc.com/welcome则设备给源IP为1.1.1.1的用户重定向时回应的URL格式即为:http://www.test.com/portal?userip=1.1.1.1&userurl=http://www.abc.com/welcome。
在Portal认证的过程中,如果接入设备与Portal Web服务器的通信中断,将无法完成整个认证过程,因此必须对Portal Web服务器的可达性进行探测。
由于Portal Web服务器用于对用户提供Web服务,不需要和设备交互报文,因此无法通过发送某种协议报文的方式来进行可达性检测。无论是否有接口上开启了Portal认证功能,开启了Portal Web服务器的可达性探测功能之后,接入设备模拟用户进行Web访问的过程来实施探测:接入设备主动向Portal Web服务器发起TCP连接,如果连接可以建立,则认为此次探测成功且服务器可达,否则认为此次探测失败。
· 探测参数
○ 探测间隔:进行探测尝试的时间间隔。
○ 探测次数:允许连续探测失败的最大次数。若连续探测失败数目达到此值,则认为服务器不可达。
· 可达状态改变时触发执行的操作(可以选择其中一种或同时使用多种)
○ 发送Trap信息:Portal Web服务器可达或者不可达的状态改变时,向网管服务器发送Trap信息。Trap信息中记录了Portal Web服务器名以及该服务器的当前状态。
○ 发送日志:Portal Web服务器可达或者不可达的状态改变时,发送日志信息。日志信息中记录了Portal Web服务器名以及该服务器状态改变前后的状态。
本地Portal Web服务器功能是指,Portal认证系统中不采用外部独立的Portal Web服务器和Portal认证服务器,而由接入设备实现Portal Web服务器和Portal认证服务器的功能。这种情况下,Portal认证系统仅包括三个基本要素:认证客户端、接入设备和AAA服务器。
认证客户端和内嵌本地Portal Web 服务器的接入设备之间可以采用HTTP和HTTPS协议通信。若客户端和接入设备之间交互HTTP协议,则报文以明文形式传输,安全性无法保证;若客户端和接入设备之间交互HTTPS协议,则报文基于SSL提供的安全机制以密文的形式传输,数据的安全性有保障。
本地Portal Web服务器支持由用户自定义认证页面的内容,即允许用户编辑一套或多套认证页面的HTML文件,并将其压缩之后使用添加按钮将其上传到设备中。
需要将设备中的一套自定义的认证页面文件设置为系统缺省的认证页面文件。从而本地Portal Web服务器可以根据不同的认证阶段向客户端推出对应的认证页面。如果没有设置缺省认证页面文件,则本地Portal Web服务器功能无法实现。
用户自定义的认证页面为HTML文件的形式,并将其压缩之后使用添加按钮将其上传到设备中。每套认证页面可包括六个主索引页面(登录页面、登录成功页面、登录失败页面、在线页面、系统忙碌页面、下线成功页面)及其页面元素(认证页面需要应用的各种元素,如Logon.htm页面中的背景图片),每个主索引页面可以引用若干页面元素。
用户在自定义这些页面时需要遵循一定的规范,否则会影响本地Portal Web服务器功能的正常使用和系统运行的稳定性。
主索引页面文件名不能自定义,必须使用下表中所列的固定文件名。
主索引页面 |
文件名 |
登录页面 |
logon.htm |
登录成功页面 |
logonSuccess.htm |
登录失败页面 |
logonFail.htm |
在线页面 用于提示用户已经在线 |
online.htm |
系统忙页面 用于提示系统忙或者该用户正在登录过程中 |
busy.htm |
下线成功页面 |
logoffSuccess.htm |
主索引页面文件之外的其他文件名可由用户自定义,但需注意文件名和文件目录名中不能含有中文且不区分大小写。
· 本地Portal Web服务器只能接受Get请求和Post请求。
· Get请求用于获取认证页面中的静态文件,其内容不能为递归内容。例如,Logon.htm文件中包含了Get ca.htm文件的内容,但ca.htm文件中又包含了对Logon.htm的引用,这种递归引用是不允许的。
· Post请求用于用户提交用户名和密码以及用户执行登录、下线操作。
· 认证页面中表单(Form)的编辑必须符合以下原则:
○ 认证页面可以含有多个Form,但是必须有且只有一个Form的action=logon.cgi,否则无法将用户信息送到本地Portal服务器。
○ 用户名属性固定为”PtUser”,密码属性固定为”PtPwd”。
○ 需要有用于标记用户登录还是下线的属性”PtButton”,取值为"Logon"表示登录,取值为"Logoff"表示下线。
○ 登录Post请求必须包含”PtUser”,”PtPwd”和"PtButton"三个属性。
○ 下线Post请求必须包含”PtButton”这个属性。
· 需要包含登录Post请求的页面有logon.htm和logonFail.htm。
logon.htm页面脚本内容的部分示例:
<form action=logon.cgi method = post >
<p>User name:<input type="text" name = "PtUser" style="width:160px;height:22px" maxlength=64>
<p>Password :<input type="password" name = "PtPwd" style="width:160px;height:22px" maxlength=32>
<p><input type=SUBMIT value="Logon" name = "PtButton" style="width:60px;" onclick="form.action=form.action+location.search;”>
</form>
· 需要包含下线Post请求的页面有logonSuccess.htm和online.htm。
online.htm页面脚本内容的部分示例:
<form action=logon.cgi method = post >
<p><input type=SUBMIT value="Logoff" name="PtButton" style="width:60px;">
</form>
· 完成所有认证页面的编辑之后,必须按照标准Zip格式将其压缩到一个Zip文件中,该Zip文件的文件名只能包含字母、数字和下划线。
· 压缩后的Zip文件中必须直接包含认证页面,不允许存在间接目录。
若要支持认证成功后自定义认证页面的自动跳转功能,即认证页面会在用户认证成功后自动跳转到设备指定的网站页面,则需要按照如下要求在认证页面logon.htm和logonSuccess.htm的脚本文件中做如下改动。
· 将logon.htm文件中的Form的target值设置为“_blank”。
修改的脚本内容如下突出显示部分所示:
<form method=post action=logon.cgi target="_blank">
· logonSucceess.htm文件添加页面加载的初始化函数“pt_init()”。
增加的脚本内容如下突出显示部分所示:
<html>
<head>
<title>LogonSuccessed</title>
<script type="text/javascript" language="javascript" src="pt_private.js"></script>
</head>
<body onload="pt_init();" onbeforeunload="return pt_unload();">
... ...
</body>
</html>
通过配置免认证规则可以让特定的用户不需要通过Portal认证即可访问外网特定资源,这是由免认证规则中配置的源信息以及目的信息决定的。
免认证规则的匹配项包括IP地址、TCP/UDP端口号、源MAC地址、源接口和源VLAN ID,只有符合免认证规则的用户报文才不会触发Portal认证,因此这些报文所属的用户可以直接访问网络资源。
当接入设备探测到Portal认证服务器不可达时,可打开接口的网络限制,允许Portal用户不需经过认证即可访问网络资源,也就是通常所说的Portal逃生功能。
配置此功能后,设备向Portal认证服务器上传通知类Portal协议报文时使用的源IP地址为设置的BAS-IP地址。
如果没有配置此功能,则设备向Portal认证服务器上传Portal协议报文时使用的源IP地址的选择分为一下两种情况:
· 对于响应类报文IPv4 Portal报文中的BAS-IP属性为报文的源IPv4地址,IPv6 Portal报文中的BAS-IPv6属性为报文源IPv6地址。
· 对于通知类报文IPv4 Portal报文中的BAS-IP属性为出接口的IPv4地址,IPv6 Portal报文中的BAS-IPv6属性为出接口的IPv6地址。
IPv4探测类型为ARP方式探测或ICMP方式探测,IPv6探测类型为ND方式探测或ICMPv6方式探测。
ARP和ND方式的探测只适用于直接方式和二次地址分配方式的Portal认证。ICMP和ICMPv6方式的探测适用于所有认证方式。
根据探测类型的不同,设备有以下两种探测机制:
· 当探测类型为ICMP/ICMPv6时,若设备发现在设定的闲置时间内接口上未收到某Portal用户的报文,则会向该用户以设置的探测间隔来周期性的发送探测报文。如果在指定探测次数之内,设备收到了该用户的响应报文,则认为用户在线,且停止发送探测报文,重复这个过程,否则,强制其下线。
· 当探测类型为ARP/ND时,若设备发现在设定的闲置时间内接口上未收到某Portal用户的报文,则会向该用户发送ARP/ND请求报文。设备以设置的探测间隔定期检测用户ARP/ND表项是否被刷新过,如果在指定探测次数内用户ARP/ND表项被刷新过,则认为用户在线,且停止检测用户ARP/ND表项,重复这个过程,否则,强制其下线。
在线用户信息列表可显示当前所有或某个接口上通过Portal认证的在线用户信息,通过查看该列表可获取当前在线用户的用户名、用户地址、MAC地址、Portal认证服务器名称和详细内容。
· 目前,只有iMC的Portal认证服务器支持发送心跳报文,由于心跳报文是周期性发送的,所以iMC的Portal认证服务器可以更好得与设备配合,使其能够及时而准确地探测到它的可达性状态。如果要采用心跳报文探测Portal服务器的可达性,服务器上必须保证逃生心跳功能处于开启状态。
· 如果同时指定了多种操作,则Portal认证服务器可达状态改变时系统可并发执行多种操作。
只有在支持Portal用户心跳功能(目前仅iMC的Portal认证服务器支持)的Portal认证服务器的配合下,本功能才有效。为了实现该功能,还需要在Portal认证服务器上选择支持用户心跳功能,且服务器上配置的用户心跳间隔要小于等于设备上配置的检测超时时间。
· 内嵌本地Portal Web服务器的接入设备实现了简单的Portal Web服务器功能,仅能给用户提供通过Web方式登录、下线的基本功能,并不能完全替代独立的Portal服务器。
· 相同协议类型的本地Portal Web服务器仅能创建一个。
· 若HTTPS协议类型的本地Portal Web服务器指定了SSL服务器端策略,则该服务器的TCP端口号不可配置为443。
· 如果免认证规则中同时配置了接口和VLAN,则要求接口属于指定的VLAN,否则该规则无效。
· 相同内容的免认证规则不能重复配置,否则提示免认证规则已存在或重复。
· 无论接口上是否使能Portal认证,只能添加或者删除免认证规则,不能修改。
· 设备上运行Portal协议2.0版本时,主动发送给Portal认证服务器的报文(例如强制用户下线报文)中必须携带BAS-IP属性。设备上运行Portal协议3.0版本时,主动发送给Portal认证服务器必须携带BAS-IP或者BAS-IPv6属性。
· 接口上使能了二次地址分配认证方式的Portal认证时,如果Portal认证服务器上指定的设备IP不是Portal报文出接口IP地址,则必须通过配置相应的BAS-IP地址,使其值与Portal认证服务器上指定的设备IP一致,否则Portal用户无法认证成功。
· 使用iMC的Portal认证服务器的情况下,如果Portal服务器上指定的设备IP不是设备上Portal报文出接口的IP地址,则使能了Portal认证的接口上必须配置BAS-IP地址。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!