配置Portal接入模板(针对外置Portal服务器-HTTP/HTTPS协议)
设备支持的Portal服务器可分为外置Portal服务器与内置Portal服务器。外置Portal服务器具有独立的硬件设施,内置Portal服务器为存在于接入设备之内的内嵌实体(即由接入设备实现Portal服务器功能)。收到客户端的Portal认证请求后,Portal服务器通过HTTP/HTTPS协议通知客户端向接入设备发起Portal认证请求,然后客户端通过HTTP/HTTPS协议向接入设备发起Portal认证请求(携带用户名和密码)。
完成Portal服务器的配置之后,必须在Portal接入模板中应用以上配置的Portal服务器。之后使用该Portal接入模板的用户在访问非免费网络资源时,将被强制重定向到Portal服务器的认证页面,即可进行Portal认证。
本节介绍使用外置Portal服务器时,Portal服务器和Portal接入模板的相关配置。
配置外置Portal服务器功能
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令portal web-authen-server { http | https ssl-policy policy-name } [ port port-number ],开启HTTP/HTTPS协议的Portal对接功能。
缺省情况下,HTTP/HTTPS协议的Portal对接功能处于关闭状态。
- 执行命令web-auth-server server-name,创建Portal服务器模板,并进入Portal服务器模板视图。
缺省情况下,未创建Portal服务器模板。
- 执行命令protocol http [ password-encrypt { none | uam } ],配置Portal认证时所使用的协议为HTTP/HTTPS协议。
缺省情况下,Portal认证时所使用的协议为Portal协议。
默认密码的编码方式为none,请根据Portal服务器的配置,配置设备上密码的编码方式。
- (可选)执行命令http get-method enable,配置进行Portal认证时允许用户使用GET方式向设备提交用户名和密码等信息。
缺省情况下,进行Portal认证时不允许用户使用GET方式向设备提交用户名和密码等信息。
设备默认允许用户使用POST方式向设备提交用户名和密码等信息。Portal服务器使用GET方式时,请执行此步骤。
- (可选)执行命令http-method post { cmd-key cmd-key [ login login-key | logout logout-key ] * | init-url-key init-url-key | login-fail response { err-msg { authenserve-reply-message | msg msg } | redirect-login-url | redirect-url redirect-url [ append-reply-message msgkey ] } | login-success response { msg msg | redirect-init-url | redirect-url redirect-url } | logout-fail response { msg msg | redirect-url redirect-url } | logout-success response { msg msg | redirect-url redirect-url } | password-key password-key | user-mac-key user-mac-key | userip-key userip-key | username-key username-key } *,配置解析和回应HTTP/HTTPS协议的POST/GET请求报文的参数。
缺省情况下,系统已配置解析和回应HTTP/HTTPS协议的POST/GET请求报文的参数,详情请参见http-method post命令中的参数说明。
请根据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,配置在Portal服务器模板下绑定URL模板。
缺省情况下,Portal服务器模板下未绑定URL模板。
- 执行命令quit,返回到系统视图。
- (可选)执行命令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认证探测功能
背景信息
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服务器。当用户希望使用外置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接入模板的配置结果
操作步骤
- 执行命令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地址。