定义
portal认证通常也称为web认证,一般将portal认证网站称为门户网站。用户上网时,必须在门户网站进行认证,如果未认证成功,仅可以访问特定的网络资源,认证成功后,才可以访问其他网络资源。
免安装:portal认证不需要安装专门软件
便于运营:可以在portal页面上进行业务拓展,如广告推送、企业宣传等
应用广泛:运营商、连锁快餐、酒店、学校
部署位置灵活:可以在接入层或关键数据的入口作访问控制
用户管理灵活:可基于用户名与vlan/ip/mac地址的组合对用户进行认证
架构
包括客户端、接入设备、portal服务器和认证服务器。
客户端:安装有运行http/https协议的浏览器的主机
接入设备:交换机、路由器等接入设备的统称,主要有三个方面的作用。
认证前:将认证网段内用户的所有http/https请求都重定向到portal服务器
认证中:与portal服务器、认证服务器交互,完成对用户身份认证、授权与计费的功能
认证后:允许用户访问被管理员授权的网络资源。
portal服务器:接收客户端认证请求的服务器系统,提供免费门户服务和认证界面,与接入设备交互客户端的认证信息。
外置Portal服务器:支持外置独立服务器的扩展功能,例如支持MAC优先的Portal认证。
内置Portal服务器:内嵌于接入设备内,实现简单的Portal服务器功能,不能完全替代独立的Portal服务器。
优点:不需要部署额外的Portal服务器,故增强了Portal认证的通用性。
缺点:受限于接入设备存储空间、功能和性能,仅能给用户提供通过Web方式上线、下线的基本功能,不支持外置独立服务器的任何扩展功能,例如不支持MAC优先的Portal认证。
场景:适用于功能简单、接入人数少的场景,例如小型餐馆提供的连接Internet服务。
认证服务器:与接入设备进行交互,完成对用户的认证、授权与计费。
portal协议
portal协议分为portal接入协议和portal认证协议
portal接入协议
基于http/https协议,描述了客户端和portal服务器之间的协议交互。
客户端通过HTTP/HTTPS协议依次向portal服务器发起连接请求和portal认证请求。
portal认证协议
支持如下两种认证协议
portal协议:描述了portal服务器和接入设备之间的协议交互,可以用来传递用户名和密码等参数。其兼容中国移动portal 2.0协议,支持该协议的基本功能。
收到客户端的portal认证请求后,portal服务器通过portal协议向接入设备发起portal认证请求(携带用户名和密码)。
http/https协议:描述了客户端和接入设备之间的协议交互,可以用来传递用户名和密码等参数。收到客户端的portal认证请求后,portal服务器通过HTTP/HTTPS协议通知客户端向接入设备发起portal认证请求,然后客户端通过HTTP/HTTPS协议向接入设备发起portal认证请求(携带用户名和密码)
portal认证方式
按照网络中实施portal认证的网络层次来分,portal认证方式分为两种:二层认证方式和三层认证方式。
二层认证
当客户端与接入设备之间为二层网络时,即客户端与接入设备直连(或之间只有二层设备存在),接入设备可以学习到客户端的mac地址,则接入设备可以利用IP地址和mac地址来识别用户,此时可以配置portal认证为二层认证方式。
二层认证流程简单,安全性高,但是由于限制了用户只能与接入设备处于同一网段,所以组网灵活性不高
三层认证
当客户端与接入设备之间包含三层网络时,即客户端与接入设备之间存在三层转发设备,接入设备不能获取到认证客户端的MAC地址,只能以IP地址作为用户的唯一标识,此时需要将Portal认证配置为三层认证方式。
三层认证组网灵活,容易实现远程控制,但由于只能以IP地址作为用户的唯一标识,所以安全性不高。
portal认证流程
认证的第一件事情就是发起认证,有两种认证触发方式:
主动认证
用户通过浏览器主动访问Portal认证网站时,即在浏览器中直接输入Portal服务器的网络地址,然后在显示的网页中输入用户名和密码进行认证,这种开始Portal认证过程的方式即为主动认证,即由用户自己主动访问Portal服务器发起的身份认证。
重定向认证
用户输入的访问地址不是Portal认证网站地址时,将被强制访问Portal认证网站(通常称为重定向),从而开始Portal认证过程,这种方式称作重定向认证。
基于portal协议的portal认证流程
在二层认证方式下,用户上线时的报文交互流程。在三层方式没有建立预连接过程。
1、在认证之前客户端与接入设备之间建立起预连接,即客户端用户在认证成功之前在接入设备上已建立用户在线表项,并且只有部分网络访问权限。
2、客户端发起HTTP连接请求。
3、接入设备收到HTTP连接请求报文时,如果是访问portal服务器或免认证网络资源的http报文,则接入设备允许其通过;如果是访问其他地址的http报文,则接入设备将其url地址重定向到portal认证页面。
4、客户端根据获得的url地址向portal服务器发起http连接请求。
5、portal服务器向客户端返回portal认证页面
6、用户在portal认证页面输入用户名和密码后,客户端向portal服务器发起portal认证请求
7、portal服务器收到portal认证请求后,如果portal服务器与接入设备之间采用chap认证,则portal服务器向接入设备发起portal挑战字请求报文(req-challenge);如果portal服务器与接入设备之间采用pap认证,则接入设备直接进行第9步。
8、接入设备向portal服务器回应por