11-Portal配置
本章节下载: 11-Portal配置 (448.41 KB)
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认证又可分为三种不同的认证方式:直接认证方式、二次地址分配认证方式和可跨三层认证方式。直接认证方式和二次地址分配认证方式下,认证客户端和接入设备之间没有三层转发;可跨三层认证方式下,认证客户端和接入设备之间可以跨接三层转发设备。
(1) 直接认证方式
用户在认证前通过手工配置或DHCP直接获取一个IP地址,只能访问Portal服务器,以及设定的免费访问地址;认证通过后即可访问网络资源。认证流程相对二次地址较为简单。
(2) 二次地址分配认证方式
用户在认证前通过DHCP获取一个私网IP地址,只能访问Portal服务器,以及设定的免费访问地址;认证通过后,用户会申请到一个公网IP地址,即可访问网络资源。该认证方式解决了IP地址规划和分配问题,对未认证通过的用户不分配公网IP地址。例如运营商对于小区宽带用户只在访问小区外部资源时才分配公网IP。
IPv6 Portal认证不支持二次地址分配方式。
(3) 可跨三层认证方式
和直接认证方式基本相同,但是这种认证方式允许认证用户和接入设备之间跨越三层转发设备。
对于以上三种认证方式,IP地址都是用户的唯一标识。接入设备基于用户的IP地址下发ACL对接口上通过认证的用户报文转发进行控制。由于直接认证和二次地址分配认证下的接入设备与用户之间未跨越三层转发设备,因此接口可以学习到用户的MAC地址,接入设备可以利用学习到MAC地址增强对用户报文转发的控制力度。
在对接入用户身份可靠性要求较高的网络应用中,传统的基于用户名和口令的用户身份验证方式存在一定的安全问题,基于数字证书的用户身份验证方式通常被用来建立更为安全和可靠的网络接入认证机制。
EAP(Extensible Authentication Protocol,可扩展认证协议)可支持多种基于数字证书的认证方式(例如EAP-TLS),它与Portal认证相配合,可共同为用户提供基于数字证书的接入认证服务。
图1-2 Portal支持EAP认证协议交互示意图
如图1-2所示,在Portal支持EAP认证的实现中,客户端与Portal服务器之间交互EAP认证报文,Portal服务器与接入设备之间交互携带EAP-Message属性的Portal协议报文,接入设备与RADIUS服务器之间交互携带EAP-Message属性的RADIUS协议报文,由具备EAP服务器功能的RADIUS服务器处理EAP-Message属性中封装的EAP报文,并给出EAP认证结果。整个EAP认证过程中,接入设备只是对Portal服务器与RADIUS服务器之间的EAP-Message属性进行透传,并不对其进行任何处理,因此接入设备上无需任何额外配置。
· 该功能仅能与H3C iMC的Portal服务器以及H3C iNode Portal客户端配合使用。
· 目前,仅使用远程Portal服务器的三层Portal认证支持EAP认证。
直接认证和可跨三层Portal认证流程相同。二次地址分配认证流程因为有两次地址分配过程,所以其认证流程和另外两种认证方式有所不同。
图1-3 直接认证/可跨三层Portal认证流程图
直接认证/可跨三层Portal认证流程:
(1) Portal用户通过HTTP协议发起认证请求。HTTP报文经过接入设备时,对于访问Portal服务器或设定的免费访问地址的HTTP报文,接入设备允许其通过;对于访问其它地址的HTTP报文,接入设备将其重定向到Portal服务器。Portal服务器提供Web页面供用户输入用户名和密码来进行认证。
(2) Portal服务器与接入设备之间进行CHAP(Challenge Handshake Authentication Protocol,质询握手验证协议)认证交互。若采用PAP(Password Authentication Protocol,密码验证协议)认证则直接进入下一步骤。
(3) Portal服务器将用户输入的用户名和密码组装成认证请求报文发往接入设备,同时开启定时器等待认证应答报文。
(4) 接入设备与RADIUS服务器之间进行RADIUS协议报文的交互。
(5) 接入设备向Portal服务器发送认证应答报文。
(6) Portal服务器向客户端发送认证通过报文,通知客户端认证(上线)成功。
(7) Portal服务器向接入设备发送认证应答确认。
(8) 客户端和安全策略服务器之间进行安全信息交互。安全策略服务器检测接入终端的安全性是否合格,包括是否安装防病毒软件、是否更新病毒库、是否安装了非法软件、是否更新操作系统补丁等。
(9) 安全策略服务器根据用户的安全性授权用户访问非受限资源,授权信息保存到接入设备中,接入设备将使用该信息控制用户的访问。
步骤(8)、(9)为Portal认证扩展功能的交互过程。
图1-4 二次地址分配认证方式流程图
二次地址分配认证流程:
(1) Portal用户通过HTTP协议发起认证请求。HTTP报文经过接入设备时,对于访问Portal服务器或设定的免费访问地址的HTTP报文,接入设备允许其通过;对于访问其它地址的HTTP报文,接入设备将其重定向到Portal服务器。Portal服务器提供Web页面供用户输入用户名和密码来进行认证。
(2) Portal服务器与接入设备之间进行CHAP(Challenge Handshake Authentication Protocol,质询握手验证协议)认证交互。若采用PAP(Password Authentication Protocol,密码验证协议)认证则直接进入下一步骤。
(3) Portal服务器将用户输入的用户名和密码组装成认证请求报文发往接入设备,同时开启定时器等待认证应答报文。
(4) 接入设备与RADIUS服务器之间进行RADIUS协议报文的交互。
(5) 接入设备向Portal服务器发送认证应答报文。
(6) Portal服务器向客户端发送认证通过报文,通知客户端认证(上线)成功。
(7) 客户端收到认证通过报文后,通过DHCP获得新的公网IP地址,并通知Portal服务器用户已获得新IP地址。
(8) Portal服务器通知接入设备客户端获得新公网IP地址。
(9) 接入设备通过检测ARP协议报文发现了用户IP变化,并通告Portal服务器已检测到用户IP变化。
(10) Portal服务器通知客户端上线成功。
(11) Portal服务器向接入设备发送IP变化确认报文。
(12) 客户端和安全策略服务器之间进行安全信息交互。安全策略服务器检测接入终端的安全性是否合格,包括是否安装防病毒软件、是否更新病毒库、是否安装了非法软件、是否更新操作系统补丁等。
(13) 安全策略服务器根据用户的安全性授权用户访问非受限资源,授权信息保存到接入设备中,接入设备将使用该信息控制用户的访问。
步骤(12)、(13)为Portal认证扩展功能的交互过程。
图1-5 Portal支持EAP认证流程图
支持EAP认证的Portal认证流程如下(各Portal认证方式下EAP认证的处理流程相同,此处仅以直接方式的Portal认证为例):
(1) Portal客户端发起EAP认证请求,向Portal服务器发送Identity类型的EAP请求报文。
(2) Portal服务器向接入设备发送Portal认证请求报文,同时开启定时器等待Portal认证应答报文,该认证请求报文中包含若干个EAP-Message属性,这些属性用于封装Portal客户端发送的EAP报文,并可携带客户端的证书信息。
(3) 接入设备接收到Portal认证请求报文后,构造RADIUS认证请求报文与RADIUS服务器进行认证交互,该RADIUS认证请求报文的EAP-Message属性值由接入设备收到的Portal认证请求报文中的EAP-Message属性值填充。
(4) 接入设备根据RADIUS服务器的回应信息向Portal服务器发送证书请求报文,该报文中同样会包含若干个EAP-Message属性,可用于携带RADIUS服务器的证书信息,这些属性值由RADIUS认证回应报文中的EAP-Message属性值填充。
(5) Portal服务器接收到证书请求报文后,向Portal客户端发送EAP认证回应报文,直接将RADIUS服务器响应报文中的EAP-Message属性值透传给Portal客户端。
(6) Portal客户端继续发起的EAP认证请求,与RADIUS服务器进行后续的EAP认证交互,期间Portal认证请求报文可能会出现多次。后续认证过程与第一个EAP认证请求报文的交互过程类似,仅EAP报文类型会根据EAP认证阶段发展有所变化,此处不再详述。
(7) EAP认证通过后,RADIUS服务器向接入设备发送认证通过响应报文,该报文的EAP-Message属性中封装了EAP认证成功报文(EAP-Success)。
(8) 接入设备向Portal服务器发送认证应答报文,该报文的EAP-Message属性中封装了EAP认证成功报文。
(9) Portal服务器根据认证应答报文中的认证结果通知Portal客户端认证成功。
(10) Portal服务器向接入设备发送认证应答确认。
后续为Portal认证扩展功能的交互过程,可参考CHAP/PAP认证方式下的认证流程介绍,此处略。
一个完整的Portal认证过程中,需要用户首先输入用户名和密码。在一些终端用户通过浏览器上网的环境中,以Portal认证方式接入网络的用户信息已知,且这些用户会进行较为频繁的Portal认证,因此,就存在合法Portal用户要求免输入用户名和密码的需求。为了满足这一需求,Portal支持一种基于MAC地址的快速认证机制,也称为MAC Trigger认证方式。
该方式的基本过程是,接入设备获取到Portal用户的源MAC地址后,在用户的网络访问流量达到设定的阈值之前,例如15分钟内上传以及下载了1024字节的流量(可配置),允许用户流量通过设备,无需认证。一旦用户流量达到设定的阈值,则触发认证。具体的认证流程如下:
(1) 接入设备向MAC绑定服务器发送MAC绑定查询请求;
(2) MAC绑定服务器接收到该请求后,查询该MAC地址是否与服务器上的Portal用户帐号绑定。
· 如果已绑定,则MAC绑定服务器获取该用户的帐号信息,并使用该用户的用户名和密码向接入设备直接发起Portal认证。这种情况下,无需Portal用户提供用户名和密码;
· 如果未绑定,则MAC绑定服务器通知接入设备对该用户进行普通的Portal认证。接入设备将该用户的后续HTTP报文重定向到Portal服务器,并推送Portal认证页面给用户,供其输入用户名密码,并根据用户输入的用户名和密码向Portal服务器发起Portal认证。
通过上述认证机制可知,这种基于MAC地址的快速认证机制,不仅免去了用户输入用户名和密码的步骤,而且整个认证流程比普通Portal认证更为简洁高效。
这种基于MAC地址的快速认证机制需要相应的MAC绑定服务器来配合,该服务器上记录了Portal用户的MAC地址与Portal用户帐号的绑定关系。目前,该类型的服务器由指定厂商提供。
表1-1 三层Portal配置任务简介
配置任务 |
说明 |
详细配置 |
|
指定三层Portal认证的Portal服务器监听IP地址 |
必选 |
||
使能三层Portal |
必选 |
||
控制Portal用户的接入 |
配置免认证规则 |
可选 |
|
配置源认证网段 |
|||
配置Portal最大用户数 |
|||
指定Portal用户使用的认证域 |
|||
配置接口发送RADIUS报文的相关属性 |
配置接口的NAS-ID |
可选 |
|
配置接口的NAS-Port-Type |
|||
配置接口的NAS-Port-ID |
|||
配置接口的NAS-ID Profile |
|||
配置接口发送Portal报文使用的源地址 |
可选 |
||
配置向Portal客户端发送的设备编码名 |
可选 |
||
配置Portal支持基于MAC地址的快速认证 |
可选 |
||
指定Portal用户认证成功后认证页面的自动跳转目的网站地址 |
可选 |
||
配置Portal探测功能 |
配置三层Portal用户的在线探测功能 |
可选 |
|
配置Portal服务器探测功能 |
|||
配置Portal用户信息同步功能 |
|||
强制Portal用户下线 |
可选 |
||
配置重定向URL携带参数 |
可选 |
||
配置基于用户Web访问地址的重定向URL |
可选 |
||
配置监控指定接口链路状态信息 |
可选 |
||
配置Portal用户的主机合法性检查功能 |
可选 |
表1-2 配置强推页面功能
配置任务 |
说明 |
详细配置 |
配置强推页面功能 |
必选 该功能与接口使能Portal不能同时配置 |
Portal提供了一个用户身份认证和安全认证的实现方案,但是仅仅依靠Portal不足以实现该方案。接入设备的管理者需选择使用RADIUS认证方法,以配合Portal完成用户的身份认证。Portal认证的配置前提:
· Portal服务器、RADIUS服务器已安装并配置成功。
· 若采用二次地址分配认证方式,接入设备需启动DHCP中继的安全地址匹配检查功能,另外需要安装并配置好DHCP服务器。
· 用户、接入设备和各服务器之间路由可达。
· 如果通过远端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服务器的相关参数,主要包括服务器IP地址、共享加密密钥、服务器端口号以及服务器提供的Web认证地址。
表1-3 指定三层Portal认证的Portal服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
指定三层Portal认证的Portal服务器 |
portal server server-name ip ip-address [ key [ cipher | simple ] key-string | port port-id | server-type { cmcc | imc } | url url-string ] * | ipv6 ipv6-address [ key [ cipher | simple ] key-string | port port-id | url url-string ] * } |
必选 缺省情况下,没有指定三层Portal认证的Portal服务器 |
已配置的Portal服务器参数仅在该Portal服务器未被接口引用时才可以被删除或修改。
只有在接口上使能了Portal认证,对接入用户的Portal认证功能才能生效。
在使能三层Portal认证之前,需要满足以下要求:
· 使能Portal的接口已配置或者获取了合法的IP地址;
· 使能Portal的接口未加入聚合组;
· 接口上引用的Portal服务器名已经存在;
表1-4 使能三层Portal认证
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- 只能是三层接口 |
在接口上使能三层Portal认证 |
portal server server-name method { direct | layer3 | redhcp } |
必选 缺省情况下,没有使能三层Portal认证 |
· 加入聚合组的三层接口不能使能Portal,反之亦然。
· 设备向Portal服务器主动发送报文时使用的目的端口号必须与远程Portal服务器实际使用的端口号保持一致。
· 已配置的Portal服务器及其参数仅在该Portal服务器未被接口引用时才可以被删除或修改。
· 对于跨三层设备支持Portal认证的应用只能配置可跨三层Portal认证方式(portal server server-name method layer3),但可跨三层Portal认证方式不要求接入设备和Portal用户之间必需跨越三层设备。
· 在二次地址分配认证方式下,允许用户在未通过Portal认证时以公网地址向外发送报文,但相应的回应报文则受限制。
· IPv6 Portal 服务器不支持二次地址分配方式的Portal认证。
· 允许在接口上同时使能使用IPv4 Portal服务器的三层Portal认证和使用IPv6 Portal服务器的三层Portal认证。但是,不允许同时使能使用相同IP协议的Portal服务器的三层Portal认证。
通过配置免认证规则(free-rule)可以让特定的用户不需要通过Portal认证即可访问外网特定资源,这是由免认证规则中配置的源信息以及目的信息决定的。
免认证规则的匹配项包括IP地址、TCP/UDP端口号、MAC地址、所连接设备的接口和VLAN,只有符合免认证规则的用户报文才不会触发Portal认证,因此这些报文所属的用户才可以直接访问网络资源。
表1-5 配置免认证规则
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Portal的免认证规则 |
portal free-rule rule-number { destination { any | ip { ip-address mask { mask-length | mask } | any } [ tcp tcp-port-number | udp udp-port-number ] } | source { any | [ interface interface-type interface-number | ip { ip-address mask { mask-length | mask } | any } [ tcp tcp-port-number | udp udp-port-number ] | mac mac-address | vlan vlan-id ] * } } * |
二者至少选其一 |
portal free-rule rule-number { destination { any | ipv6 { ipv6-address prefix-length | any } } | source { any | [ interface interface-type interface-number | ipv6 { ipv6-address prefix-length | any } | mac mac-address | vlan vlan-id ] * } } * |
· 如果免认证规则中同时配置了vlan和interface项,则要求interface属于该VLAN,否则该规则无效。
· 相同内容的免认证规则不能重复配置,否则提示免认证规则已存在或重复。
· 无论接口上是否使能Portal认证,只能添加或者删除免认证规则,不能修改。
· 加入聚合组的二层接口不能被指定为免认证规则的源接口,反之亦然。
本特性仅三层Portal认证支持。
通过配置源认证网段实现只允许在源认证网段范围内的用户HTTP报文才能触发Portal认证。如果未认证用户的HTTP报文既不满足免认证规则又不在源认证网段内,则将被接入设备丢弃。
表1-6 配置源认证网段
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置源认证网段 |
portal auth-network { ipv4-network-address { mask-length | mask } | ipv6 ipv6-network-address prefix-length } |
可选 缺省情况下,源IPv4认证网段为0.0.0.0/0,源IPv6认证网段为::/0,表示对来自任意网段的用户都进行Portal认证 |
· 源认证网段配置仅对可跨三层Portal认证有效。直接认证方式的认证网段为任意源IP,二次地址分配方式的认证网段为由接口私网IP决定的私网网段。
· 可通过多次执行本命令,配置多个源认证网段。
· 如果接口下同时配置了源认证网段和目的认证网段,则源认证网段的配置无效。
通过该配置可以控制系统中的Portal接入用户总数。
表1-7 配置Portal最大用户数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Portal最大用户数 |
portal max-user max-number |
必选 缺省情况下,Portal最大用户数为5000 |
如果配置的Portal最大用户数小于当前已经在线的Portal用户数,则该命令可以执行成功,且在线Portal用户不受影响,但系统将不允许新的Portal用户接入。
通过在指定接口上配置Portal用户使用的认证域,使得所有从该接口接入的Portal用户被强制使用指定的认证域来进行认证、授权和计费。即使Portal用户输入的用户名中携带的域名相同,接入设备的管理员也可以通过该配置对不同接口指定不同的认证域,从而增加了管理员部署Portal接入策略的灵活性。
表1-8 指定Portal用户使用的认证域
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
指定Portal用户使用的认证域 |
portal domain [ ipv6 ] domain-name |
必选 缺省情况下,未指定Portal用户使用的认证域 |
从指定接口上接入的Portal用户将按照如下先后顺序选择认证域:接口上指定的ISP域-->用户名中携带的ISP域-->系统缺省的ISP域。关于缺省ISP域的相关介绍请参见“安全配置指导”中的“AAA”。
本特性仅三层Portal认证支持。
若设备使用RADIUS服务器对Portal用户进行认证/授权/计费,则当接口上有Portal用户上线时,设备会向RADIUS服务器发送RADIUS请求报文,并使用RADIUS请求报文中携带的NAS-Identifier属性来向RADIUS服务器标识自己。该属性值可在系统视图下或者接口视图下进行配置,接口上的配置优先,若接口上没有配置,则使用系统视图下的全局配置。
表1-9 配置接口发送RADIUS报文的NAS-ID
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置接口发送RADIUS报文的NAS-ID |
系统视图 |
portal nas-id nas-identifier |
必选 缺省情况下,使用命令sysname配置的设备名作为接口发送RADIUS报文的NAS ID sysname的具体配置请参见“基础配置命令参考”中的“设备管理” |
接口视图 |
interface interface-type interface-number |
||
portal nas-id nas-identifier |
RADIUS标准属性NAS-Port-Type用于表示用户接入的端口类型。当接口上有Portal用户上线时候,若该接口上配置了NAS-Port-Type,则使用本命令配置的值作为向RADIUS服务器发送的RADIUS请求报文的NAS-Port-Type属性值,否则使用接入设备获取到的用户接入的端口类型填充该属性。
若作为Portal认证接入设备的BAS(Broadband Access Server,宽带接入服务器)与Portal客户端之间跨越了多个网络设备,则可能无法正确获取到接入用户的实际端口信息,例如对于Portal认证接入的无线客户端,BAS获取到的接入端口类型有可能是设备上认证该用户的有线接口类型。因此,为保证BAS能够向RADIUS服务器正确传递用户的接入端口信息,需要网络管理员在了解用户的实际接入环境后,通过本命令指定相应的NAS-Port-Type。
表1-10 配置接口的NAS-Port-Type
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口的NAS-Port-Type |
portal nas-port-type { ethernet | wireless } |
必选 缺省情况下,未指定接口的NAS-Port-Type |
Portal用户进行RADIUS认证时,设备发送给RADIUS服务器的请求请求报文中需要携带NAS-Port-ID属性。该属性值的使用情况与具体的Portal服务器配置相关。
表1-11 配置接口的NAS-Port-ID
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口的NAS-Port-ID |
portal nas-port-id nas-port-id-value |
必选 缺省情况下,未指定接口的NAS-Port-ID,RADIUS请求报文中的NAS-Port-ID属性值为接入设备获取到的Portal用户接入的物理接口信息 |
在某些组网环境下,依靠VLAN来确定用户的接入位置,网络运营商需要使用NAS-Identifier来标识用户的接入位置。当接口上有Portal用户上线时,若该接口上指定了NAS-ID Profile,则接入设备会根据指定的Profile名字和用户接入的VLAN来获取与此VLAN绑定的NAS-ID,此NAS-ID的值将作为向RADIUS服务器发送的RADIUS请求报文中的NAS-Identifier属性值。
本特性中指定的Profile名字用于标识VLAN和NAS-ID的绑定关系,该绑定关系由AAA中的nas-id id-value bind vlan vlan-id命令生成,有关该命令的具体情况请参见“安全命令参考”中的“AAA”。
在接口上未指定NAS-ID Profile或指定的Profile中没有找到匹配的绑定关系的情况下,若接口上已通过命令portal nas-id命令配置了NAS-ID,则使用该NAS-ID作为接口的NAS-ID;若接口上不支持或未配置portal nas-id命令,则使用设备名作为接口的NAS-ID。
表1-12 配置接口的NAS-ID Profile
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建NAS-ID Profile,并进入NAS-ID-Profile视图 |
aaa nas-id profile profile-name |
必选 该命令的具体情况请参见“安全命令参考”中的“AAA” |
设置NAS-ID与VLAN的绑定关系 |
nas-id nas-identifier bind vlan vlan-id |
必选 该命令的具体情况请参见“安全命令参考”中的“AAA” |
退出当前视图 |
quit |
- |
进入接口视图 |
interface interface-type interface-number |
- |
指定接口的NAS-ID Profile |
portal nas-id-profile profile-name |
必选 缺省情况下,未指定NAS-ID Profile |
本特性仅三层Portal认证支持。
通过在使能Portal的接口上配置发送Portal报文使用的源地址,可以保证接入设备以此IP地址为源地址向Portal服务器发送报文,且Portal服务器向接入设备回应的报文以此IP地址为目的地址。
表1-13 配置接口发送Portal报文使用的源地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置接口发送Portal报文使用的源地址 |
portal nas-ip { ipv4-address | ipv6 ipv6-address } |
可选 缺省情况下,未指定接口发送Portal报文使用的源地址,即以接入用户的接口地址作为发送Portal报文的源地址 在NAT组网环境下,此地址建议配置为接口的公网IP地址 |
本特性仅三层Portal认证支持。
通过配置设备的编码名,使得设备向Portal客户端发送的重定向URL中携带一个参数“wlanacname”和一个XML信息,该XML信息的值就是设备的编码名。Portal服务器端可以利用此信息得知Portal客户端从哪个接入设备接入。
表1-14 配置设备的编码名
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置设备的编码名 |
portal device-id id-value |
必选 缺省情况下,未配置设备的编码名 |
本特性仅三层Portal认证支持。
为使基于MAC地址的快速认证生效,在完成普通三层Portal认证的相关配置后,还必须完成以下配置:
· 指定MAC绑定服务器的IP地址和端口号;
· 在使能了Portal认证的接口上使能MAC快速认证功能;
· 将MAC地址绑定服务器指定为一个Portal服务器。具体配置请参见“1.4 指定Portal服务器”。
基于MAC地址的快速认证生效后,接入设备会在指定的周期内(可通过period period-value配置)检测用户的流量,在用户的流量达到设定的阈值(可通过threshold threshold-value配置)之前,允许用户访问外部网络资源,一旦用户流量达到设定的阈值,则触发MAC快速认证功能。
表1-15 配置Portal支持基于MAC地址的快速认证
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
指定MAC绑定服务器 |
portal mac-trigger server ip ip-address [ port port-number ] |
必选 缺省情况下,未指定MAC绑定服务器 |
进入接口视图 |
interface interface-type interface-number |
- |
使能MAC快速认证功能 |
portal mac-trigger enable [ period period-value ] [ threshold threshold-value ] |
必选 缺省情况下,MAC快速认证功能处于关闭状态 |
在未认证用户登录到Portal认证页面进行认证的情况下,当用户输入正确的认证信息且认证成功后,若设备上指定了认证页面的自动跳转目的网站地址,则认证成功的用户将在一定的时间间隔(由wait-time参数配置)之后被强制登录到该指定的目的网站页面。
表1-16 指定Portal用户认证成功后认证页面的自动跳转目的URL
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
指定Portal用户认证成功后认证页面的自动跳转目的网站地址 |
portal redirect-url url-string |
必选 缺省情况下,用户认证成功后认证页面将会跳转到用户初始访问的网站页面 |
对于三层远程Portal认证,该特性需要与支持自动跳转页面功能的iMC Portal服务器配合使用。
本特性仅直接和二次地址分配方式的三层Portal认证支持。
在接口上配置Portal用户在线探测功能后,设备会定期向从该接口上线的Portal在线用户发送探测报文(目前支持发送ARP请求),来确认该用户是否在线,以便及时发现异常离线用户。
· 若设备在指定的探测次数之内收到了该Portal用户的响应报文,则认为此用户在线,并通过继续发送探测报文,来持续确认该用户的在线状态。
· 若设备在指定的探测次数之后仍然未收到该Portal用户的响应报文,则认为此用户已经下线,则停止发送探测报文,并删除该用户。
表1-17 配置三层Portal用户在线探测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置三层Portal用户在线探测功能 |
access-user detect type arp retransmit number interval interval |
必选 缺省情况下,未配置三层Portal用户在线探测功能 |
探测报文的发送次数和发送间隔请根据网络的实际情况进行调整。
本特性仅三层Portal认证支持。
在Portal认证的过程中,如果接入设备与Portal服务器的通信中断,则会导致新用户无法上线,已经在线的Portal用户无法正常下线的问题。为解决这些问题,需要接入设备能够及时探测到Portal服务器可达状态的变化,并能触发执行相应的操作来应对这种变化带来的影响。例如,当接入设备发现Portal服务器不可达时,可打开网络限制,允许Portal用户不需经过认证即可访问网络资源,也就是通常所说的Portal逃生功能,该功能为一种灵活的用户接入方案。
通过配置本特性,设备可以对指定Portal服务器的可达状态进行探测,具体配置包括如下几项:
(1) 探测方式(可以选择其中一种或同时使用两种)
· 探测HTTP连接:接入设备定期向Portal服务器的HTTP服务端口发起TCP连接,若连接成功建立则表示此服务器的HTTP服务已开启,就认为一次探测成功且服务器可达。若连接失败则认为一次探测失败。
· 探测Portal心跳报文:支持Portal逃生心跳功能的Portal服务器(目前仅iMC支持)会定期向接入设备发送Portal心跳报文,设备通过检测此报文来判断服务器的可达状态:若设备在指定的周期内收到Portal心跳报文或者其它认证报文,且验证其正确,则认为此次探测成功且服务器可达,否则认为此次探测失败。
(2) 探测参数
· 探测间隔:进行探测尝试的时间间隔。
· 失败探测的最大次数:允许连续探测失败的最大次数。若连续探测失败数目达到此值,则认为服务器不可达。
(3) 可达状态改变时触发执行的操作(可以选择其中一种或同时使用多种)
· 发送Trap:Portal服务器可达或者不可达的状态改变时,向网管服务器发送Trap信息。Trap信息中记录了Portal服务器名以及该服务器的当前状态。
· 发送日志:Portal服务器可达或者不可达的状态改变时,发送日志信息。日志信息中记录了Portal服务器名以及该服务器状态改变前后的状态。
· 打开网络限制(Portal逃生):Portal服务器不可达时,暂时取消端口进行的Portal认证,允许该端口接入的所有Portal用户访问网络资源。之后,若设备收到Portal服务器的心跳报文,或者收到其它认证报文(上线报文、下线报文等),则恢复该端口的Portal认证功能。
对于以上配置项,可根据实际情况进行组合使用,但需要注意以下几点:
· 如果同时指定了两种探测方式,则只要使用任何一种探测方式进行探测的失败次数达到最大值就认为服务器不可达。在服务器不可达状态下,只有使用两种探测方式的探测都成功才能认为服务器恢复为可达状态。
· 如果同时指定了多种操作,则Portal服务器可达状态改变时系统可并发执行多种操作。
· 对指定Portal服务器配置的探测功能,只有接口上使能了Portal认证并引用该Portal服务器之后才能生效。
表1-18 配置Portal服务器探测功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置对Portal服务器的探测功能 |
portal server server-name server-detect method { http | portal-heartbeat } * action { log | permit-all | trap } * [ interval interval ] [ retry retries ] |
必选 缺省情况下,未配置对Portal服务器的探测功能 本命令中指定的Portal服务器必须已经存在 |
只有对于支持Portal逃生心跳功能(目前仅iMC的Portal服务器支持)的Portal服务器,portal-heartbeat类型的探测方法才有效。为了配合此类型的探测,还需要在Portal服务器上选择支持逃生心跳功能,并要求此处的interval与retry参数值的乘积大于等于Portal服务器上的逃生心跳间隔时长,其中interval取值最好大于Portal服务器的逃生间隔时长。
本特性仅三层Portal认证支持。
为了解决接入设备与Portal服务器通信中断后,两者的Portal用户信息不一致问题,设备提供了一种Portal用户信息同步功能。该功能利用了Portal同步报文的发送及检测机制,具体实现如下:
(1) 由Portal服务器周期性地(周期为Portal服务器上指定的用户心跳间隔值)将在线用户信息通过用户同步报文发送给接入设备;
(2) 接入设备检测到该用户同步报文后,将其中携带的用户信息与自己的用户信息进行对比,如果发现同步报文中有设备上不存在的用户信息,则将这些自己没有的用户信息反馈给Portal 服务器,Portal服务器将删除这些用户信息;如果发现接入设备上的某用户信息在连续N(N为retry参数的取值)个周期内,都未在该Portal服务器发送过来的用户同步报文中出现过,则认为Portal服务器上已不存在该用户,设备将强制该用户下线。
表1-19 配置Portal用户同步功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Portal用户同步功能 |
portal server server-name user-sync [ interval interval ] [ retry retries ] |
必选 缺省情况下,未配置Portal用户同步功能 本命令中指定的Portal服务器必须已经存在 只有在指定的Portal服务器已经在接口上使能的情况下,本功能才能生效 |
· 只有在支持Portal用户心跳功能(目前仅iMC的Portal服务器支持)的Portal服务器的配合下,本功能才有效。为了实现该功能,还需要在Portal服务器上选择支持用户心跳功能,并要求此处的interval与retry参数值的乘积应该大于等于Portal服务器上的用户心跳间隔时长,其中interval取值最好大于Portal服务器的用户心跳间隔时长。
· 对于设备上多余的用户信息,即在N个周期后被判定为Portal服务器上已不存在的用户信息,设备会在第N+1个周期内的某时刻将其删除掉。
通过配置强制用户下线可以终止对指定IP地址用户的认证过程,或者将已经通过认证的指定IP地址的用户删除。
表1-20 配置强制用户下线
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
强制接入设备上的用户下线 |
portal delete-user { ipv4-address | all | interface interface-type interface-number | ipv6 ipv6-address } |
必选 |
通过在接口上配置强推页面功能,可以实现该接口上的接入用户在首次进行Web访问时被强制访问指定网页的功能,即该用户的Web访问请求被重定向到指定的URL,之后用户可以正常访问网络资源。在固定时间间隔后,若该用户重新发起Web访问请求,则再次推出指定页面。
该特性可为酒店或者网络运营商提供对用户进行周期性推出广告页面的类似功能。与普通Portal不同的是,该特性不要求接口上接入的用户进行认证,因此也无需其它认证方面的部署来配合。
表1-21 配置强推页面功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置强推页面功能 |
web-redirect url url-string [ interval interval ] |
必选 缺省情况下,未配置强推页面功能 |
目前,若接口上使能了Portal功能,则强推页面功能不能生效,建议二者不要同时配置使用。
通过以下配置可以指定重定向URL携带参数,并指定它在重定向URL中的参数名。各参数的含义如下:
· nas-id:指定Portal重定向URL中包含NAS-ID参数。
· nas-ip:portal重定向URL包含nas-ip参数。
· user-mac:指定Portal重定向URL中包含UserMac参数。
· ap-mac:Portal重定向URL中包含ap-mac参数。
· des-encrypt:Portal重定向URL中的用户MAC地址或者AP MAC地址采用DES方式加密。若不指定该参数,则表示Portal重定向URL中的用户MAC地址或者AP MAC地址为明文。
· user-url:指定Portal重定向URL包含用户访问的URL。
· user-ip:Portal重定向URL中包含user-ip参数,不配置此参数时,iMC和CMCC以各自默认参数名携带此参数。
· ac-name:Portal重定向URL中包含ac-name参数。
· ssid:Portal重定向URL中包含ssid参数。
表1-22 配置重定向URL携带参数
配置全局重定向URL携带参数 |
缺省情况下,重定向URL不携带参数 |
|
配置重定向URL携带参数的加密密钥 |
portal url-param des-key { simple | cipher } key |
可选 缺省情况下,初始密钥密钥为12345678 |
退出 |
quit |
必选
|
进入接口视图 |
interface interface-type interface-number |
|
配置接口视图下重定向URL携带参数 |
portal url-param include { nas-id | nas-ip | { user-mac | ap-mac } [ des-encrypt ] | user-url | user-ip | ac-name | ssid } [ param-name param-name ] |
必选 缺省情况下,重定向URL不携带参数 |
在设备上配置基于用户Web访问地址的重定向URL可以实现根据用户访问URL推送不同认证页面。
表1-23 配置基于用户Web访问地址的重定向URL
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置基于用户Web访问地址的重定向URL |
portal user-url user-url-string redirect-url url-string |
必选 缺省情况下,没有配置基于用户Web访问地址的重定向URL |
在设备上配置监控指定接口链路状态信息功能后,如果上行Vlan接口的链路状态为down或者LTE接口的网络信号为2G信号或无信号,当用户访问互联网时,为其推送互联网不可访问的页面。
表1-24 配置监控指定接口链路状态信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
配置监控指定接口链路状态信息 |
web-redirect track interface interface-type interface-number |
必选 缺省情况下,没有配置监控指定接口链路状态信息功能 |
当设备作为二层设备使用时,设备有可能无法学习到ARP表项,则不能通过ARP表项来对主机进行合法性检查。此时可以通过查找DHCP Snooping表项或者客户端的WLAN绑定表项信息来获取用户的物理信息,对主机进行合法性检查。
表1-25 配置Portal用户的主机合法性检查功能
配置Portal用户的主机合法性检查功能 |
portal host-check { dhcp-snooping | wlan } |
缺省情况下,根据ARP表项对主机进行合法性检查。 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后Portal的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除Portal统计信息。
表1-26 Portal显示和维护
命令 |
|
显示接口上Portal的ACL信息 |
display portal acl { all | dynamic | static } interface interface-type interface-number [ | { begin | exclude | include } regular-expression ] |
显示接口上Portal的连接统计信息 |
display portal connection statistics { all | interface interface-type interface-number } [ | { begin | exclude | include } regular-expression ] |
显示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 server [ server-name ] [ | { begin | exclude | include } regular-expression ] |
显示接口上Portal服务器的统计信息 |
display portal server statistics { all | interface interface-type interface-number } [ | { 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 ] |
显示web-redirect的用户信息 |
display web-redirect user |
清除接口上Portal的连接统计信息 |
reset portal connection statistics {all | interface interface-type interface-number } |
清除接口上Portal服务器的统计信息 |
reset portal server statistics { all | interface interface-type interface-number } |
清除TCP仿冒统计信息 |
reset portal tcp-cheat statistics |
用户被强制去访问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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!