04-Portal配置
本章节下载: 04-Portal配置 (416.24 KB)
目 录
1.1.4 使用本地Portal服务器的Portal认证系统
1.4 指定二层Portal认证的本地Portal服务器监听IP地址
1.9 指定Portal用户认证成功后认证页面的自动跳转目的网站地址
Portal在英语中是入口的意思。Portal认证通常也称为Web认证,一般将Portal认证网站称为门户网站。
未认证用户上网时,设备强制用户登录到特定站点,用户可以免费访问其中的服务。当用户需要使用互联网中的其它信息时,必须在门户网站进行认证,只有认证通过后才可以使用互联网资源。
用户可以主动访问已知的Portal认证网站,输入用户名和密码进行认证,这种开始Portal认证的方式称作主动认证。反之,如果用户试图通过HTTP访问其他外网,将被强制访问Portal认证网站,从而开始Portal认证过程,这种方式称作强制认证。
Portal业务可以为运营商提供方便的管理功能,门户网站可以开展广告、社区服务、个性化的业务等,使宽带运营商、设备提供商和内容服务提供商形成一个产业生态系统。
Portal的扩展功能主要是指通过强制接入终端实施补丁和防病毒策略,加强网络终端对病毒攻击的主动防御能力。具体扩展功能如下:
· 安全性检测:在Portal身份认证的基础上增加了安全认证机制,可以检测接入终端上是否安装了防病毒软件、是否更新了病毒库、是否安装了非法软件、是否更新了操作系统补丁等;
· 访问资源受限:用户通过身份认证后仅仅获得访问部分互联网资源(受限资源)的权限,如病毒服务器、操作系统补丁更新服务器等;当用户通过安全认证后便可以访问更多的互联网资源(非受限资源)。
Portal的典型组网方式如图1-1所示,它由五个基本要素组成:认证客户端、接入设备、Portal服务器、认证/计费服务器和安全策略服务器。
图1-1 Portal系统组成示意图
安装于用户终端的客户端系统,为运行HTTP/HTTPS协议的浏览器或运行Portal客户端软件的主机。对接入终端的安全性检测是通过Portal客户端和安全策略服务器之间的信息交流完成的。
交换机、路由器等宽带接入设备的统称,主要有三方面的作用:
· 在认证之前,将用户的所有HTTP请求都重定向到Portal服务器。
· 在认证过程中,与Portal服务器、安全策略服务器、认证/计费服务器交互,完成身份认证/安全认证/计费的功能。
· 在认证通过后,允许用户访问被管理员授权的互联网资源。
接收Portal客户端认证请求的服务器端系统,提供免费门户服务和基于Web认证的界面,与接入设备交互认证客户端的认证信息。
与接入设备进行交互,完成对用户的认证和计费。
与Portal客户端、接入设备进行交互,完成对用户的安全认证,并对用户进行授权操作。
以上五个基本要素的交互过程为:
(1) 未认证用户访问网络时,在Web浏览器地址栏中输入一个互联网的地址,那么此HTTP请求在经过接入设备时会被重定向到Portal服务器的Web认证主页上;若需要使用Portal的扩展认证功能,则用户必须使用Portal客户端。
(2) 用户在认证主页/认证对话框中输入认证信息后提交,Portal服务器会将用户的认证信息传递给接入设备;
(3) 然后接入设备再与认证/计费服务器通信进行认证和计费;
(4) 认证通过后,如果未对用户采用安全策略,则接入设备会打开用户与互联网的通路,允许用户访问互联网;如果对用户采用了安全策略,则客户端、接入设备与安全策略服务器交互,对用户的安全检测通过之后,安全策略服务器根据用户的安全性授权用户访问非受限资源。
· 无论是Web客户端还是H3C iNode客户端发起的Portal认证,均能支持Portal认证穿越NAT,即Portal客户端位于私网、Portal服务器位于公网,接入设备上启用NAT功能的组网环境下,NAT地址转换不会对Portal认证造成影响,但建议在此组网环境下,将发送Portal报文的源地址配置为接口的公网IP地址。
· 目前支持Portal认证的远端认证/计费服务器为RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器。
· 目前通过访问Web页面进行的Portal认证不能对用户实施安全策略检查,安全检查功能的实现需要与H3C iNode客户端配合。
本地Portal服务器功能是指,Portal认证系统中不采用外部独立的Portal服务器,而由接入设备实现Portal服务器功能。这种情况下,Portal认证系统仅包括三个基本要素:认证客户端、接入设备和认证/计费服务器,如图1-2所示。由于设备支持Web用户直接认证,因此就不需要部署额外的Portal服务器,增强了Portal认证的通用性。
图1-2 使用本地Portal服务器的Portal系统组成示意图
· 使用本地Portal服务器的Portal认证系统不支持Portal扩展功能,因此不需要部署安全策略服务器。
· 内嵌本地Portal服务器的接入设备实现了简单的Portal服务器功能,仅能给用户提供通过Web方式登录、下线的基本功能,并不能完全替代独立的Portal服务器。
认证客户端和内嵌本地Portal服务器的接入设备之间可以采用HTTP和HTTPS协议通信。若客户端和接入设备之间交互HTTP协议,则报文以明文形式传输,安全性无法保证;若客户端和接入设备之间交互HTTPS协议,则报文基于SSL提供的安全机制以密文的形式传输,数据的安全性有保障。
本地Portal服务器支持由用户自定义认证页面的内容,即允许用户编辑一套认证页面的HTML文件,并在压缩之后保存至设备的存储设备中。该套自定义页面中包括六个认证页面:登录页面、登录成功页面、在线页面、下线成功页面、登录失败页面和系统忙页面。本地Portal服务器根据不同的认证阶段向客户端推出对应的认证页面,若不自定义,则分别推出系统提供的缺省认证页面。
不同的组网方式下,可采用的Portal认证方式不同。按照网络中实施Portal认证的网络层次来分,Portal的认证方式分为两种:二层认证方式和三层认证方式。
本系列以太网交换机目前仅支持二层Portal认证方式。这种方式支持在接入设备连接用户的二层端口上开启Portal认证功能,只允许源MAC地址通过认证的用户才能访问外部网络资源。目前,该认证方式仅支持本地Portal认证,即接入设备作为本地Portal服务器向用户提供Web认证服务。另外,该方式还支持服务器下发授权VLAN和将认证失败用户加入认证失败VLAN功能。
目前,二层Portal认证只支持本地Portal认证,即由接入设备作为本地Portal服务器向用户提供Web认证服务,具体认证过程如下。
图1-3 二层Portal认证流程图
(1) Portal用户通过HTTP协议发起认证,HTTP报文经过配置了本地Portal服务器的接入设备的端口时会被重定向到本地Portal服务器的监听IP地址,本地Portal服务器提供Web页面供用户输入用户名和密码来进行认证且支持HTTP和HTTPS协议的认证请求。该本地Portal服务器的监听IP地址为接入设备上一个与用户之间路由可达的三层接口IP地址(通常为Loopback接口IP)。
(2) 接入设备与RADIUS服务器之间进行RADIUS协议报文的交互,对用户身份进行验证。
(3) 如果RADIUS认证成功,则接入设备上的本地Portal服务器向客户端发送登录成功页面,通知客户端认证(上线)成功。
二层Portal认证支持认证服务器下发授权VLAN。当用户通过Portal认证后,如果认证服务器上配置了下发VLAN功能,那么认证服务器会将授权VLAN信息下发给接入设备,由接入设备将认证成功的用户加入对应的授权VLAN中,则端口上会生成该用户MAC对应的MAC VLAN表项,若该VLAN不存在,则接入设备首先创建VLAN,而后将用户加入授权VLAN中。
通过支持下发授权VLAN,可实现对已认证用户可访问网络资源的控制。
Auth-Fail VLAN功能允许用户在认证失败的情况下,可以访问某一特定VLAN中的资源,比如病毒补丁服务器,存储客户端软件或杀毒软件的服务器,进行升级客户端或执行其他一些用户升级程序。这个VLAN称之为Auth-Fail VLAN。
二层Portal认证支持基于MAC的Auth-Fail VLAN,如果接入用户的端口上配置了Auth-Fail VLAN,则端口上会基于认证失败的MAC地址生成相应的MAC VLAN表项,认证失败的用户将会被加入Auth-Fail VLAN中。加入Auth-Fail VLAN中的用户可以访问该VLAN中的非HTTP资源,但用户的所有HTTP访问请求会被重定向到接入设备上进行认证,若用户仍然没有通过认证,则将继续处于Auth-Fail VLAN内;若认证成功,则回到加入Auth-Fail VLAN之前端口所在的VLAN。处于Auth-Fail VLAN中的用户,若在指定时间(默认90秒)内无流量通过接入端口,则将离开该VLAN,回到端口的初始VLAN。
用户加入授权VLAN或Auth-Fail VLAN后,需要自动申请或者手动更新客户端IP地址,以保证可以与授权VLAN或Auth-Fail VLAN中的资源互通。
ACL(Access Control List,访问控制列表)提供了控制用户访问网络资源和限制用户访问权限的功能。当用户上线时,如果服务器上配置了授权ACL,则设备会根据服务器下发的授权ACL对用户所在端口的数据流进行控制;在服务器上配置授权ACL之前,需要在设备上配置相应的规则。管理员可以通过改变服务器的授权ACL设置或设备上对应的ACL规则来改变用户的访问权限。
表1-1 二层Portal配置任务简介
配置任务 |
说明 |
详细配置 |
|
指定二层Portal认证的本地Portal服务器IP地址 |
必选 |
||
配置本地Portal服务器 |
自定义认证页面 |
可选 |
|
配置本地Portal服务器 |
必选 |
||
使能二层Portal |
必选 |
||
控制Portal用户的接入 |
配置免认证规则 |
可选 |
|
配置Portal最大用户数 |
|||
指定Portal用户使用的认证域 |
|||
配置二层Portal支持Web代理 |
|||
配置Portal用户认证端口的自动迁移功能 |
|||
配置Portal认证的Auth-Fail VLAN |
可选 |
||
指定Portal用户认证成功后认证页面的自动跳转目的网站地址 |
可选 |
||
配置二层Portal用户的在线检测功能 |
可选 |
||
强制Portal用户下线 |
可选 |
Portal提供了一个用户身份认证和安全认证的实现方案,但是仅仅依靠Portal不足以实现该方案。接入设备的管理者需选择使用RADIUS认证方法,以配合Portal完成用户的身份认证。Portal认证的配置前提:
· Portal服务器、RADIUS服务器已安装并配置成功。本地Portal认证无需单独安装Portal服务器。
· 用户、接入设备和各服务器之间路由可达。
· 如果通过远端RADIUS服务器进行认证,则需要在RADIUS服务器上配置相应的用户名和密码,然后在接入设备端进行RADIUS客户端的相关设置。RADIUS客户端的具体配置请参见“安全配置指导”中的“AAA”。
· 如果需要支持Portal的扩展功能,需要安装并配置CAMS EAD/iMC EAD。同时保证在接入设备上的ACL配置和安全策略服务器上配置的受限资源ACL号、非受限资源ACL号对应。接入设备上的安全策略服务器配置请参见“安全配置指导”中的“AAA”。
· 安全策略服务器的配置请参考CAMS EAD安全策略组件联机帮助/iMC EAD安全策略组件联机帮助。
· 受限资源ACL、非受限资源ACL分别对应安全策略服务器中的隔离ACL与安全ACL。
· 如果接入设备上的授权ACL配置被修改,则修改后的ACL不对已经在线的Portal用户生效,只能对新上线的Portal用户有效。
· 为保证Portal认证可正常进行,请将接入设备系统名称的长度限制在16个字符以内。
二层Portal认证使用本地Portal服务器,因此需要将设备上一个与Portal客户端路由可达的三层接口IP地址指定为本地Portal服务器的监听IP地址,并强烈建议使用设备上空闲的Loopback接口的IP地址,利用LoopBack接口状态稳定的优点,避免因为接口故障导致用户无法打开认证页面的问题。另外,由于发送到LoopBack接口的报文不会被转发到网络中,当请求上线的用户数目较大时,可减轻对系统性能的影响。
表1-2 指定二层Portal认证的本地Portal服务器监听IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
指定二层Portal认证的本地Portal服务器监听IP地址 |
portal local-server ip ip-address |
必选 缺省情况下,没有指定本地Portal服务器的监听IP地址 |
已配置的本地Portal服务器监听IP地址仅在二层Portal认证未在任何端口上使能时才可以被删除或修改。
本特性用于配合Portal本地认证,且仅在使用本地Portal服务器时必配。使用本地Portal服务器进行认证时,本地Portal服务器负责向用户推出认证页面。认证页面的内容和样式可自定义,若未配置自定义认证页面,则向用户推出系统提供的缺省认证页面。
用户自定义的认证页面为HTML文件的形式,压缩后保存在本地设备的存储设备中。每套认证页面可包括六个主索引页面(登录页面、登录成功页面、登录失败页面、在线页面、系统忙页面、下线成功页面)及其页面元素(认证页面需要应用的各种文件,如Logon.htm页面中的back.jpg),每个主索引页面可以引用若干页面元素。若用户只自定义了部分主索引页面,则其余主索引页面使用系统提供的缺省认证页面。
用户在自定义这些页面时需要遵循一定的规范,否则会影响本地Portal服务器功能的正常使用和系统运行的稳定性。
主索引页面文件名不能自定义,必须使用表1-3中所列的固定文件名。
主索引页面 |
文件名 |
登录页面 |
logon.htm |
登录成功页面 |
logonSuccess.htm |
登录失败页面 |
logonFail.htm |
在线页面 用于提示用户已经在线 |
online.htm |
系统忙页面 用于提示系统忙或者该用户正在登录过程中 |
busy.htm |
下线成功页面 |
logoffSuccess.htm |
主索引页面文件之外的其他文件名可由用户自定义,但需注意文件名和文件目录名中不能含有中文且不区分大小写。
本地Portal服务器只能接受Get请求和Post请求。
· Get请求用于获取认证页面中的静态文件,其内容不能为递归内容。例如,Logon.htm文件中包含了Get ca.htm文件的内容,但ca.htm文件中又包含了对Logon.htm的引用,这种递归引用是不允许的。
· Post请求用于用户提交用户名和密码以及用户执行登录、下线操作。
(1) 认证页面中表单(Form)的编辑必须符合以下原则:
· 认证页面可以含有多个Form,但是必须有且只有一个Form的action=logon.cgi,否则无法将用户信息送到本地Portal服务器。
· 用户名属性固定为”PtUser”,密码属性固定为”PtPwd”。
· 需要有用于标记用户登录还是下线的属性”PtButton”,取值为"Logon"表示登录,取值为"Logoff"表示下线。
· 登录Post请求必须包含”PtUser”,”PtPwd”和"PtButton"三个属性。
· 下线Post请求必须包含”PtButton”这个属性。
(2) 需要包含登录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>
(3) 需要包含下线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文件的文件名只能包含字母、数字和下划线。缺省认证页面文件必须以defaultfile.zip为文件名保存。
· 压缩后的Zip文件中必须直接包含认证页面,不允许存在间接目录。
· 压缩生成的Zip文件可以通过FTP或TFTP的方式上传至设备,并保存在设备的指定目录下。缺省认证页面文件必须保存在设备的根目录下,非缺省认证页面文件可以保存在设备根目录下或者根目录的portal目录下。
Zip文件保存目录示例:
<Sysname> dir
Directory of flash:/portal/
0 -rw- 1405 Feb 28 2011 15:53:31 2.zip
1 -rw- 1405 Feb 28 2011 15:53:20 1.zip
2 -rw- 1405 Feb 28 2011 15:53:39 3.zip
3 -rw- 1405 Feb 28 2011 15:53:44 4.zip
2540 KB total (1319 KB free)
为了方便系统推出自定义的认证页面,认证页面在文件大小和内容上需要有如下限制:
· 每套页面(包括主索引页面文件及其页面元素)压缩后的Zip文件大小不能超过500K字节。
· 每个单独页面(包括单个主索引页面文件及其页面元素)压缩前的文件大小不能超过50K字节。
· 页面元素只能包含HTML、JS、CSS和图片之类的静态内容。
用户认证成功后,系统会推出登录成功页面(文件名为logonSuccess.htm),认证通过后再次通过登录页面进行认证操作,系统会推出在线页面(文件名为online.htm)。若希望用户关闭这两个页面的同时,触发设备执行强制当前在线用户下线的操作,就需要按照如下要求在这两个页面文件的脚本文件中增加如下内容。
(1) 添加对JS文件“pt_private.js”的引用;
(2) 添加触发页面卸载的函数“pt_unload()”;
(3) 添加Form的提交事件处理函数“pt_submit()”;
(4) 添加页面加载的初始化函数“pt_init()”。
需要在logonSuccess.htm和online.htm页面脚本中增加的内容如示例中突出显示部分:
<html>
<head>
<script type="text/javascript" language="javascript" src="pt_private.js"></script>
</head>
<body onload="pt_init();" onbeforeunload="return pt_unload();">
... ...
<form action=logon.cgi method = post onsubmit="pt_submit()">
... ...
</body>
</html>
若要支持认证成功后自定义认证页面的自动跳转功能,即认证页面会在用户认证成功后自动跳转到设备指定的网站页面,则需要按照如下要求在认证页面logon.htm和logonSuccess.htm的脚本文件中做如下改动。
(1) 将logon.htm文件中的Form的target值设置为“blank”。
修改的脚本内容如下突出显示部分所示:
<form method=post action=logon.cgi target="blank">
(2) 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>
· 推荐使用IE6.0版本以上的浏览器。
· 需要用户浏览器设置为允许弹出窗口,或者将设备的IP地址设置为允许弹出的网站地址。若浏览器禁止弹出窗口,则关闭登录成功或在线页面时会提示用户无法下线,用户可以点击“取消”回到原页面。
· 目前,仅IE浏览器、Firefox浏览器和Safari浏览器支持关闭登录成功/在线页面后的强制用户下线功能,而其它浏览器(例如Chrome浏览器、Opera浏览器等)均不支持该功能。
· 刷新登录成功/在线页面或者使该页面跳转到别的网站上时都会触发强制用户下线事件。
在本配置任务中,通过指定Portal客户端和本地Portal服务器的之间采用的通信协议(HTTP或HTTPS),接入设备上的本地Portal服务器功能才能生效。
若指定本地Portal服务器支持的协议类型为HTTPS,则需要首先完成以下配置:
· 配置PKI策略,并成功申请本地证书和CA证书,具体配置请参见“安全配置指导”中的“PKI”。
· 配置SSL服务器端策略,并指定使用已配置的PKI域。具体配置请参见“安全配置指导”中的“SSL”。
由于指定本地Portal服务器支持的协议类型时,本地Portal服务器将同时加载已保存在根目录的缺省认证页面文件,因此若需要使用自定义的缺省认证页面文件,则需要首先完成对它的编辑和保存工作,否则使用系统默认的缺省认证页面。
表1-4 配置本地Portal服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置本地Portal服务器支持的协议类型,并同时加载缺省认证页面文件 |
portal local-server { http | https server-policy policy-name } |
必选 缺省情况下,本地Portal服务器不支持任何协议类型 |
配置本地Portal服务器缺省认证页面的欢迎信息 |
portal server banner banner-string |
可选 缺省情况下,无Web页面欢迎信息 |
只有在端口上使能了Portal认证,对接入用户的Portal认证功能才能生效。
在使能二层Portal认证之前,先指定本地Portal服务器的监听IP地址;
表1-5 使能二层Portal认证
操作 |
命令 |
说明 |
|||
进入系统视图 |
system-view |
- |
|
||
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
|||
在端口上使能二层Portal认证 |
portal local-server enable |
必选 缺省情况下,未使能二层Portal认证 |
|||
· 为使二层端口上的Portal认证功能正常运行,不建议端口上同时使能端口安全、802.1X的Guest VLAN或802.1X的EAD快速部署功能。
· 若要支持授权VLAN下发功能,则需要在端口上使能MAC VLAN功能。
通过配置免认证规则(free-rule)可以让特定的用户不需要通过Portal认证即可访问外网特定资源,这是由免认证规则中配置的源信息以及目的信息决定的。
免认证规则的匹配项包括IP地址、MAC地址、所连接设备的端口和VLAN,只有符合免认证规则的用户报文才不会触发Portal认证,因此这些报文所属的用户才可以直接访问网络资源。
对于二层Portal认证,只能配置从任意源地址(即source any)到任意或指定目的地址的免认证规则。配置了到指定目的地址的免认证规则后,用户不需要通过Portal认证即可访问指定目的网段或地址的网络资源,且用户访问这些资源的HTTP请求不会被重定向到Portal认证页面上。通常,可以将一些提供特定服务器资源(例如软件升级服务器)的IP地址指定为免认证规则的目的IP,便于二层Portal用户在免认证的情况下获取特定的服务资源。
表1-6 配置免认证规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Portal的免认证规则 |
portal free-rule rule-number { destination { any | ip { ip-address mask { mask-length | netmask } | any } } | source any } * |
必选 |
· 相同内容的免认证规则不能重复配置,否则提示免认证规则已存在或重复。
· 只能添加或者删除免认证规则,不能修改。
通过该配置可以控制系统中的Portal接入用户总数。
表1-7 配置Portal最大用户数
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置Portal最大用户数 |
portal max-user max-number |
必选 缺省情况下,Portal最大用户数为1000 |
|
· 交换机实际下发的Portal最大的用户数和设备的ACL资源有关。
· 如果配置的Portal最大用户数小于当前已经在线的Portal用户数,则该命令可以执行成功,且在线Portal用户不受影响,但系统将不允许新的Portal用户接入。
通过在指定端口上配置Portal用户使用的认证域,使得所有从该端口接入的Portal用户被强制使用指定的认证域来进行认证、授权和计费。即使Portal用户输入的用户名中携带的域名相同,接入设备的管理员也可以通过该配置对不同端口指定不同的认证域,从而增加了管理员部署Portal接入策略的灵活性。
表1-8 指定Portal用户使用的认证域
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
|
指定Portal用户使用的认证域 |
portal domain domain-name |
必选 缺省情况下,未指定Portal用户使用的认证域 |
|
从指定端口上接入的Portal用户将按照如下先后顺序选择认证域:端口上指定的ISP域-->用户名中携带的ISP域-->系统缺省的ISP域。关于缺省ISP域的相关介绍请参见“安全配置指导”中的“AAA”。
对于二层Portal认证,缺省情况下,设备不支持配置了Web代理服务器的用户浏览器发起的Portal认证。若用户使用配置了Web代理服务器的浏览器上网,则用户的这类HTTP请求报文将被丢弃,而不能触发Portal认证。这种情况下,网络管理员可以通过在设备上添加Web代理服务器端口号,来允许使用Web代理服务器的用户浏览器发起的HTTP请求也可以触发Portal认证。
表1-9 配置允许触发Portal认证的Web代理服务器端口
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
添加允许触发Portal认证的Web代理服务器端口 |
portal web-proxy port port-number |
必选 缺省情况下,不存在允许触发Portal认证的Web代理服务器端口 |
· 如果用户浏览器采用WPAD(Web Proxy Auto-Discovery,Web代理服务器自动发现)方式自动配置Web代理,则不仅需要网络管理员在设备上添加Web代理服务器端口,还需要配置免认证规则,允许目的IP为WPAD主机IP地址的用户报文免认证。
· 除了网络管理员需要在设备上添加指定的Web代理服务器端口,还需要用户在浏览器上将设备的本地Portal服务器监听IP地址配置为Web代理服务器的例外地址,避免Portal用户发送给本地Portal服务器的HTTP报文被发送到Web代理服务器上,从而影响正常的Portal认证。
在用户和设备之间存在Hub、二层交换机或AP的组网环境下,若在线用户在未下线的情况下从同一设备上的当前认证端口离开并迁移到其它使能了二层Portal的认证端口上接入时,由于原端口上仍然存在该用户的认证信息,因此设备默认不允许用户在新端口上认证上线。
开启本功能后,设备允许在线用户离开当前端口后在新端口上上线,具体分为以下两种情况:
· 若原认证端口状态未down,且用户先后接入的两个端口属于同一个VLAN,则用户不需要重新认证就能够继续以在线状态在新的端口上访问网络,并按照新的端口信息继续计费;
· 若原认证端口状态变为down,或者原认证端口状态未down但是两个认证端口所属的VLAN不同,则设备会将用户在原端口上的认证信息删除掉,并要求用户在新端口上重新进行认证。
表1-10 配置Portal用户认证端口的自动迁移功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启Portal用户认证端口的自动迁移功能 |
portal move-mode auto |
必选 缺省情况下,Portal用户认证端口的自动迁移功能处于关闭状态 |
用户迁移到新端口上之后,若设备发现该用户具有授权属性(例如授权VLAN),则设备会尝试在新的端口上添加该用户的授权信息,若授权信息添加失败,设备会删除原端口上的用户信息,要求用户重新进行认证。
通过该配置可以指定Portal用户认证失败后加入的VLAN。
进行本配置之前,请首先创建需要配置为Auth-Fail VLAN的VLAN。
表1-11 配置Portal认证的Auth-Fail VLAN
配置步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
|
配置端口的Portal认证的Auth-Fail VLAN |
portal auth-fail vlan authfail-vlan-id |
必选 缺省情况下,端口没有配置Portal认证的Auth-Fail VLAN |
· 为使端口的Portal认证的Auth-Fail VLAN生效,还必须使能端口上的MAC VLAN功能。MAC VLAN功能的具体配置请参考“二层技术-以太网交换配置指导”中的“VLAN”。
· 不同的端口可以配置不同的Portal认证的Auth-Fail VLAN,但一个端口最多只能配置一个Portal认证的Auth-Fail VLAN。
· 端口上Portal认证失败产生的MAC VLAN表项不会覆盖已存在的其它认证方式产生的MAC VLAN表项。
未认证用户上网时,首先会主动或被强制登录到Portal认证页面进行认证,当用户输入正确的认证信息且认证成功后,若设备上指定了认证页面的自动跳转目的网站地址,则认证成功的用户将在一定的时间间隔(由wait-time参数配置)之后被强制登录到该指定的目的网站页面。
表1-12 指定Portal用户认证成功后认证页面的自动跳转目的URL
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
指定Portal用户认证成功后认证页面的自动跳转目的网站地址 |
portal redirect-url url-string [ wait-time period ] |
必选 缺省情况下,用户认证成功后认证页面将会跳转到用户初始访问的网站页面 |
· wait-time参数只对本地Portal认证有效。
· 本地Portal认证时,若用户初始访问的页面URL长度超过255个字符,则在未指定跳转目的网站地址的情况下,用户认证成功之后的认证页面无法返回到初始页面。
二层端口上有Portal用户上线后,设备会启动一个用户在线检测定时器,定期对该端口上的所有在线用户的MAC地址表项进行检测,查看定时器超时前该用户是否有报文发送到设备上(该用户MAC地址表项是否被命中过),来确认该用户是否在线,以便及时发现异常离线用户。若发现某用户MAC地址表项已经被老化或检测间隔内未收到过该用户的报文,则认为一次检测失败,连续两次检测失败后,设备会强制该用户下线。
表1-13 配置二层Portal用户在线检测时间间隔
操作 |
命令 |
说明 |
|||
进入系统视图 |
system-view |
- |
|||
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
|
||
配置二层Portal用户在线检测时间间隔 |
portal offline-detect interval offline-detect-interval |
必选 缺省情况下,二层Portal用户在线检测时间间隔为300秒 |
|||
通过配置强制用户下线可以终止对指定IP地址用户的认证过程,或者将已经通过认证的指定IP地址的用户删除。
表1-14 配置强制用户下线
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
强制接入设备上的用户下线 |
portal delete-user { ip-address | all | interface interface-type interface-number } |
必选 |
|
在完成上述配置后,在任意视图下执行display命令可以显示配置后Portal的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除Portal统计信息。
表1-15 Portal显示和维护
操作 |
命令 |
|
显示Portal的免认证规则信息 |
display portal free-rule [ rule-number ] [ | { begin | exclude | include } regular-expression ] |
|
显示指定端口的Portal配置信息 |
display portal interface interface-type interface-number [ | { begin | exclude | include } regular-expression ] |
|
显示本地Portal服务器信息 |
display portal local-server [ | { begin | exclude | include } regular-expression ] |
|
显示TCP仿冒统计信息 |
display portal tcp-cheat statistics [ | { begin | exclude | include } regular-expression ] |
|
显示Portal用户的信息 |
display portal user { all | interface interface-type interface-number } [ | { begin | exclude | include } regular-expression ] |
|
清除TCP仿冒统计信息 |
reset portal tcp-cheat statistics |
用户主机与接入设备Switch直接相连,接入设备在端口GigabitEthernet1/0/1上对用户进行二层Portal认证。具体要求如下:
· 使用远程RADIUS服务器进行认证、授权和计费;
· 使用远程DHCP服务器为用户分配IP地址;
· 本地Portal认证服务器的监听IP地址为4.4.4.4,设备向Portal用户推出自定义的认证页面,并使用HTTPS传输认证数据;
· 认证成功的用户可被授权加入VLAN 3;
· 认证失败的用户将被加入VLAN 2,允许访问其中的Update服务器资源;
· Host通过DHCP动态获取IP地址,认证前使用192.168.1.0/24网段的IP地址,认证成功后使用3.3.3.0/24网段的IP地址,认证失败后使用2.2.2.0/24网段的IP地址。
图1-4 配置二层Portal认证组网图
· 保证启动Portal之前各主机、服务器和设备之间的路由可达。
· 完成RADIUS服务器的配置,保证用户的认证/授权/计费功能正常运行。本例中,RADIUS服务器上需要配置一个Portal用户(帐户名为userpt),并配置授权VLAN。
· 完成DHCP服务器的配置,主要包括:指定为Portal客户端分配的IP地址范围(192.168.1.0/24、3.3.3.0/24、2.2.2.0/24);指定客户端的默认网关地址(192.168.1.1、3.3.3.1、2.2.2.1),并将Update server地址(2.2.2.2)排除在可分配的IP地址范围外;确定分配给客户端的IP地址的租约期限(建议尽量取较小的值,以缩短认证状态变化后IP地址更新的时间);保证DHCP server上具有到达客户端主机的路由。
· 由于DHCP服务器与DHCP客户端不在同一个网段,因此需要在客户端所在的网段设置DHCP中继。关于DHCP中继的详细介绍请参见“三层技术-IP业务配置指导”中的“DHCP中继”。
(1) 配置Portal认证
# 配置各以太网端口加入VLAN及对应VLAN接口的IP地址(略)。
# 完成PKI域pkidm的配置,并成功申请本地证书和CA证书,具体配置请参见“安全配置指导”中的“PKI”。
# 完成自定义缺省认证页面文件的编辑,并将其以defaultfile为名称压缩为一个Zip文件之后保存在设备根目录下。
# 配置SSL服务器端策略sslsvr,指定使用的PKI域为pkidm。
<Switch> system-view
[Switch] ssl server-policy sslsvr
[Switch-ssl-server-policy-sslsvr] pki pkidm
[Switch-ssl-server-policy-sslsvr] quit
# 配置本地Portal服务器支持HTTPS协议,并引用SSL服务器端策略sslsvr。
[Switch] portal local-server https server-policy sslsvr
# 配置Loopback接口12的IP地址为4.4.4.4。
[Switch] interface loopback 12
[Switch-LoopBack12] ip address 4.4.4.4 32
[Switch-LoopBack12] quit
# 指定二层Portal认证的本地Portal服务器监听IP地址为4.4.4.4。
[Switch] portal local-server ip 4.4.4.4
# 在端口GigabitEthernet1/0/1上使能Portal认证,并配置认证失败的VLAN为VLAN 2。
[Switch] interface gigabitethernet 1/0/1
[Switch–GigabitEthernet1/0/1] port link-type hybrid
[Switch–GigabitEthernet1/0/1] mac-vlan enable
[Switch–GigabitEthernet1/0/1] portal local-server enable
[Switch–GigabitEthernet1/0/1] portal auth-fail vlan 2
[Switch–GigabitEthernet1/0/1] quit
(2) 配置RADIUS方案
# 创建名字为rs1的RADIUS方案并进入该方案视图。
[Switch] radius scheme rs1
# 配置RADIUS方案的服务器类型,使用CAMS/iMC服务器时,RADIUS服务器类型应选择extended。
[Switch-radius-rs1] server-type extended
# 配置RADIUS方案的主认证和主计费服务器及其通信密钥。
[Switch-radius-rs1] primary authentication 1.1.1.2
[Switch-radius-rs1] primary accounting 1.1.1.2
[Switch-radius-rs1] key accounting simple radius
[Switch-radius-rs1] key authentication simple radius
[Switch-radius-rs1] quit
(3) 配置认证域
# 创建并进入名字为triple的ISP域。
[Switch] domain triple
# 配置ISP域的AAA方法。
[Switch-isp-triple] authentication portal radius-scheme rs1
[Switch-isp-triple] authorization portal radius-scheme rs1
[Switch-isp-triple] accounting portal radius-scheme rs1
[Switch-isp-triple] quit
# 配置系统缺省的ISP域triple,所有接入用户共用此缺省域的认证和计费方法。若用户登录时输入的用户名未携带ISP域名,则使用缺省域下的认证方法。
[Switch] domain default enable triple
(4) 配置DHCP中继
# 使能DHCP服务。
[Switch] dhcp enable
# 配置DHCP服务器的地址。
[Switch] dhcp relay server-group 1 ip 1.1.1.3
# 配置VLAN接口8工作在DHCP中继模式。
[Switch] interface vlan-interface 8
[Switch-Vlan-interface8] dhcp select relay
# 配置VLAN接口8对应DHCP服务器组1。
[Switch-Vlan-interface8] dhcp relay server-select 1
[Switch-Vlan-interface8] quit
# 配置VLAN接口2工作在DHCP中继模式。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] dhcp select relay
# 配置VLAN接口2对应DHCP服务器组1。
[Switch-Vlan-interface2] dhcp relay server-select 1
[Switch-Vlan-interface2] quit
# 配置VLAN接口3工作在DHCP中继模式。
[Switch] interface vlan-interface 3
[Switch-Vlan-interface3] dhcp select relay
# 配置VLAN接口3对应DHCP服务器组1。
[Switch-Vlan-interface3] dhcp relay server-select 1
[Switch-Vlan-interface3] quit
用户userpt未进行Web访问之前,位于初始VLAN(VLAN 8)中,并被分配192.168.1.0/24网段中的IP地址。当用户通过Web浏览器访问外部网络时,其Web请求均被重定向到认证页面https://4.4.4.4/portal/logon.htm。用户根据网页提示输入正确的用户名和密码后,能够成功通过Portal认证。通过认证的用户将会离开初始VLAN(VLAN 8),并加入授权VLAN(VLAN 3)。可通过display connection ucibindex命令查看已在线用户的详细信息。
<Switch> display connection ucibindex 30
Slot: 1
Index=30 , Username=userpt@triple
MAC=0015-e9a6-7cfe
IP=192.168.1.2
IPv6=N/A
Access=PORTAL ,AuthMethod=PAP
Port Type=Ethernet,Port Name=GigabitEthernet1/0/1
Initial VLAN=8, Authorization VLAN=3
ACL Group=Disable
User Profile=N/A
CAR=Disable
Priority=Disable
Start=2009-11-26 17:40:02 ,Current=2009-11-26 17:48:21 ,Online=00h08m19s
Total 1 connection matched.
可以通过display mac-vlan all命令查看到认证成功用户的MAC VLAN表项,该表项中记录了加入授权VLAN的MAC地址与端口上生成的基于MAC的VLAN之间的对应关系。
[Switch] display mac-vlan all
The following MAC VLAN addresses exist:
S:Static D:Dynamic
MAC ADDR MASK VLAN ID PRIO STATE
--------------------------------------------------------
0015-e9a6-7cfe ffff-ffff-ffff 3 0 D
Total MAC VLAN address count:1
若用户认证失败,将被加入VLAN 2中,端口上生成的MAC VLAN表项及IP地址分配情况的查看方式同上,此处略。
用户被强制去访问Portal服务器时没有弹出Portal认证页面,也没有错误提示,登录的Portal认证服务器Web页面为空白。
接入设备上配置的Portal密钥和Portal服务器上配置的密钥不一致,导致Portal服务器报文验证出错,Portal服务器拒绝弹出认证页面。
使用display portal server命令查看接入设备上配置的Portal服务器密钥,并在系统视图中使用portal server命令修改密钥,或者在Portal服务器上查看对应接入设备的密钥并修改密钥,直至两者的密钥设置一致。
用户通过Portal认证后,在接入设备上使用portal delete-user命令强制用户下线失败,但是使用客户端的“断开”属性可以正常下线。
在Portal上使用portal delete-user命令强制用户下线时,由接入设备主动发送下线请求报文到Portal服务器,Portal服务器默认的报文监听端口为50100,但是因为接入设备上配置的服务器监听端口错误(不是50100),即其发送的下线请求报文的目的端口和Portal服务器真正的监听端口不一致,故Portal服务器无法收到下线请求报文,Portal服务器上的用户无法下线。
当使用客户端的“断开”属性让用户下线时,由Portal服务器主动向接入设备发送下线请求,其源端口为50100,接入设备的下线应答报文的目的端口使用请求报文的源端口,避免了其配置上的错误,使得Portal服务器可以收到下线应答报文,从而Portal服务器上的用户成功下线。
使用display portal server命令查看接入设备对应服务器的端口,并在系统视图中使用portal server命令修改服务器的端口,使其和Portal服务器上的监听端口一致。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!