配置Portal接入模板(针对外置Portal服务器-Portal协议)
设备支持的Portal服务器可分为外置Portal服务器与内置Portal服务器。外置Portal服务器具有独立的硬件设施,内置Portal服务器为存在于接入设备之内的内嵌实体(即由接入设备实现Portal服务器功能)。收到客户端的Portal认证请求后,Portal服务器通过Portal协议向接入设备发起Portal认证请求(携带用户名和密码)。
完成Portal服务器的配置之后,必须在Portal接入模板中应用以上配置的Portal服务器。之后使用该Portal接入模板的用户在访问非免费网络资源时,将被强制重定向到Portal服务器的认证页面,即可进行Portal认证。
本节介绍使用外置Portal服务器时,Portal服务器和Portal接入模板的相关配置。
配置外置Portal服务器功能
背景信息
- Portal服务器模板:用来管理指向Portal服务器的参数,比如Portal服务器的IP地址等。
- 与Portal服务器的交互参数:设备与Portal服务器对接时,为保证通信和安全性,需要统一的配置信息,比如Portal协议版本等。
操作步骤
- 配置Portal服务器模板。
- 执行命令system-view,进入系统视图。
执行命令web-auth-server server-name,创建Portal服务器模板,并进入Portal服务器模板视图。
缺省情况下,未创建Portal服务器模板。
执行命令protocol portal,配置Portal认证时所使用的协议为Portal协议。
缺省情况下,Portal认证时所使用的协议为Portal协议。
执行命令server-ip { server-ip-address &<1-10> | ipv6 server-ipv6-address &<1-3> },配置指向Portal服务器的IP地址。
缺省情况下,未配置指向Portal服务器的IP地址。
(可选)配置设备与Portal服务器通信的源IP地址。
执行命令source-ip ip-address,配置设备与Portal服务器通信的源IP地址。
执行命令source-interface interface-type interface-number,配置设备与Portal服务器通信的源IP地址为指定接口的IP地址。
缺省情况下,未配置设备与Portal服务器通信的源IP地址。
(可选)执行命令port port-number [ all ],配置设备向Portal服务器发送报文时使用的目的端口号。
缺省情况下,设备向Portal服务器发送报文时使用的目的端口号为50100。
- 执行命令shared-key cipher key-string,配置设备与Portal服务器信息交互的共享密钥。
缺省情况下,未配置设备与Portal服务器信息交互的共享密钥。
- 执行命令vpn-instance vpn-instance-name,配置设备与Portal服务器通信使用的VPN实例。
缺省情况下,未配置设备与Portal服务器通信使用的VPN实例。
(可选)执行命令web-redirection disable,关闭Portal认证重定向功能。
缺省情况下,Portal认证重定向功能处于开启状态。
未认证用户通过WEB浏览器访问外部网络时,其HTTP请求都会被设备重定向到Portal认证页面进行认证。但在某些特殊情况下,譬如用户需要手动输入认证页面,可执行本命令,之后未认证用户的HTTP请求将不会被设备强制重定向到Portal认证页面。
配置指向Portal服务器的URL。
分为绑定URL方式和绑定URL模板方式,相对于绑定URL方式,通过绑定URL模板方式不仅能够配置指向Portal服务器的重定向URL,还能够在URL中携带用户或接入设备的相关参数。这样Portal服务器能够根据URL中的参数获取到用户终端的信息,满足为不同用户提供不同的Portal认证界面的需求。管理员可根据实际需求选择绑定URL方式或绑定URL模板方式。
绑定URL方式
执行命令url url-string,配置指向Portal服务器的URL。
缺省情况下,未配置指向Portal服务器的URL。
绑定URL模板方式
创建并配置URL模板。
- 执行命令quit,返回到系统视图。
- 执行命令url-template name template-name,创建URL模板并进入URL模板视图。
缺省情况下,设备上未创建URL模板。
- 执行命令url [ redirect-only ] url-string [ ssid ssid ],配置指向Portal服务器的重定向URL。
缺省情况下,未配置指向Portal服务器的重定向URL。
- 执行命令url-parameter { device-ip device-ip-value | device-mac device-mac-value | ap-ip ap-ip-value | ap-mac ap-mac-value | login-url url-key url | redirect-url redirect-url-value | ssid ssid-value | sysname sysname-value | user-ipaddress user-ipaddress-value | user-mac user-mac-value | user-vlan user-vlan-value | ap-group-name ap-group-name-value | ap-location ap-location-value | ap-name ap-name-value } *,配置URL中携带的参数。
缺省情况下,URL中未携带参数。
- 执行命令url-parameter mac-address format delimiter delimiter { normal | compact },配置URL参数中MAC地址的格式。
缺省情况下,URL参数中MAC地址的格式为XXXXXXXXXXXX。
- 执行命令parameter { start-mark parameter-value | assignment-mark parameter-value | isolate-mark parameter-value } *,配置URL中的符号。
缺省情况下,URL中指定URL参数开始的符号为“?”,赋值符号为“=”,不同参数之间的分隔符为“&”。
- (可选)执行命令url-parameter set device-ip device-ip,设置重定向参数的值。
缺省情况下,重定向参数的值由设备自动获取。
- 执行命令quit,返回到系统视图。
- 执行命令web-auth-server server-name,进入Portal服务器模板视图。
- 执行命令url-template url-template [ ciphered-parameter-name ciphered-parameter-name iv-parameter-name iv-parameter-name key cipher key-string ],配置在Portal服务器模板下绑定URL模板。
缺省情况下,Portal服务器模板下未绑定URL模板。
仅当与Agile Controller-Campus或iMaster NCE-Campus设备对接时,支持对URL模板中的参数信息进行加密。
- 配置与Portal服务器的交互参数。
- 执行命令system-view,进入系统视图。
- 执行命令web-auth-server version v2 [ v1 ],配置设备支持的Portal协议版本。
缺省情况下,设备同时支持v2与v1版本。
为了保证通信正常,建议采用设备的缺省配置,即两个版本都支持。
- 执行命令web-auth-server listening-port port-number,配置设备侦听Portal协议报文的端口号。
缺省情况下,设备侦听Portal协议报文的端口号为2000。
- 执行命令web-auth-server reply-message,使能将认证服务器回应的用户认证信息透传给Portal服务器的功能。
缺省情况下,设备已使能将认证服务器回应的用户认证信息透传给Portal服务器的功能。
执行命令portal redirect-http-port port-number &<1-10>,配置用户自定义的、能够触发Portal重定向的HTTP报文目的端口号。
缺省情况下,只有未认证用户浏览器发起的目的端口号为80的HTTP报文才会被设备重定向到Portal认证页面。
执行命令authentication https-redirect enable,使能Portal认证或802.1X认证HTTPS重定向功能。
缺省情况下,Portal认证或802.1X认证HTTPS重定向功能处于使能状态。
- 用户访问HTTPS协议的网站触发Portal认证时,浏览器会弹出安全提示,需要用户点击继续才能完成Portal认证。
- 执行HSTS的浏览器或网站不能进行重定向。
- 如果用户发送的HTTPS请求报文的目的端口号是非知名端口(443),则不能进行重定向。
- 如果您希望使能有线Portal认证HTTPS重定向功能,请先执行命令authentication https-redirect enable,再执行命令portal https-redirect wired enable。
- 该功能仅对新接入的Portal或802.1X认证用户生效。
(可选)执行命令portal redirect js enable,开启Portal重定向过程插入JavaScript脚本功能。
缺省情况下,Portal重定向过程插入JavaScript脚本功能处于关闭状态。
(可选)执行命令portal redirect-302 enable,开启Portal认证302重定向功能。
缺省情况下,Portal认证302重定向功能处于关闭状态。
(可选)执行命令portal https-redirect blacklist { ip start-ip-address [ end-ip-address ] | ipv6 start-ipv6-address [ to end-ipv6-address ] },将指定地址或地址段加入HTTPS重定向的黑名单,Portal用户访问黑名单中的地址时无法触发HTTPS重定向。
缺省情况下,HTTPS重定向的黑名单为空。
(可选)执行命令portal https-redirect whitelist { ip start-ip-address [ end-ip-address ] | ipv6 start-ipv6-address [ to end-ipv6-address ] },将指定地址或地址段加入HTTPS重定向的白名单。
缺省情况下,HTTPS重定向的白名单为空。
(可选)执行命令portal https-redirect blacklist aging-time aging-time,配置HTTPS重定向的黑名单中地址的老化时间。
缺省情况下,HTTPS重定向的黑名单中地址的老化时间为259200秒(72小时)。
(可选)执行命令portal https-redirect blacklist packet-rate packet-rate,配置一个Portal用户使用HTTPS协议访问一个地址的速率上限。当用户的访问速率达到上限时,交换机会将该目的地址加入HTTPS重定向的黑名单。
缺省情况下,一个Portal用户使用HTTPS协议访问一个地址的速率上限为40次/分钟。
(可选)执行命令portal https-redirect blacklist retry-times retry-times interval interval,配置次数上限和检测时间。在检测时间内,如果某一地址被加入HTTPS重定向的缓存黑名单的次数达到上限,该地址将被加入HTTPS重定向的黑名单。
缺省情况下,次数上限为10,检测时间为3分钟。
执行命令portal logout resend times timeout period,配置Portal认证用户下线报文的重传次数和重传周期。
缺省情况下,Portal认证用户下线报文的重传次数是3次、重传周期是5秒。
执行命令portal logout different-server enable,使能设备处理非用户上线的Portal服务器发送的用户下线请求消息。
缺省情况下,设备不处理非用户上线的Portal服务器发送的用户下线请求消息。
(可选)配置Portal认证探测功能
背景信息
Portal认证实际组网应用中,若设备与Portal服务器之间出现网络故障导致通信中断或者Portal服务器本身出现故障,则会造成新的Portal认证用户无法上线,已经在线的Portal认证用户也无法正常下线。
Portal认证探测功能可使设备在网络故障或Portal服务器无法正常工作的情况下,通过日志和告警的方式报告故障。
设备对Portal服务器的探测方式分为Portal和HTTP两种。探测方式为Portal时,要求Portal服务器使用Portal协议,且支持Portal心跳报文发送功能。当Portal服务器不满足Portal方式探测的条件时,可以配置HTTP方式的探测。这样探测到服务器Down后,可以及时对新接入用户进行服务器Down授权。
在主备Portal服务器场景或配置Portal逃生功能时,设备需要开启Portal认证探测功能。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令web-auth-server server-name,进入Portal服务器模板视图。
- 执行命令server-detect type { portal | http },配置设备对Portal服务器的探测方式。
缺省情况下,设备对Portal服务器的探测方式为Portal。
- 执行命令server-detect [ interval interval-period | max-times times | critical-num critical-num | action { log | trap } * ] *,使能Portal服务器探测功能。
缺省情况下,未使能Portal服务器探测功能。
(可选)配置Portal认证用户信息同步功能
背景信息
Portal实际组网应用中,若设备与Portal服务器之间出现网络故障导致通信中断或Portal服务器本身出现故障,将使得已经在线的Portal认证用户无法正常下线,进而导致设备与Portal服务器用户信息不一致以及计费不准确问题。
对于三层Portal认证,目前设备支持与华为的Agile Controller-Campus或iMaster NCE-Campus服务器同步用户信息。与其他的Portal服务器对接时,如果不能同步用户信息导致用户不能及时下线,管理员可通过执行命令cut access-user强制用户下线,或者通过网管、RADIUS DM等形式强制用户下线。
配置Portal接入模板使用的外置Portal服务器
背景信息
对用户进行Portal认证时,需要设备提供指向Portal服务器的参数。设备支持的Portal服务器包括外置Portal服务器和内置Portal服务器。当用户希望使用外置Portal服务器进行认证时,首先需要配置外置Portal服务器功能,然后配置Portal接入模板使用外置Portal服务器。之后使用该Portal接入模板的用户在访问非免费网络资源时,将被强制重定向到Portal服务器的认证页面,即可进行Portal认证。
Portal服务器的参数通过Portal服务器模板来管理,所以配置Portal接入模板使用的外置Portal服务器,即配置Portal接入模板使用的Portal服务器模板。
为提高Portal认证的可靠性,可以在Portal接入模板下同时绑定备用Portal服务器模板,当主用Portal服务器中断时,用户被重定向到备用Portal服务器进行认证。该功能要求设备已通过server-detect命令使能Portal服务器探测功能,并且在Portal服务器上开启心跳探测。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令portal-access-profile name access-profile-name,创建Portal接入模板并进入Portal接入模板视图。
- 执行命令web-auth-server server-name [ bak-server-name ] { direct | layer3 },配置Portal接入模板使用的Portal服务器模板。
缺省情况下,Portal接入模板没有使用任何Portal服务器模板。
Portal认证可分为direct方式和layer3方式:- direct方式:当用户与设备之间没有三层转发设备时,设备能够学习到用户的MAC地址。此时可利用MAC地址来识别用户,配置二层认证方式即可。
- layer3方式:不论用户与设备之间是否存在三层转发设备,设备MAC表不能够获取到用户的MAC地址,所以IP地址将唯一标识用户,此时需要配置为三层认证方式。
- (可选)执行命令portal auth-network network-address { mask-length | mask-address },配置Portal认证的源认证网段。
缺省情况下,Portal认证的源认证网段为0.0.0.0/0,表示对所有网段的用户都进行Portal认证。
该命令仅对三层Portal认证有效,二层Portal认证时对所有网段的用户都进行认证。
(可选)配置用户下线探测周期
背景信息
在Portal认证中,如果由于断电、网络异常断开等缘故造成用户下线,此时设备与认证服务器上可能仍保留该用户信息,这会造成计费不准确等问题。另一方面,由于设备允许接入的用户数是有限的,若用户异常下线而设备上仍保留用户信息,则可能导致其他用户不能接入网络。
配置Portal认证用户下线探测周期后,如果用户在探测周期内没有回应,则设备认为该用户已下线。之后设备与认证服务器将会及时清除其上保留的该用户信息,以保证用户资源的有效利用。
本功能仅适用于二层Portal认证方式。
对于采用三层Portal认证的PC用户,可以通过认证服务器的心跳探测功能保证其在线状态正常。认证服务器探测到用户下线后,通知设备将用户下线。
- 根据用户数量,适当放大探测周期。建议当用户数小于8K时,探测周期采用缺省值;当用户数大于8K时,配置探测周期不小于600秒。
- 在接入设备上部署端口防攻击功能,对上送CPU的报文进行限速处理。
(可选)配置Portal逃生功能
背景信息
Portal服务器Down会造成用户无法通过认证,导致用户无任何网络访问权限。Portal逃生即在接入设备探测到Portal服务器Down时,授予用户特定的网络访问权限,满足用户基本的网络访问需求。
设备做AC设备时,无线用户的Portal逃生功能必须配套V200R007C00及其之后版本的FIT AP设备才能生效。
不支持为在线Portal用户授权VLAN。
操作步骤
- 执行命令system-view,进入系统视图。
- 配置授权参数
UCL组
执行命令ucl-group group-index [ name group-name ],创建UCL组。
缺省情况下,未创建UCL组。
(可选)执行命令ucl-group ip ip-address { mask-length | ip-mask } { group-index | name group-name } [ escape ],配置静态UCL组IP地址。
缺省情况下,未配置静态UCL组IP地址。
仅S5720-EI、S5720-HI、S5730-HI、S5731-H-K、S5731-H、S5731S-H、S5731-S、S5731S-S、S6720-HI、S5732-H-K、S5732-H、S6730-H、S6730-H-K、S6730S-H、S6730-S、S6730S-S、S6720-EI和S6720S-EI支持静态UCL组IP地址。
- (可选)执行命令ucl-group domain domain-name domain-name { group-index | name group-name },配置静态UCL组域名。
缺省情况下,未配置静态UCL组域名。
配置此步骤时,还需执行以下命令:
在接口视图或端口组视图下,执行命令dns snooping enable,开启DNS Snooping功能。该功能开启后,设备解析收到的DNS应答报文来获取IP地址,生成IP地址与域名的映射关系。
在系统视图下,执行命令dns snooping ttl delay-time delay-time,配置DNS Snooping IP地址与域名表项老化的延时时间。其延时时间缺省值为5760分钟。
在系统视图下,执行命令dns snooping server-ip-address server-ip-address,配置域名服务器的IP地址。
配置后,设备仅解析收到的源地址为该IP地址的DNS应答报文来获取IP地址,生成IP地址与域名的映射关系。
仅S5720-HI、S5730-HI、S5731-H、S5731-H-K、S5731-S、S5731S-H、S5731S-S、S5732-H、S5732-H-K、S6720-HI、S6730-H、S6730-H-K、S6730S-H、S6730-S、S6730S-S支持静态UCL组域名。
- 配置用户ACL或用户ACL6,根据UCL组对报文进行过滤。详细配置请参见《S2720, S5700, S6700 V200R019C10 配置指南-安全》 ACL配置 中的“配置用户ACL”或“配置用户ACL6”。
可采用以下方式对报文进行处理:
执行命令traffic-filter inbound acl [ ipv6 ] { acl-number | name acl-name },配置基于ACL对报文进行过滤。
缺省情况下,未配置基于ACL对报文进行过滤。
执行命令traffic-redirect inbound acl { acl-number | name acl-name } [ vpn-instance vpn-instance-name ] ip-nexthop nexthop-address或者traffic-redirect inbound acl { acl-number | name acl-name } vpn-instance vpn-instance-name,配置基于ACL对报文进行重定向。
缺省情况下,未配置基于ACL对报文进行重定向。
仅S5720-EI、S5720-HI、S5730-HI、S5731-H-K、S5731-H、S5731S-H、S5731-S、S5731S-S、S6720-HI、S5732-H-K、S5732-H、S6730-H、S6730-H-K、S6730S-H、S6730-S、S6730S-S、S6720-EI和S6720S-EI支持traffic-redirect命令。
仅S5720-HI、S5730-HI、S5731-H、S5731-H-K、S5731S-H、S5731-S、S5731S-S、S6720-HI、S5732-H、S5732-H-K、S6730-H、S6730-H-K、S6730S-H、S6730-S、S6730S-S支持命令格式traffic-redirect inbound acl { acl-number | name acl-name } vpn-instance vpn-instance-name。
业务方案
- 执行命令aaa,进入AAA视图。
执行命令service-scheme service-scheme-name,创建一个业务方案,并进入业务方案视图。
缺省情况下,设备上没有创建业务方案。
- 执行命令acl-id [ ipv6 ] acl-number ,在业务方案下绑定ACL。
缺省情况下,业务方案下未绑定ACL。
仅S5735-L、S5735S-L、S5735S-L-M、S5735-S、S5735-S-I、S5735S-S、S5720-HI、S5720-EI、S6720-EI和S6720S-EI支持ipv6参数。
执行该命令之前,需确保已使用命令acl或acl name创建了ACL;并使用命令rule配置相应的ACL规则。
各类访问策略优先级顺序为:
RADIUS服务器下发的ACL编号 > 本地配置的ACL编号 > RADIUS服务器通过编号26-82的属性HW-Data-Filter下发的ACL规则或DACL组 > RADIUS服务器下发的UCL组索引 > 本地配置的UCL组。
- 执行命令ucl-group { group-index | name group-name },在业务方案下绑定UCL组。
缺省情况下,业务方案下未绑定UCL组。
执行该命令之前,需确保已创建并配置了标记用户类别的UCL组。
执行命令user-vlan vlan-id,在业务方案中配置用户VLAN。
缺省情况下,在业务方案中未配置用户VLAN。
执行该命令之前,需确保已使用命令vlan创建了VLAN。
执行命令voice-vlan在业务方案中使能Voice VLAN功能。
缺省情况下,在业务方案中未使能Voice VLAN功能。
为使本命令功能生效,需已使用命令voice-vlan enable配置指定VLAN为Voice VLAN,同时使能接口的Voice VLAN功能。
- 执行命令sac-profile profile-name,将SAC模板绑定到业务方案中。
缺省情况下,业务方案中未绑定SAC模板。
三层Portal认证不支持该命令功能。
设备仅支持本地授权sac-profile。无线场景时,直接转发模式不支持本地授权sac-profile。
同时配置IP地址掩码为非32位的静态UCL组时,静态UCL组不生效。
同时配置traffic-remark inbound acl命令时,traffic-remark inbound acl命令功能优先生效。
仅S5731-S、S5731S-S、S5731-H、S5731-H-K和S5731S-H支持此命令。
执行命令qos-profile profile-name,在业务方案中绑定QoS模板。
缺省情况下,在业务方案中未绑定QoS模板。
仅S5720-EI、S5720-HI、S5730-HI、S5731-H-K、S5731-H、S5731S-H、S5731-S、S5731S-S、S6720-HI、S5732-H-K、S5732-H、S6730-H、S6730-H-K、S6730S-H、S6730-S、S6730S-S、S6720-EI和S6720S-EI支持该命令。
执行该命令之前,需确保已配置了QoS模板。配置QoS模板操作步骤如下:- 在系统视图下执行命令qos-profile name profile-name,创建QoS模板并进入QoS模板视图。
- 在QoS模板视图下配置流量监管、报文处理优先级与用户队列。(业务方案下绑定QoS模板后,QoS模板中仅以下命令生效。)
- 执行命令car cir cir-value [ pir pir-value ] [ cbs cbs-value pbs pbs-value ] { inbound | outbound },在QoS模板中配置流量监管。
缺省情况下,QoS模板中没有配置流量监管。
- 执行命令remark dscp dscp-value { inbound | outbound },在QoS模板中配置重标记IP报文的DSCP优先级。
缺省情况下,QoS模板中没有配置重标记IP报文的DSCP优先级。
- 执行命令remark 8021p 8021p-value,在QoS模板中配置重标记VLAN报文802.1p优先级。
缺省情况下,QoS模板中没有配置重标记VLAN报文802.1p优先级。
- 执行命令car cir cir-value [ pir pir-value ] [ cbs cbs-value pbs pbs-value ] { inbound | outbound },在QoS模板中配置流量监管。
- 执行命令quit,返回到AAA视图。
- 执行命令quit,返回到系统视图。
- 执行命令traffic-remark inbound acl ucl-acl local-precedence local-precedence-value, 指定基于用户ACL对报文进行重标记。
- 执行命令portal-access-profile name access-profile-name,进入Portal接入模板视图。
- 执行命令authentication event portal-server-down action authorize { service-scheme service-scheme-name | ucl-group ucl-group-name },配置用户在Portal服务器Down时的网络访问权限。
缺省情况下,未配置用户在Portal服务器Down时的网络访问权限。
- (可选)执行命令authentication event portal-server-up action re-authen,使能当Portal服务器状态由Down转变为Up时,设备对用户进行重认证。
缺省情况下,当Portal服务器状态由Down转变为Up时,设备不会对用户进行重新认证。
执行该步骤后,当接入设备探测到Portal服务器的状态由Down转变为Up时,会对用户进行重认证。接入设备将处于web-server-down状态的用户置为预连接状态,之后用户访问任意网页即可启动重认证流程,如果认证成功,接入设备会开放用户正常的网络访问权限。
检查Portal服务器模板和Portal接入模板的配置结果
操作步骤
- 执行命令display portal-access-profile configuration [ name access-profile-name ],查看Portal接入模板的配置信息。
- 执行命令display portal [ interface interface-type interface-number ],查看Portal认证相关信息。
- 执行命令display portal user-logout [ ip-address ip-address [ vpn-instance vpn-instance-name ] ],查看Portal认证用户的下线临时表项信息。
- 执行命令display web-auth-server configuration,查看Portal服务器模板的配置信息。
- 执行命令display url-template { all | name template-name },查看URL模板的配置信息。
- 执行命令display server-detect state [ web-auth-server server-name ],查看Portal服务器状态信息。
- 执行命令display portal https-redirect blacklist查看HTTPS重定向的黑名单中的IPv4地址。
- 执行命令display portal https-redirect ipv6 blacklist查看HTTPS重定向的黑名单中的IPv6地址。
- 执行命令display portal https-redirect whitelist查看HTTPS重定向的白名单中的IPv4地址。
- 执行命令display portal https-redirect ipv6 whitelist查看HTTPS重定向的白名单中的IPv6地址。