Triple认证技术
1 技术背景
MAC认证、802.1X认证、Portal认证是三种接入认证方式,三者分别由new MAC事件、EAP报文、HTTP报文来触发。针对不同的应用场景,使用相应的部署。802.1X认证需要客户端的配合,适用于安装了802.1X客户端的主机;随着BYOD概念逐渐深入人心,大量移动终端如手机、PAD等也有接入网络的需求,而从用户使用习惯的角度出发,这类设备往往不会安装专门的客户端软件,所以这部分用户可以选择Portal认证;而对于打印机、打卡器等终端,由于本身往往不支持认证交互,MAC地址又是已知且固定不变的,这类设备适合采用MAC认证。
为了满足不同用户的需求,在同一端口上同时实现下挂不同的认证用户,推出了Triple认证。Triple认证可以支持在一个交换机二层端口上同时使能802.1X认证、MAC认证以及二层Portal认证,在Triple认证中采用基于MAC认证模式的802.1X。三种认证针对不同的应用场景,将三种认证在端口上同时支持,增加认证环境部署的灵活性。
图1 Triple认证应用示意图
2 几种认证之间的覆盖关系
对于接入用户,只要通过其中一种认证,就可以访问相关权限。客户端启动或者网卡接入时首先触发MAC地址认证,通过了MAC认证以后,再使用802.1X客户端触发802.1X认证可以认证成功,将覆盖之前MAC认证信息,而当802.1X认证失败后又可以重新通过new MAC事件来触发MAC认证。用户通过MAC地址认证后,不会再触发Portal认证。二层Portal认证以及802.1X认证成功后不能被其他认证覆盖。
3 认证相关功能
3.1 授权下发VLAN
接入设备对认证成功的用户可以添加相应的授权VLAN,Triple认证应用中采用基于MAC的VLAN技术来实现对于不同的用户下发不同的权限。
基于MAC的VLAN按照报文的源MAC地址来定义VLAN成员,将指定报文加入该VLAN的Tag后在交换机内转发,当收到的报文为untagged报文时,会以报文的源MAC为根据去匹配MAC-VLAN表项。MAC-VLAN表项可以静态配置也可以动态的下发。在Triple认证应用中MAC-VLAN表项采用动态下发的方式,要求用户端口采用hybrid口,端口上启用MAC-VLAN。
在授权服务器上配置下发VLAN信息,认证成功后接入设备将生成MAC-VLAN表项。同时会自动修改端口属性,允许下发的VLAN untagged通过。上线成功的用户根据的源MAC查询MAC-VLAN表项,按照表项中对应得VLAN进行转发。以下是设备上的MAC-VLAN表项信息,按照精确匹配的方式,不改变优先级,状态是Dynamic:
display mac-vlan all
The following MAC VLAN addresses exist:
S:Static D:Dynamic
MAC ADDR MASK VLAN ID PRIO STATE
--------------------------------------------------------
000d-88f8-332b ffff-ffff-ffff 40 0 D
0015-e9a6-5c36 ffff-ffff-ffff 20 0 D
如表项所示通过认证的MAC 000d-88f8-332b可以访问VLAN 40里的资源,通过认证的MAC 0015-e9a6-5c36可以访问VLAN 20里的资源。
当用户下线时,接入设备删除相应MAC-VLAN表项,同时端口恢复之前的VLAN属性。
802.1X认证、MAC认证以及二层Portal认证都支持下发授权VLAN。
3.2 GUEST VLAN
GUEST VLAN设置了用户在认证成功前被授予的权限,在Triple认证中也是需要同MAC-VLAN结合实现的,Triple认证中支持基于MAC模式的802.1X GUEST VLAN。其触发机制区别于基于端口的802.1X GUEST VLAN。
之前802.1X的GUEST VLAN只能在基于端口认证模式下生效,在3个Handshake时间内没有认证成功的用户自动将端口加入设置的GUEST VLAN内,同时修改端口属性,后续从该端口接入的用户都可以访问GUEST VLAN里的资源。直到有用户认证成功,端口退出GUEST VLAN,当用户下线后,在检测时间内没有用户认证成功,端口又会加入GUEST VLAN。
而基于MAC模式的802.1X GUEST VLAN需要由未知源MAC来触发。即在有用户流量触发NEW MAC事件后,30s内会允许该用户访问GUEST VLAN里的资源,通过下发相应的MAC VLAN表项来实现,同时修改端口VLAN属性;当在规定的时长内没有流量通过,将会删除MAC VLAN表项,同时恢复端口VLAN属性。
3.3 Auth-fail VLAN
Auth-fail VLAN 划分了在用户认证失败后能够访问的资源。Triple认证支持MAC认证、802.1X认证和二层Portal认证的Auth-fail VLAN。
MAC认证的Auth-fail VLAN触发类似于GUEST VLAN,也是通过未知源MAC来触发,流量老化来删除。
而802.1X Auth-fail VLAN的触发需要客户端认证失败,例如用户名密码失败,此时设备会针对该用户下发MAC VLAN表项,为用户添加认证失败后访问的资源。退出Auth-fail VLAN,可以通过同一MAC认证通过,就会删除Auth-fail VLAN表项,如果用户不主动上下线,在用户空闲时启动定时器,在3次检查到用户没有流量的情况下强制删除Auth-fail VLAN。
二层Portal认证的Auth-fail VLAN加入删除同802.1X一致。