02-802.1X配置
本章节下载: 02-802.1X配置 (627.74 KB)
本章节主要描述了802.1X的相关概念及配置步骤,由于通过配置端口安全特性也可以为用户提供802.1X认证服务,且还可以提供802.1X和MAC地址认证的扩展和组合应用,因此在需要灵活使用以上两种认证方式的组网环境下,推荐使用端口安全特性。而在仅需要802.1X特性来完成接入控制的组网环境下,推荐单独使用802.1X特性。关于端口安全特性的详细介绍和具体配置请参见“安全配置指导”中的“端口安全”。
IEEE802 LAN/WAN委员会为解决无线局域网网络安全问题,提出了802.1X协议。后来,802.1X协议作为局域网端口的一个普通接入控制机制在以太网中被广泛应用,主要解决以太网内认证和安全方面的问题。
802.1X协议是一种基于端口的网络接入控制协议(port based network access control protocol)。“基于端口的网络接入控制”是指,在局域网接入设备的端口这一级,对所接入的用户设备通过认证来控制对网络资源的访问。
802.1X系统为典型的Client/Server结构,如图1-1所示,包括三个实体:客户端(Client)、设备端(Device)和认证服务器(Server)。
图1-1 802.1X认证系统的体系结构
· 客户端是位于局域网段一端的一个实体,由该链路另一端的设备端对其进行认证。客户端一般为一个用户终端设备,用户可以通过启动客户端软件发起802.1X认证。客户端必须支持EAPOL(Extensible Authentication Protocol over LAN,局域网上的可扩展认证协议)。
· 设备端是位于局域网段一端的另一个实体,对所连接的客户端进行认证。设备端通常为支持802.1X协议的网络设备,它为客户端提供接入局域网的端口,该端口可以是物理端口,也可以是逻辑端口。
· 认证服务器是为设备端提供认证服务的实体。认证服务器用于实现对用户进行认证、授权和计费,通常为RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器。
802.1X认证系统使用EAP(Extensible Authentication Protocol,可扩展认证协议)来实现客户端、设备端和认证服务器之间认证信息的交换,各实体之间EAP协议报文的交互形式如下:
(1) 在客户端与设备端之间,EAP协议报文使用EAPOL封装格式,并直接承载于LAN环境中。
(2) 在设备端与RADIUS服务器之间,EAP协议报文可以使用以下两种方式进行交互。
· EAP中继:EAP协议报文由设备端进行中继,设备将EAP报文使用EAPOR(EAP over RADIUS)封装格式承载于RADIUS协议中,发送给RADIUS服务器进行认证。该认证方式的优点是,设备处理简单,可支持多种类型的EAP认证方法,例如MD5-Challenge、EAP-TLS、PEAP等,但要求服务器端支持相应的认证方法;
· EAP终结:EAP协议报文由设备端进行终结,设备将客户端认证信息封装在标准RADIUS报文中,与服务器之间采用PAP(Password Authentication Protocol,密码验证协议)或CHAP(Challenge Handshake Authentication Protocal,质询握手验证协议)方式进行认证。该认证方式的优点是,现有的RADIUS服务器基本均可支持PAP和CHAP认证,无需升级服务器,但设备处理较为复杂,且不能支持除MD5-Challenge之外的其它EAP认证方法。
设备端为客户端提供接入局域网的端口,这个端口被划分为两个逻辑端口:受控端口和非受控端口。任何到达该端口的帧,在受控端口与非受控端口上均可见。
· 非受控端口始终处于双向连通状态,主要用来传递EAPOL协议帧,保证客户端始终能够发出或接收认证报文。
· 受控端口在授权状态下处于双向连通状态,用于传递业务报文;在非授权状态下禁止从客户端接收任何报文。
设备端利用认证服务器对需要接入局域网的客户端执行认证,并根据认证结果(Accept或Reject)对受控端口的授权/非授权状态进行相应地控制。
图1-2显示了受控端口上不同的授权状态对通过该端口报文的影响。图中对比了两个802.1X认证系统的端口状态。系统1的受控端口处于非授权状态(相当于端口开关打开),系统2的受控端口处于授权状态(相当于端口开关关闭)。
在非授权状态下,受控端口可以被设置成单向受控和双向受控。
· 实行双向受控时,禁止帧的发送和接收;
· 实行单向受控时,禁止从客户端接收帧,但允许向客户端发送帧。
目前,设备只支持单向受控。
EAPOL是802.1X协议定义的一种报文封装格式,主要用于在客户端和设备端之间传送EAP协议报文,以允许EAP协议报文在LAN上传送。EAPOL数据包的格式如图1-3所示。
图1-3 EAPOL数据包格式
PAE Ethernet Type:表示协议类型,为0x888E。
Protocol Version:表示EAPOL帧的发送方所支持的协议版本号。
Type:表示EAPOL数据帧类型,目前设备上支持的数据类型见表1-1。
表1-1 EAPOL数据类型
类型值 |
数据帧类型 |
说明 |
0x00 |
EAP-Packet(认证信息帧) |
该数据帧用于承载认证信息,在设备端重新封装并承载于RADIUS协议上,便于穿越复杂的网络到达认证服务器 |
0x01 |
EAPOL-Start(认证发起帧) |
这两种类型的帧仅在客户端和设备端之间存在 |
0x02 |
EAPOL-Logoff(退出请求帧) |
Length:表示数据长度,也就是“Packet Body”字段的长度,单位为字节。如果为0,则表示没有后面的数据域。
Packet Body:表示数据内容,根据不同的Type有不同的格式。
当EAPOL数据包格式Type域为EAP-Packet时,Packet Body为EAP数据包结构,如图1-4所示。
图1-4 EAP数据包格式
· Code:指明EAP包的类型,共有4种:Request、Response、Success、Failure。
· Identifier:用于匹配Request消息和Response消息。
· Length:EAP包的长度,包含Code、Identifier、Length和Data域,单位为字节。
· Data:EAP包的内容,由Code类型决定。
RADIUS为支持EAP认证增加了两个属性:EAP-Message(EAP消息)和Message-Authenticator(消息认证码)。RADIUS协议的报文格式请参见“安全配置指导”中的“AAA配置”的RADIUS协议简介部分。
如图1-5所示,这个属性用来封装EAP数据包,类型代码为79,String域最长253字节,如果EAP数据包长度大于253字节,可以对其进行分片,依次封装在多个EAP-Message属性中。
图1-5 EAP-Message属性封装
如图1-6所示,这个属性用于在使用EAP认证方法的过程中,避免接入请求包被窃听。在含有EAP-Message属性的数据包中,必须同时也包含Message-Authenticator属性,该属性值被用于验证数据包的完整性,如果接收端计算出的该报文的完整性校验值与报文中携带的Message-Authenticator属性值不一致,该数据包会被认为无效而被丢弃。
802.1X的认证过程可以由客户端主动发起,也可以由设备端发起。设备支持的认证触发方式包括以下两种:
客户端主动向设备端发送EAPOL-Start报文来触发认证,该报文目的地址为IEEE 802.1X协议分配的一个组播MAC地址:01-80-C2-00-00-03。
另外,由于网络中有些设备不支持上述的组播报文,使得认证设备无法收到客户端的认证请求,因此设备端还支持广播触发方式,即,可以接收客户端发送的目的地址为广播MAC地址的EAPOL-Start报文。目前,只有iNode的802.1X客户端支持广播触发方式。
设备端触发方式用于支持不能主动发送EAPOL-Start报文的客户端,例如Windows XP自带的802.1X客户端。根据发送EAPOL-Request/Identity报文的方式不同,有以下两种触发方式:
· 组播触发:设备每隔N秒(缺省为30秒)主动向客户端发送组播EAP-Request/Identity报文来触发认证。
· 单播触发:当设备收到源MAC地址未知的报文时,主动向该MAC地址发送单播EAP-Request/Identity报文来触发认证。若设备端在设置的时长内没有收到客户端的响应,则重发该报文。
802.1X系统支持EAP中继方式和EAP终结方式与远端RADIUS服务器交互完成认证。以下关于两种认证方式的过程描述,都以客户端主动发起认证为例。
这种方式是IEEE 802.1X标准规定的,将EAP(可扩展认证协议)承载在其它高层协议中,如EAP over RADIUS,以便扩展认证协议报文穿越复杂的网络到达认证服务器。一般来说,需要RADIUS服务器支持EAP属性:EAP-Message和Message-Authenticator,分别用来封装EAP报文及对携带EAP-Message的RADIUS报文进行保护。
下面以EAP-MD5方式为例介绍基本业务流程,如图1-7所示。
图1-7 IEEE 802.1X认证系统的EAP中继方式业务流程
认证过程如下:
(1) 当用户有访问网络需求时打开802.1X客户端程序,输入已经申请、登记过的用户名和密码,发起连接请求(EAPOL-Start报文)。此时,客户端程序将发出请求认证的报文给设备端,开始启动一次认证过程。
(2) 设备端收到请求认证的数据帧后,将发出一个请求帧(EAP-Request/Identity报文)要求用户的客户端程序发送输入的用户名。
(3) 客户端程序响应设备端发出的请求,将用户名信息通过数据帧(EAP-Response/Identity报文)发送给设备端。
(4) 设备端将客户端发送的数据帧经过封包处理后(RADIUS Access-Request报文)发送给认证服务器进行处理。
(5) RADIUS服务器收到设备端转发的用户名信息后,将该信息与数据库中的用户名表对比,找到该用户名对应的密码信息,用随机生成的一个加密字(EAP-Request/MD5 Challenge报文)对它进行加密处理,同时也将此加密字通过RADIUS Access-Challenge报文发送给设备端,
(6) 设备端将RADIUS服务器发送的加密字转发给客户端。
(7) 客户端收到由设备端传来的加密字后,用该加密字对密码部分进行加密处理(此种加密算法通常是不可逆的),生成EAP-Response/MD5 Challenge报文,并发送给设备端。
(8) 设备端将此EAP-Response/MD5 Challenge报文经过封包处理后发送给RADIUS服务器。
(9) RADIUS服务器将收到的已加密的密码信息(RADIUS Access-Request报文)和本地经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息(RADIUS Access-Accept报文和EAP-Success报文)。
(10) 设备收到认证通过消息后将端口改为授权状态,允许用户通过端口访问网络。
(11) 用户在线期间,设备端会通过向客户端定期发送握手报文的方法,对用户的在线情况进行监测。缺省情况下,两次握手请求报文都得不到客户端应答,设备端就会让用户下线,防止用户因为异常原因下线而设备无法感知。
(12) 客户端收到握手报文后,向设备发送应答报文,表示用户仍然在线。
(13) 客户端可以发送EAPOL-Logoff报文给设备端,主动要求下线。设备端把端口状态从授权状态改变成未授权状态,并向客户端发送EAP-Failure报文。
EAP中继方式下,需要保证在客户端和RADIUS服务器上选择一致的EAP认证方法,而在设备上,只需要通过dot1x authentication-method eap命令启动EAP中继方式即可。
这种方式将EAP报文在设备端终结并映射到RADIUS报文中,利用标准RADIUS协议完成认证、授权和计费。设备端与RADIUS服务器之间可以采用PAP或者CHAP认证方法。以下以CHAP认证方法为例介绍基本业务流程,如图1-8所示。
图1-8 IEEE 802.1X认证系统的EAP终结方式业务流程
EAP终结方式与EAP中继方式的认证流程相比,不同之处在于步骤(4)中用来对用户密码信息进行加密处理的随机加密字由设备端生成,之后设备端会把用户名、随机加密字和客户端加密后的密码信息一起送给RADIUS服务器,进行相关的认证处理。
设备不仅支持协议所规定的基于端口的接入认证方式(portbased),还对其进行了扩展、优化,支持基于MAC的接入控制方式(macbased)。
· 当采用基于端口的接入控制方式时,只要该端口下的第一个用户认证成功后,其它接入用户无须认证就可使用网络资源,但是当第一个用户下线后,其它用户也会被拒绝使用网络。
· 采用基于MAC的接入控制方式时,该端口下的所有接入用户均需要单独认证,当某个用户下线时,也只有该用户无法使用网络。
802.1X用户在服务器上通过认证时,服务器会把授权信息传送给设备端。如果服务器上配置了下发VLAN功能,则授权信息中含有授权下发的VLAN信息,设备根据用户认证上线的端口链路类型,按以下三种情况将端口加入下发VLAN中。
· 端口的链路类型为Access,当前Access端口离开用户配置的VLAN并加入授权下发的VLAN中。
· 端口的链路类型为Trunk,设备允许授权下发的VLAN通过当前Trunk端口,并且端口的缺省VLAN ID为下发VLAN的VLAN ID。
· 端口的链路类型为Hybrid,设备允许授权下发的VLAN以不携带Tag的方式通过当前Hybrid端口。在端口的控制方式为macbased时,若当前Hybrid端口上开启了MAC VLAN功能,则设备将根据认证服务器下发的授权VLAN动态地创建基于用户MAC的VLAN,而端口的缺省VLAN ID并不改变;若当前Hybrid端口上未开启MAC VLAN功能,则设备会将端口的缺省VLAN ID修改为第一个通过认证的用户的授权VLAN ID,而后续用户若要认证成功,其授权VLAN必须与该用户的授权VLAN相同。在端口的控制方式为portbased时,设备会将端口的缺省VLAN ID修改为下发VLAN的VLAN ID。
授权下发的VLAN并不改变端口的配置,也不影响端口的配置。但是,授权下发的VLAN的优先级高于用户配置的VLAN,即通过认证后起作用的VLAN是授权下发的VLAN,用户配置的VLAN在用户下线后生效。
关于不同端口链路类型下VLAN的具体配置请参见“二层技术-以太网交换配置指导”中的“VLAN配置”。
· 对于Hybrid端口,在VLAN下发之前,不建议将授权下发的VLAN配置为携带Tag的方式加入端口。
· 对于Hybrid端口,在VLAN下发之后,不建议将授权下发的VLAN配置修改为携带Tag的方式。
· 在启动了802.1X周期性重认证功能的Hybrid端口上,若用户在MAC VLAN功能开启之前上线,则MAC VLAN功能不能对它生效,即系统不会根据服务器下发的VLAN生成该用户的MAC VLAN表项,除非该在线用户重认证成功且服务器授权下发的VLAN发生变化时,MAC VLAN功能才会对它生效。MAC VLAN功能的详细介绍请参考“二层技术-以太网交换配置指导”中的“VLAN”。
Guest VLAN功能允许用户在未认证的情况下,可以访问某一特定VLAN中的资源,比如获取客户端软件,升级客户端或执行其他一些用户升级程序。这个VLAN称之为Guest VLAN。
根据端口的接入控制方式不同,Guest VLAN的生效情况有所不同。
(1) 端口的接入控制方式为portbased
在接入控制方式为portbased的端口上配置Guest VLAN后,若在一定的时间内(默认90秒),该端口上无客户端进行认证或者无客户端认证成功,则该端口将被加入Guest VLAN,所有在该端口接入的用户将被授权访问Guest VLAN里的资源。端口加入Guest VLAN的情况与加入授权下发VLAN相同,与端口链路类型有关。
当端口上处于Guest VLAN中的用户发起认证且失败时:如果端口配置了Auth-Fail VLAN,则该端口会被加入Auth-Fail VLAN;如果端口未配置Auth-Fail VLAN,则该端口仍然处于Guest VLAN内。关于Auth-Fail VLAN的具体介绍请参见“3. Auth-Fail VLAN”。
当端口上处于Guest VLAN中的用户发起认证且成功时,端口会离开Guest VLAN,之后端口加入VLAN情况与认证服务器是否下发VLAN有关,具体如下:
· 若认证服务器下发VLAN,则端口加入下发的VLAN中。用户下线后,端口离开下发的VLAN回到初始VLAN中,该初始VLAN为端口加入Guest VLAN之前所在的VLAN。
· 若认证服务器未下发VLAN,则端口回到初始VLAN中。用户下线后,端口仍在该初始VLAN中。
(2) 端口的接入控制方式为macbased
在接入控制方式为macbased的端口上配置Guest VLAN后,端口上未认证的用户被授权访问Guest VLAN里的资源。
当端口上处于Guest VLAN中的用户发起认证且失败时:如果端口配置了Auth-Fail VLAN,则认证失败的用户将被加入Auth-Fail VLAN;如果端口未配置Auth-Fail VLAN,则该用户将仍然处于Guest VLAN内。
当端口上处于Guest VLAN中的用户发起认证且成功时,设备会根据认证服务器是否下发VLAN决定将该用户加入到下发的VLAN中,或回到加入Guest VLAN之前端口所在的初始VLAN。
Auth-Fail VLAN功能允许用户在认证失败的情况下可以访问某一特定VLAN中的资源,这个VLAN称之为Auth-Fail VLAN。需要注意的是,这里的认证失败是认证服务器因某种原因明确拒绝用户认证通过,比如用户密码错误,而不是认证超时或网络连接等原因造成的认证失败。
根据端口的接入控制方式不同,Auth-Fail VLAN的生效情况有所不同。
(1) 端口的接入控制方式为portbased
在接入控制方式为portbased的端口上配置Auth-Fail VLAN后,若该端口上有用户认证失败,则该端口会被加入到Auth-Fail VLAN,所有在该端口接入的用户将被授权访问Auth-Fail VLAN里的资源。端口加入Auth-Fail VLAN的情况与加入授权下发VLAN相同,与端口链路类型有关。
当端口上处于Auth-Fail VLAN中的用户再次发起认证时:如果认证失败,则该端口将会仍然处于Auth-Fail VLAN内;如果认证成功,则该端口会离开Auth-Fail VLAN,之后端口加入VLAN情况与认证服务器是否下发VLAN有关,具体如下:
· 若认证服务器下发VLAN,则端口加入下发的VLAN中。用户下线后,端口会离开下发的VLAN回到初始VLAN中,该初始VLAN为端口加入任何授权VLAN之前所在的VLAN。
· 若认证服务器未下发VLAN,则端口回到初始VLAN中。用户下线后,端口仍在该初始VLAN中。
(2) 端口的接入控制方式为macbased
在接入控制方式为macbased的端口上配置Auth-Fail VLAN后,该端口上认证失败的用户将被授权访问Auth-Fail VLAN里的资源。
当Auth-Fail VLAN中的用户再次发起认证时,如果认证成功,则设备会根据认证服务器是否下发VLAN决定将该用户加入到下发的VLAN中,或回到加入Auth-Fail VLAN之前端口所在的初始VLAN。
Critical VLAN功能允许用户在认证时,当所有认证服务器都不可达的情况下访问某一特定VLAN中的资源,这个VLAN称之为Critical VLAN。
根据端口的接入控制方式不同,Critical VLAN的生效情况有所不同。
(1) 端口的接入控制方式为Port-based
在接入控制方式为Port-based的端口上配置Critical VLAN后,若该端口上有用户认证时,所有认证服务器都不可达,则该端口会被加入到Critical VLAN,之后所有在该端口接入的用户将被授权访问Critical VLAN里的资源。端口加入Critical VLAN的情况与加入授权下发VLAN相同,与端口链路类型有关。
(2) 端口的接入控制方式为MAC-based
在接入控制方式为MAC-based的端口上配置Critical VLAN后,若该端口上有用户认证时,所有认证服务器都不可达,则端口将允许Critical VLAN通过,用户将被授权访问Critical VLAN里的资源。
已经加入Critical VLAN的端口上有用户发起认证时,如果所有认证服务器不可达,则端口仍然在Critical VLAN内;如果满足以下任意一个条件,端口将会离开Critical VLAN:
· 用于认证用户的ISP域中的认证服务器配置有所变化,包括修改、新增或删除服务器。
· RADIUS认证服务器恢复为active状态。
· 通过命令行将RADIUS认证服务器的状态置为active。
· 配置了RADIUS认证服务器探测功能,且探测结果表示某认证服务器可达。
如果服务器可达且认证失败,且端口配置了Auth-Fail VLAN则,则该端口将会加入Auth-Fail VLAN;如果服务器可达且认证成功,则该端口加入VLAN的情况与认证服务器是否下发VLAN有关,具体如下:
· 若认证服务器下发VLAN,则端口加入下发的VLAN中。用户下线后,端口会离开下发的VLAN回到初始VLAN中,该初始VLAN为端口加入Critical VLAN之前所在的VLAN。
· 若认证服务器未下发VLAN,则端口回到初始VLAN中。用户下线后,端口仍在该初始VLAN中。
l 只采用RADIUS认证方式的情况下,在认证服务器都不可达后,端口才会加入Critical VLAN。若采用了其它认证方式,则端口不会加入Critical VLAN。
l RADIUS服务器相关的配置请参见“安全配置指导”中的“AAA”。
ACL(Access Control List,访问控制列表)提供了控制用户访问网络资源和限制用户访问权限的功能。当用户上线时,如果RADIUS服务器上配置了授权ACL,则设备会根据服务器下发的授权ACL对用户所在端口的数据流进行控制;在服务器上配置授权ACL之前,需要在设备上配置相应的规则。管理员可以通过改变服务器的授权ACL设置或设备上对应的ACL规则来改变用户的访问权限。
802.1X提供了一个用户身份认证的实现方案,但是仅仅依靠802.1X是不足以实现该方案的。接入设备的管理者选择使用RADIUS或本地认证方法,以配合802.1X完成用户的身份认证。因此,需要首先完成以下配置任务:
· 配置802.1X用户所属的ISP认证域及其使用的AAA方案,即本地认证方案或RADIUS方案。
· 如果需要通过RADIUS服务器进行认证,则应该在RADIUS服务器上配置相应的用户名和密码。
· 如果需要本地认证,则应该在设备上手动添加认证的用户名和密码。配置本地认证时,用户使用的服务类型必须设置为lan-access。
RADIUS客户端的具体配置请参见“安全配置指导”中的“AAA配置”。
表1-2 配置任务简介
配置任务 |
说明 |
详细配置 |
开启802.1X特性 |
必选 |
|
配置802.1X用户的认证方法 |
可选 |
|
配置端口的授权状态 |
可选 |
|
配置端口接入控制方式 |
可选 |
|
配置端口同时接入用户数的最大值 |
可选 |
|
配置设备向接入用户发送认证请求报文的最大次数 |
可选 |
|
配置802.1X定时器参数 |
可选 |
|
配置在线用户握手功能 |
可选 |
|
开启组播触发功能 |
可选 |
|
开启单播触发功能 |
可选 |
|
配置端口的强制认证域 |
可选 |
|
配置802.1X支持的域名分隔符 |
可选 |
|
配置静默定时器功能 |
可选 |
|
配置重认证功能 |
可选 |
|
配置Guest VLAN |
可选 |
|
配置Auth-Fail VLAN |
可选 |
· 在用户端设备发送不携带Tag数据流的情况下,若接入端口配置了Voice VLAN功能,则端口的802.1X功能不生效。关于Voice VLAN特性请参见“二层技术-以太网交换配置指导”中的“VLAN配置”。
· 端口启动802.1X与端口加入聚合组互斥。
只有同时开启全局和端口的802.1X特性后,802.1X的配置才能在端口上生效。
表1-3 开启802.1X特性
配置步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
开启全局的802.1X特性 |
dot1x |
必选 缺省情况下,全局的802.1X特性为关闭状态 |
|
开启端口的802.1X特性 |
在系统视图下 |
dot1x interface interface-list |
二者必选其一 缺省情况下,端口的802.1X特性为关闭状态 |
在二层以太网端口视图下 |
interface interface-type interface-number |
||
dot1x |
端口上同时仅使能了802.1X和MAC地址认证的情况下,首次接入的802.1X用户将直接进行802.1X认证,非802.1X用户的报文将在30秒之后触发MAC地址认证。
设备支持EAP中继和EAP终结两种认证方式:
· EAP中继方式下,设备端对客户端发送的EAP协议报文进行中继处理,并将其中的EAP数据包封装在RADIUS报文的属性字段中发送给认证服务器进行认证,可支持所有的EAP认证类型。
· EAP终结方式下,设备端对客户端发送的EAP协议报文进行本地终结,将EAP报文转换成标准的RADIUS报文后再发给RADIUS服务器来完成认证,可支持PAP或CHAP认证方法。
表1-4 配置802.1X用户的认证方法
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置802.1X用户的认证方法 |
dot1x authentication-method { chap | eap | pap } |
可选 缺省情况下,设备对802.1X用户的认证方法为CHAP认证 |
如果采用EAP中继认证方式,则设备会把客户端输入的内容直接封装后发给服务器,这种情况下user-name-format命令的设置无效,user-name-format的介绍请参见“安全命令参考”中的“AAA配置命令”。
通过配置端口的授权状态,可以控制端口上接入的用户是否需要经过认证来访问网络资源。端口支持以下三种授权状态:
· 强制授权(authorized-force):表示端口始终处于授权状态,允许用户不经认证即可访问网络资源。
· 强制非授权(unauthorized-force):表示端口始终处于非授权状态,不允许用户进行认证。设备端不对通过该端口接入的客户端提供认证服务。
· 自动识别(auto):表示端口初始状态为非授权状态,仅允许EAPOL报文收发,不允许用户访问网络资源;如果认证通过,则端口切换到授权状态,允许用户访问网络资源。这也是最常见的情况。
在系统视图和端口视图下均可进行端口授权状态的配置,前者可针对多个端口,后者仅针对当前端口。若在不同视图下先后对同一个端口的授权状态进行了配置,则后配置的参数生效。
表1-5 配置端口的授权状态
配置步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置端口的授权状态 |
在系统视图下 |
dot1x port-control { authorized-force | auto | unauthorized-force } [ interface interface-list ] |
二者可选其一 缺省情况下,端口的授权状态为auto |
在二层以太网端口视图下 |
interface interface-type interface-number |
||
dot1x port-control { authorized-force | auto | unauthorized-force } |
设备支持两种端口接入控制方式:基于端口控制(portbased)和基于MAC控制(macbased)。
在系统视图和端口视图下均可进行端口接入控制方式的配置,前者可针对多个端口,后者仅针对当前端口。若在不同视图下先后对同一个端口的接入控制方式进行了配置,则后配置的参数生效。
表1-6 配置端口接入控制方式
配置步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置端口接入控制方式 |
在系统视图下 |
dot1x port-method { macbased | portbased } [ interface interface-list ] |
二者可选其一 缺省情况下,802.1X在端口上进行接入控制方式为macbased |
在二层以太网端口视图下 |
interface interface-type interface-number |
||
dot1x port-method { macbased | portbased } |
若端口上同时启动了802.1X和Portal认证功能,则端口接入控制方式必须为macbased。关于Portal认证的相关介绍,请参考“安全配置指导”中的“Portal配置”。
在系统视图和端口视图下均可进行端口接入用户数最大值的配置,前者可针对多个端口,后者仅针对当前端口。若在不同视图下先后对同一个端口的最大接入用户数进行了配置,则后配置的参数生效。
表1-7 配置端口同时接入用户数的最大值
配置步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置端口同时接入用户数的最大值 |
在系统视图下 |
dot1x max-user user-number [ interface interface-list ] |
二者可选其一 缺省情况下,端口同时接入用户数量的最大值是256 |
在二层以太网端口视图下 |
interface interface-type interface-number |
||
dot1x max-user user-number |
如果设备向用户发送认证请求报文后,在规定的时间里(可通过dot1x timer tx-period tx-period-value或者dot1x timer supp-timeout supp-timeout-value设定)没有收到用户的响应,则设备将向用户重发该认证请求报文,若设备累计发送认证请求报文的次数达到配置的最大值后,仍然没有得到用户响应,则停止发送认证请求。
表1-8 配置设备向接入用户发送认证请求报文的最大次数
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置设备向接入用户发送认证请求报文的最大次数 |
dot1x retry max-retry-value |
可选 缺省情况下,设备最多可向接入用户发送2次认证请求报文 |
802.1X认证过程中会启动多个定时器以控制接入用户、设备以及RADIUS服务器之间进行合理、有序的交互。可配置的802.1X定时器包括以下几种:
· 用户名请求超时定时器(tx-period):该定时器定义了两个时间间隔。其一,当设备端向客户端发送EAP-Request/Identity请求报文后,设备端启动该定时器,若在tx-period设置的时间间隔内,设备端没有收到客户端的响应,则设备端将重发认证请求报文;其二,为了兼容不主动发送EAPOL-Start连接请求报文的客户端,设备会定期组播EAP-Request/Identity请求报文来检测客户端。tx-period定义了该组播报文的发送时间间隔。
· 客户端认证超时定时器(supp-timeout):当设备端向客户端发送了EAP-Request/MD5 Challenge请求报文后,设备端启动此定时器,若在该定时器设置的时长内,设备端没有收到客户端的响应,设备端将重发该报文。
· 认证服务器超时定时器(server-timeout):当设备端向认证服务器发送了RADIUS Access-Request请求报文后,设备端启动server-timeout定时器,若在该定时器设置的时长内,设备端没有收到认证服务器的响应,设备端将重发认证请求报文。
· 握手定时器(handshake-period):此定时器是在用户认证成功后启动的,设备端以此间隔为周期发送握手请求报文,以定期检测用户的在线情况。如果配置发送次数为N,则当设备端连续N次没有收到客户端的响应报文,就认为用户已经下线。
· 静默定时器(quiet-period):对用户认证失败以后,设备端需要静默一段时间(该时间由静默定时器设置),在静默期间,设备端不处理该用户的认证请求。
· 周期性重认证定时器(reauth-period):如果端口下开启了周期性重认证功能,设备端以此定时器设置的时间间隔为周期对该端口在线用户发起重认证。
表1-9 配置802.1X定时器参数
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置802.1X定时器参数 |
dot1x timer { handshake-period handshake-period-value | quiet-period quiet-period-value | reauth-period reauth-period-value | server-timeout server-timeout-value | supp-timeout supp-timeout-value | tx-period tx-period-value } |
可选 缺省情况下: · 握手定时器的值为15秒 · 静默定时器的值为60秒 · 周期性重认证定时器的值为3600秒 · 认证服务器超时定时器的值为100秒 · 客户端认证超时定时器的值为30秒 · 用户名请求超时定时器的值为30秒 |
一般情况下,用户无需使用dot1x timer命令改变定时器值,除非在一些特殊或恶劣的网络环境下,可以使用该命令调节交互进程。例如,用户网络状况比较差的情况下,可以适当地将客户端认证超时定时器值调大一些;网络处在风险位置,容易受攻击的情况下,可以适当地将静默定时器值调大一些,反之,可以将其调小一些来提高对用户认证请求的响应速度;还可以通过调节认证服务器超时定时器的值来适应不同认证服务器的性能差异。
开启设备的在线用户握手功能后,设备会定时(该时间间隔由命令dot1x timer handshake-period设置)向通过802.1X认证的用户发送握手报文,如果用户在最大重传次数内(该次数由命令dot1x retry设置)没有回应此握手报文,设备会将用户置为下线状态。
通过开启在线用户握手安全功能,防止802.1X认证用户上线后,使用非法的客户端与设备进行握手报文的交互,以逃过代理检测、双网卡检测等iNode客户端的安全检查功能。开启了该功能的设备通过检验客户端上传的握手报文中携带的验证信息,来确认用户是否使用iNode客户端进行握手报文的交互。如果握手检验不通过,则会将用户置为下线状态。
需要注意的是:在线用户握手安全功能的实现依赖于在线用户握手功能。为使在线用户握手安全功能生效,请保证在线用户握手功能处于开启状态。
表1-10 配置在线用户握手功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
开启在线用户握手功能 |
dot1x handshake |
可选 缺省情况下,在线用户握手功能处于开启状态 |
开启在线用户握手功能的安全功能 |
dot1x handshake secure |
可选 缺省情况下,在线用户握手安全功能处于关闭状态 |
· 部分802.1X客户端不支持与设备进行握手报文的交互,因此建议在这种情况下,关闭设备的在线用户握手功能,避免该类型的在线用户因没有回应握手报文而被强制下线。
· 建议在线用户握手安全功能与iNode客户端以及iMC服务器配合使用,以保证该功能可以正常运行。
可以通过下面的命令来开启设备的组播触发功能。若端口启动了802.1X的组播触发功能,则该端口会定期向客户端发送组播触发报文来启动认证,该功能用于支持不能主动发起认证的客户端。
表1-11 开启组播触发功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
开启组播触发功能 |
dot1x multicast-trigger |
可选 缺省情况下,组播触发功能处于开启状态 |
建议开启组播触发功能的同时,不要开启单播触发功能,以免认证报文重复发送。
可以通过下面的命令来开启设备的单播触发功能。若端口启动了802.1X的单播触发功能,当端口收到源MAC未知的报文时,主动向该MAC地址发送单播认证报文来触发认证。若设备端在设置的客户端认证超时时间内(该时间由dot1x timer tx-period设置)没有收到客户端的响应,则重发该报文(重发次数由dot1x retry设置)。
该功能适用于客户端不支持主动认证,且仅部分客户端需要进行认证的组网环境,可避免不希望认证或已认证的客户端收到多余的认证触发报文。若设备端在设置的时长内没有收到客户端的响应,则重发该报文。
表1-12 开启单播触发功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
开启单播触发功能 |
dot1x unicast-trigger |
必选 缺省情况下,单播触发功能处于关闭状态 |
建议开启单播触发功能的同时,不要开启组播触发功能,以免认证报文重复发送。
配置端口的强制认证域(mandatory domain)为802.1X接入提供了一种安全控制策略。所有从该端口接入的802.1X用户将被强制使用指定的认证域来进行认证、授权和计费,可以防止用户通过恶意假冒其它域账号从本端口接入网络。另外,管理员也可以通过配置强制认证域对不同端口接入的用户指定不同的认证域,从而增加了管理员部署802.1X接入策略的灵活性。
表1-13 配置端口的强制认证域
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
配置端口的强制认证域 |
dot1x mandatory-domain domain-name |
必选 缺省情况下,未定义强制认证域 |
设备对用户的管理是基于ISP域的,每个接入用户都属于一个ISP域。用户所属的ISP域是由用户登录时提供的用户名决定的,若用户名中携带域名,则设备使用该域中的AAA配置对用户进行认证、授权和计费,否则使用系统中的缺省域;若设备指定了802.1X的强制认证域,则无论用户名中是否携带域名,设备均使用指定的强制认证域。因此,设备能够准确解析用户名中的纯用户名和域名对于为用户提供认证服务非常重要。由于不同的802.1X客户端所支持的用户名域名分隔符不同,为了更好地管理和控制不同用户名格式的802.1X用户接入,需要在设备上指定802.1X可支持的域名分隔符。
目前,802.1X支持的域名分隔符包括@、\、/和.,对应的用户名格式分别为username@domain-name, domain-name\username和username/domain-name和username.domain-name,其中username为纯用户名、domain-name为域名。如果用户名中包含有多个域名分隔符字符,则设备仅将第一个出现的域名分隔符识别为实际使用的域名分隔符,其它字符都被认为是域名中的一部分,例如,用户输入的用户名为123/22\@abc,则认为纯用户名为123,域名分隔符为/,域名为22\@abc。
如果用户输入的用户名中不包含任何802.1X可支持的域名分隔符,则设备会认为该用户名并未携带域名,则使用系统中的强制认证域或缺省域对该用户进行认证。
表1-14 指定802.1X支持的域名分隔符
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
指定802.1X支持的域名分隔符 |
dot1x domain-delimiter string |
可选 缺省情况下,仅支持域名分隔符@ |
若设备上指定发送给认证服务器的用户名携带域名(user-name-format with-domain),则发送给认证服务器的用户名中携带该用户输入的域名(若原始用户名携带域名),或携带最终使用的认证域的域名(若原始用户名中未携带域名),并采用设备上指定的802.1X支持的域名分隔符。另外,为保证用户信息可在认证服务器上被准确匹配到,设备上指定的802.1X支持的域名分隔符必须与认证服务器支持的域名分隔符保持一致,否则可能会因为服务器匹配用户失败而导致用户认证失败。相关命令的具体介绍请参考“安全命令参考”中的“AAA”。
可以通过下面的命令来打开设备的静默定时器功能。当802.1X用户认证失败以后,设备需要静默一段时间(该时间由dot1x timer quiet-period设置)后再重新发起认证,在静默期间,设备不进行802.1X认证的相关处理。
表1-15 开启静默定时器功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启静默定时器功能 |
dot1x quiet-period |
必选 缺省情况下,静默定时器功能处于关闭状态 |
可以通过下面的命令来开启设备对802.1X用户主动发起的周期性重认证功能。端口启动了802.1X的周期性重认证功能后,设备会根据周期性重认证定时器设定的时间间隔(该时间间隔由命令dot1x timer reauth-period设置)定期启动对该端口在线802.1X用户的认证,以检测用户连接状态的变化,确保用户的正常在线,并及时更新服务器下发的授权属性(例如ACL、VLAN、QoS Profile)。
表1-16 配置重认证功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
开启周期性重认证功能 |
dot1x re-authenticate |
必选 缺省情况下,周期性重认证功能处于关闭状态 |
· 认证服务器可以通过下发session-timeout属性来指定用户的重认证周期,且该功能不需要设备上开启周期性重认证功能来配合,属性下发成功即可生效。802.1X用户认证通过后,如果认证服务器对该用户下发了重认证周期,则设备上配置的周期性重认证时间无效,服务器下发的重认证周期生效。认证服务器下发重认证时间的具体配置以及是否可以下发重认证周期的情况与服务器类型有关,请参考具体的认证服务器实现。
· 在用户名不改变的情况下,端口允许重认证前后服务器向该用户下发不同内容的VLAN;但是,若重认证前端口下发了VLAN,而重认证后未下发VLAN,则重认证失败,反之同样处理。
· 当端口向在线的802.1X用户发起重认证或者重认证过程中发现没有可达的服务器时,如果该端口上配置了Critical VLAN,则重认证将会中止,用户保持在线;如果端口上没有配置Critical VLAN,则在线用户将会下线。
如果用户端设备发出的是携带Tag的数据流,且接入端口上使能了802.1X认证并配置了Guest VLAN,为保证各种功能的正常使用,请为Voice VLAN、端口的缺省VLAN和802.1X的Guest VLAN分配不同的VLAN ID。
配置Guest VLAN之前,需要进行以下配置准备:
· 已经创建需要配置为Guest VLAN的VLAN。
· 在接入控制方式为portbased的端口上,保证802.1X的组播触发功能处于开启状态。
· 在接入控制方式为macbased的端口上,保证端口类型为Hybrid,且端口上的MAC VLAN功能处于使能状态。MAC VLAN功能的具体配置请参考“二层技术-以太网交换配置指导”中的“VLAN配置”。
表1-17 配置Guest VLAN
配置步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置指定端口的Guest VLAN |
在系统视图下 |
dot1x guest-vlan guest-vlan-id [ interface interface-list ] |
二者必选其一 缺省情况下,端口没有配置Guest VLAN |
在二层以太网端口视图下 |
interface interface-type interface-number |
||
dot1x guest-vlan guest-vlan-id |
· 不同的端口可以配置不同的Guest VLAN,但一个端口最多只能配置一个Guest VLAN。
· 在接入控制方式为macbased的端口上同时配置了802.1X认证的Guest VLAN与MAC地址认证的Guest VLAN时,则仅802.1X认证的Guest VLAN有效,即用户触发MAC地址认证且失败后,不会加入MAC地址认证的Guest VLAN,若之后未触发或者未成功通过802.1X认证,则会加入802.1X认证的Guest VLAN中(若端口上还配置了802.1X认证的Auth-Fail VLAN,则用户认证失败后加入Auth-Fail VLAN)。关于MAC地址认证Guest VLAN的介绍请参见“安全配置指导”中的“MAC地址认证配置”。
· 在接入控制方式为macbased的端口上生成的Guest VLAN表项会覆盖已生成的阻塞MAC表项,但如果端口因检测到非法报文而关闭,则802.1X的Guest VLAN功能无法生效。关于端口入侵检测关闭功能的具体介绍请参见“安全配置指导”中的“端口安全配置”。
· 对于Hybrid端口,不建议将指定的Guest VLAN修改为携带Tag的方式。
如果用户端设备发出的是携带Tag的数据流,且接入端口上使能了802.1X认证并配置了Auth-Fail VLAN,为保证各种功能的正常使用,请为Voice VLAN、端口的缺省VLAN和802.1X的Auth-Fail VLAN分配不同的VLAN ID。
配置Auth-Fail VLAN之前,需要进行以下配置准备:
· 已经创建需要配置为Auth-Fail VLAN的VLAN。
· 在接入控制方式为portbased的端口上,保证802.1X的组播触发功能处于开启状态。
· 在接入控制方式为macbased的端口上,保证端口类型为Hybrid,且端口上的MAC VLAN功能处于使能状态。MAC VLAN功能的具体配置请参考“二层技术-以太网交换配置指导”中的“VLAN”。
表1-18 配置Auth-Fail VLAN
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
配置指定端口的Auth-Fail VLAN |
dot1x auth-fail vlan authfail-vlan-id |
必选 缺省情况下,端口没有配置Auth-Fail VLAN |
· 不同的端口可以配置不同的Auth-Fail VLAN,但一个端口最多只能配置一个Auth-Fail VLAN。
· 在接入控制方式为macbased的端口上同时配置了802.1X认证Auth-Fail VLAN与MAC地址认证的Guest VLAN时,若用户首先进行MAC地址认证且失败,则加入MAC地址认证的Guest VLAN中,之后若该用户再进行802.1X认证且失败,则会离开MAC地址认证的Guest VLAN而加入802.1X认证的Auth-Fail VLAN中;若用户首先进行802.1X认证且失败,之后除非成功通过MAC地址认证或者802.1X认证,否则会一直位于802.1X认证的Auth-Fail VLAN中。
· 在接入控制方式为macbased的端口上生成的Auth-Fail VLAN表项会覆盖已生成的阻塞MAC表项,但如果端口因检测到非法报文而关闭,则802.1X的Auth-Fail VLAN功能无法生效。关于端口入侵检测关闭功能的具体介绍请参见“安全配置指导”中的“端口安全配置”。
· 对于Hybrid端口,不建议将指定的Auth-Fail VLAN修改为携带Tag的方式。
如果用户端设备发出的是携带Tag的数据流,且接入端口上使能了802.1X认证并配置了Critical VLAN,为保证各种功能的正常使用,请为Voice VLAN、端口的缺省VLAN和802.1X的Critical VLAN分配不同的VLAN ID。
配置Critical VLAN之前,需要进行以下配置准备:
· 创建需要配置为Critical VLAN的VLAN。
· 在接入控制方式为Port-based的端口上,保证802.1X的组播触发功能处于开启状态。
· 在接入控制方式为MAC-based的端口上,保证端口类型为Hybrid,端口上的MAC VLAN功能处于使能状态,且不建议将指定的Critical VLAN修改为携带Tag的方式。MAC VLAN功能的具体配置请参考“二层技术-以太网交换配置指导”中的“VLAN”。
当端口加入Critical VLAN后,如果发现有认证服务器可达,可通过配置端口的恢复动作为reinitialize来通知802.1X客户端进行认证。根据端口的接入控制方式不同,具体实现有所不同:
· 接入控制方式为MAC-based时,当服务器恢复可达后,处于Critical VLAN的端口会主动向已加入Critical VLAN的MAC地址发送单播报文触发其进行802.1X认证。
· 接入控制方式为Port-based时,当服务器恢复可达后,处于Critical VLAN的端口会主动发送组播报文,触发端口上的客户端进行802.1X认证。
表1-19 配置Critical VLAN
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入二层以太网端口视图 |
interface interface-type interface-number |
- |
配置指定端口的Critical VLAN |
dot1x critical vlan vlan-id |
必选 缺省情况下,端口没有配置Critical VLAN 不同的端口可以配置不同的Critical VLAN,但一个端口最多只能配置一个Critical VLAN |
配置指定端口的恢复动作 |
dot1x critical recovery-action reinitialize |
可选 缺省情况下,设备检测到服务器恢复为可达状态后,端口仅仅离开Critical VLAN,不会对用户主动进行认证 |
l 若端口已经位于802.1X的Guest VLAN或Auth-Fail VLAN,则当所有认证服务器都不可达时,端口并不会离开当前的VLAN而加入Critical VLAN。
l 若端口已经位于MAC地址认证的Guest VLAN,则当所有认证服务器都不可达时,端口会离开当前的VLAN并加入Critical VLAN。
在完成上述配置后,在任意视图下执行display命令可以显示配置后802.1X的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除802.1X的统计信息。
表1-20 802.1X配置的显示和维护
操作 |
命令 |
显示802.1X的会话连接信息、相关统计信息或配置信息 |
display dot1x [ sessions | statistics ] [ interface interface-list ] [ | { begin | exclude | include } regular-expression ] |
清除802.1X的统计信息 |
reset dot1x statistics [ interface interface-list ] |
用户通过Device的端口GigabitEthernet1/0/1接入网络,设备对该端口接入的用户进行802.1X认证以控制其访问Internet,具体要求如下:
· 由两台RADIUS服务器组成的服务器组与Device相连,其IP地址分别为10.1.1.1和10.1.1.2,使用前者作为主认证/计费服务器,使用后者作为备份认证/计费服务器。
· 端口GigabitEthernet1/0/1下的所有接入用户均需要单独认证,当某个用户下线时,也只有该用户无法使用网络。
· 认证时,首先进行RADIUS认证,如果RADIUS服务器没有响应再转而进行本地认证;计费时,如果RADIUS计费失败则切断用户连接使其下线。
· 所有接入用户都属于同一个ISP域example.com,该域中最多可容纳30个用户。
· Device与RADIUS认证服务器交互报文时的共享密钥为name、与RADIUS计费服务器交互报文时的共享密钥为money。
图1-9 802.1X认证组网图
· 下述配置步骤中包含了若干AAA/RADIUS协议的配置命令,关于这些命令的详细介绍请参见“安全命令参考”中的“AAA配置命令”。
· 完成802.1X客户端的配置。若使用H3C iNode 802.1X客户端,为保证备选的本地认证可成功进行,请确认802.1X连接属性中的“上传客户端版本号”选项未被选中。
· 完成RADIUS服务器的配置,添加用户帐户,保证用户的认证/授权/计费功能正常运行。
# 配置各接口的IP地址(略)。
(1) 配置本地用户
# 添加本地用户,用户名为localuser,密码为明文输入的localpass。(此处添加的本地用户的用户名和密码需要与服务器端配置的用户名和密码保持一致,本例中的localuser仅为示例,请根据实际情况配置)
<Device> system-view
[Device] local-user localuser
[Device-luser-localuser] service-type lan-access
[Device-luser-localuser] password simple localpass
# 启动闲置切断功能,并指定正常连接时用户空闲时间超过20分钟,则切断其连接。
[Device-luser-localuser] authorization-attribute idle-cut 20
[Device-luser-localuser] quit
(2) 配置RADIUS方案
# 创建RADIUS方案radius1并进入其视图。
[Device] radius scheme radius1
# 配置主认证/计费RADIUS服务器的IP地址。
[Device-radius-radius1] primary authentication 10.1.1.1
[Device-radius-radius1] primary accounting 10.1.1.1
# 配置备份认证/计费RADIUS服务器的IP地址。
[Device-radius-radius1] secondary authentication 10.1.1.2
[Device-radius-radius1] secondary accounting 10.1.1.2
# 配置Device与认证/计费RADIUS服务器交互报文时的共享密钥。
[Device-radius-radius1] key authentication name
[Device-radius-radius1] key accounting money
# 配置发送给RADIUS服务器的用户名不携带域名。
[Device-radius-radius1] user-name-format without-domain
[Device-radius-radius1] quit
发送给服务器的用户名是否携带域名与服务器端是否接受携带域名的用户名以及服务器端的配置有关:
· 若服务器端不接受携带域名的用户名,或者服务器上配置的用户认证所使用的服务不携带域名后缀,则Device上指定不携带用户名(without-domain);
· 若服务器端可接受携带域名的用户名,且服务器上配置的用户认证所使用的服务携带域名后缀,则Device上指定携带用户名(with-domain)。
(3) 配置ISP域
# 创建域example.com并进入其视图。
[Device] domain example.com
# 配置802.1X用户使用RADIUS方案radius1进行认证、授权、计费,并采用local作为备选方法。
[Device-isp-example.com] authentication lan-access radius-scheme radius1 local
[Device-isp-example.com] authorization lan-access radius-scheme radius1 local
[Device-isp-example.com] accounting lan-access radius-scheme radius1 local
# 配置该域最多可容纳30个用户。
[Device-isp-example.com] access-limit enable 30
# 启动闲置切断功能,并指定正常连接时用户空闲时间超过20分钟,则切断其连接。
[Device-isp-example.com] idle-cut enable 20
[Device-isp-example.com] quit
# 指定域example.com为缺省的ISP域。如果用户在登录时没有提供ISP域名,系统将把它归于该缺省的ISP域。
[Device] domain default enable example.com
# 开启全局802.1X特性。
[Device] dot1x
# 开启指定端口GigabitEthernet1/0/1的802.1X特性。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] dot1x
[Device-GigabitEthernet1/0/1] quit
# 配置基于MAC地址的接入控制方式(该配置可选,因为端口的接入控制在缺省情况下就是基于MAC地址的)。
[Device] dot1x port-method macbased interface gigabitethernet 1/0/1
使用命令display dot1x interface gigabitethernet 1/0/1可以查看802.1X的配置情况。当802.1X用户输入正确的用户名和密码成功通过RADIUS认证上线后,可使用命令display connetion查看到上线用户的连接情况。若RADIUS服务器无响应,则进行本地认证。
如图1-10所示,一台主机通过802.1X认证接入网络,认证服务器为RADIUS服务器。Host接入Device的端口GigabitEthernet1/0/2在VLAN 1内;认证服务器在VLAN 2内;Update Server是用于客户端软件下载和升级的服务器,在VLAN 10内;Device连接Internet网络的端口GigabitEthernet1/0/3在VLAN 5内。现有如下组网需求:
· 若一定的时间内(默认为90秒)端口上无客户端进行认证或者无客户端认证成功,则将该端口GigabitEthernet1/0/2加入Guest VLAN中,此时Host和Update Server都在VLAN 10内,Host可以访问Update Server并下载802.1X客户端。
· 用户认证成功上线后,认证服务器下发VLAN 5,此时Host和连接Internet网络的端口GigabitEthernet1/0/3都在VLAN 5内,Host可以访问Internet。
图1-10 Guest VLAN及VLAN下发组网图
· 下述配置步骤中包含了若干AAA/RADIUS协议的配置命令,关于这些命令的详细介绍请参见“安全命令参考”中的“AAA配置命令”。
· 完成802.1X客户端的配置,并保证接入端口加入Guest VLAN或授权VLAN之后客户端能够及时更新IP地址,以实现与相应网络资源的互通。
· 完成RADIUS服务器的配置,添加用户帐户,指定要授权下发的VLAN(本例中为VLAN 5),并保证用户的认证/授权/计费功能正常运行。
(1) 创建VLAN并将端口加入对应VLAN
<Device> system-view
[Device] vlan 1
[Device-vlan1] port gigabitethernet 1/0/2
[Device-vlan1] quit
[Device] vlan 10
[Device-vlan10] port gigabitethernet 1/0/1
[Device-vlan10] quit
[Device] vlan 2
[Device-vlan2] port gigabitethernet 1/0/4
[Device-vlan2] quit
[Device] vlan 5
[Device-vlan5] port gigabitethernet 1/0/3
[Device-vlan5] quit
(2) 配置RADIUS方案
# 创建RADIUS方案2000并进入其视图。
[Device] radius scheme 2000
# 配置主认证/计费RADIUS服务器及其共享密钥。
[Device-radius-2000] primary authentication 10.11.1.1 1812
[Device-radius-2000] primary accouting 10.11.1.1 1813
[Device-radius-2000] key authentication abc
[Device-radius-2000] key accouting abc
# 配置发送给RADIUS服务器的用户名不携带域名。
[Device-radius-2000] user-name-format without-domain
[Device-radius-2000] quit
(3) 配置ISP域
# 创建域bbb并进入其视图。
[Device] domaim bbb
# 配置802.1X用户使用RADIUS方案2000进行认证、授权、计费。
[Device-isp-bbb] authentication lan-access radius-scheme 2000
[Device-isp-bbb] authorization lan-access radius-scheme 2000
[Device-isp-bbb] accounting lan-access radius-scheme 2000
[Device-isp-system] quit
(4) 配置802.1X
# 开启全局802.1X特性。
[Device] dot1x
# 开启指定端口的802.1X特性。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] dot1x
# 配置端口上进行接入控制的方式为portbased。
[Device-GigabitEthernet1/0/2] dot1x port-method portbased
# 配置端口上进行接入控制的模式为auto。
[Device-GigabitEthernet1/0/2] dot1x port-control auto
[Device-GigabitEthernet1/0/2] quit
# 创建VLAN 10。
[Device] vlan 10
[Device-vlan10] quit
# 配置指定端口的Guest VLAN。
[Device] dot1x guest-vlan 10 interface gigabitethernet 1/0/2
通过命令display dot1x interface gigabitethernet 1/0/2可以查看端口GigabitEthernet1/0/2上Guest VLAN的配置情况。若在指定的时间之内无客户端进行认证或者无客户端认证成功,则通过命令display vlan 10可以查看到端口GigabitEthernet1/0/2加入了配置的Guest VLAN;在用户认证成功之后,通过display interface gigabitethernet 1/0/2可以看到用户接入的端口GigabitEthernet1/0/2加入了认证服务器下发的VLAN 5中。
用户通过Device的端口GigabitEthernet1/0/1接入网络,Device对该端口接入的用户进行802.1X认证以控制其访问Internet,具体要求如下:
· 使用RADIUS服务器10.1.1.1/24作为认证/授权服务器,RADIUS服务器10.1.1.2/24作为计费服务器;
· 通过认证服务器下发ACL,禁止上线的802.1X用户访问网络中某具有机密访问权限的FTP服务器。
图1-11 下发ACL典型组网图
· 下述配置步骤中包含了若干AAA/RADIUS协议的配置命令,关于这些命令的详细介绍请参见“安全命令参考”中的“AAA配置命令”。
· 完成802.1X客户端的配置,并保证接入端口加入Guest VLAN或授权VLAN之后客户端能够及时更新IP地址,以实现与相应网络资源的互通。
· 完成RADIUS服务器的配置,添加用户帐户,指定要授权下发的ACL(本例中为ACL 3000),并保证用户的认证/授权/计费功能正常运行。
# 配置各接口的IP地址(略)。
# 配置RADIUS方案。
<Device> system-view
[Device] radius scheme 2000
[Device-radius-2000] primary authentication 10.1.1.1 1812
[Device-radius-2000] primary accounting 10.1.1.2 1813
[Device-radius-2000] key authentication abc
[Device-radius-2000] key accounting abc
[Device-radius-2000] user-name-format without-domain
[Device-radius-2000] quit
# 配置ISP域的AAA方法。
[Device] domaim 2000
[Device-isp-2000] authentication default radius-scheme 2000
[Device-isp-2000] authorization default radius-scheme 2000
[Device-isp-2000] accounting default radius-scheme 2000
[Device-isp-2000] quit
# 配置ACL 3000,拒绝访问FTP服务器10.0.0.1的报文通过。
[Device] acl number 3000
[Device-acl-adv-3000] rule 0 deny ip destination 10.0.0.1 0
# 开启全局802.1X特性。
[Device] dot1x
# 开启指定端口的802.1X特性。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] dot1x
当用户认证成功上线后,通过ping FTP服务器,可以验证认证服务器下发的ACL 3000是否生效。
C:\>ping 10.0.0.1
Pinging 10.0.0.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 10.0.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
由以上过程可知,用户无法ping通FTP服务器,说明认证服务器下发的ACL已对该用户生效。
EAD(Endpoint Admission Defense,端点准入防御)作为一个网络端点接入控制方案,它通过安全客户端、安全策略服务器、接入设备以及第三方服务器的联动,加强了对用户的集中管理,提升了网络的整体防御能力。但是在实际的应用过程中EAD客户端的部署工作量很大,例如,需要网络管理员手动为每一个EAD客户端下载、升级客户端软件,这在EAD客户端数目较多的情况下给管理员带来了操作上的不便。
802.1X认证支持的EAD快速部署就可以解决以上问题,可为所有接入网络的终端用户提供自动下载并安装EAD客户端的方便途径。
802.1X支持的EAD快速部署是通过以下两个功能的配合工作实现的:
802.1X认证成功之前(包括认证失败),终端用户只能访问一个特定的IP地址段。该IP地址段中可以配置一个或多个特定服务器,用于提供EAD客户端的下载升级或者动态地址分配等服务。
终端用户在802.1X认证成功之前(包括认证失败),如果使用浏览器访问网络,设备会将用户访问的URL重定向到已配置的URL(例如,重定向到EAD客户端下载界面),这样只要用户打开浏览器,就必须进入管理员预设的界面。提供重定向URL的服务器必须位于用户受限访问的特定网段内。
目前,MAC地址认证和端口安全特性不支持EAD的快速部署功能,全局使能MAC认证或端口安全功能将会使EAD快速部署功能失效。
· 全局使能802.1X特性
· 指定端口使能802.1X特性,接入控制模式为auto
免认证网段是指802.1X认证成功之前(包括认证失败),终端用户可以访问的IP地址段,也称为Free IP。
配置Free IP网段之后,EAD的快速部署功能将立即处于使能状态。
表2-1 配置用户可访问的免认证网段
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Free IP |
dot1x free-ip ip-address { mask-address | mask-length } |
必选 缺省情况下,未定义Free IP |
· MAC地址认证、端口安全功能、二层Portal功能均与Free IP配置互斥。
· 未通过802.1X认证的用户若要通过外网的DHCP服务器动态获得IP地址,则需要在设备上配置该DHCP服务器所在的Free IP。
终端用户在802.1X认证成功之前(包括认证失败)发起的HTTP访问请求都会被设备重定向到此处配置的URL。
表2-2 配置用户HTTP访问的重定向URL
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置用户HTTP访问的重定向URL |
dot1x url url-string |
必选 缺省情况下,未定义重定向URL |
重定向的URL必须处于Free IP网段内,否则无法实现重定向。
EAD快速部署功能通过制订EAD规则(通常为ACL规则)来给予未通过认证的终端用户受限制的网络访问权限,在用户认证成功后,所占用的ACL将被释放。由于设备支持的ACL数量有限,当大量用户同时上线时,ACL资源将迅速被占用,如果没有用户认证成功,将出现ACL数量不足的情况,这样会导致一部分新接入的用户无法上线。
管理员可以通过配置EAD规则老化超时时间来控制用户对ACL资源的占用,当用户访问网络时该定时器即开始计时,在定时器超时或者用户下载客户端并成功通过认证之后,该用户所占用的ACL资源即被删除,这样那些在超时时间内未进行任何操作的用户所占用的ACL资源会及时得到释放,使其它用户可以进行接入。在接入用户数量较多时,可以将超时时间适当缩短,以提高ACL的使用效率。
表2-3 配置EAD规则老化超时时间
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置EAD规则老化超时时间 |
dot1x timer ead-timeout ead-timeout-value |
可选 缺省情况下,EAD规则老化超时时间为30分钟 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后EAD快速部署的运行情况,通过查看显示信息验证配置的效果。
表2-4 EAD快速部署配置的显示和维护
操作 |
命令 |
显示802.1X的会话连接信息、相关统计信息或配置信息 |
display dot1x [ sessions | statistics ] [ interface interface-list ] |
某公司用户主机通过Device接入Internet,并通过DHCP服务器动态获取IP地址。目前,公司部署EAD解决方案,要求所有用户主机通过802.1X认证上网,因此需要所有主机上安装配套的802.1X客户端,由于网络中的用户主机数量较大,为减轻网络管理员安装以及升级802.1X客户端的工作量,在192.168.2.0/24网段部署一台Web服务器专门提供客户端软件下载。具体要求如下:
· 未进行802.1X认证或者802.1X认证失败的用户,只能访问192.168.2.0/24网段,并可通过该网段内的DHCP服务器动态获取192.168.1.0/24网段的IP地址。
· 未进行802.1X认证或者802.1X认证失败的用户通过浏览器访问非192.168.2.0/24网段的外部网络时,用户访问的页面均会被Device重定向至管理员预设的Web服务器页面,该Web服务器页面将提示用户进行802.1X客户端的下载。
· 用户成功通过802.1X认证之后,可正常访问网络。
图2-1 EAD快速部署典型配置组网图
· 完成DHCP服务器的配置,保证用户可成功获取192.168.1.0/24网段的IP地址。
· 完成Web服务器的配置,保证用户可成功登录预置的Web页面进行802.1X客户端的下载。
· 完成认证服务器的配置,保证用户的认证/授权/计费功能正常运行。
# 配置各接口的IP地址(略)。
(1) 配置DHCP 中继
# 使能DHCP服务。
<Device> system-view
[Device] dhcp enable
# 配置DHCP服务器的地址。
[Device] dhcp relay server-group 1 ip 192.168.2.2
# 配置VLAN接口2工作在DHCP中继模式。
[Device] interface vlan-interface 2
[Device-Vlan-interface2] dhcp select relay
# 配置VLAN接口2对应DHCP服务器组1。
[Device-Vlan-interface2] dhcp relay server-select 1
[Device-Vlan-interface2] quit
(2) 配置RADIUS方案和ISP域
请参见“1.4.1 802.1X认证配置举例”。
(3) 配置802.1X
# 配置Free IP。
[Device] dot1x free-ip 192.168.2.0 24
# 配置IE访问的重定向URL。
[Device] dot1x url http://192.168.2.3
# 开启全局802.1X特性。
[Device] dot1x
# 开启指定端口的802.1X特性。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] dot1x
以上配置完成之后,执行命令display dot1x可以查看802.1X的配置情况。用户主机成功获得DHCP服务器分配的IP地址之后,在WindowsXP操作系统的主机上执行ping Free IP网段中的地址,可验证在802.1X认证成功之前是否可以访问免认证网段192.168.2.0/24。
C:\>ping 192.168.2.3
Pinging 192.168.2.3 with 32 bytes of data:
Reply from 192.168.2.3: bytes=32 time<1ms TTL=128
Reply from 192.168.2.3: bytes=32 time<1ms TTL=128
Reply from 192.168.2.3: bytes=32 time<1ms TTL=128
Reply from 192.168.2.3: bytes=32 time<1ms TTL=128
Ping statistics for 192.168.2.3:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
用户在802.1X认证成功之前,通过浏览器访问任何非Free IP网段的外部网站地址时,都会被重定向到Web server页面,此页面提供802.1X客户端的下载服务。需要注意的是,地址栏内输入的地址应该为X.X.X.X(点分十进制格式)的非Free IP网段地址才有效,例如3.3.3.3或者http://3.3.3.3。
用户在浏览器中输入地址,但该HTTP访问不能被正确重定向到指定的URL服务器。
· 用户在浏览器地址栏内输入了字符串类型的地址。由于用户主机使用的操作系统首先会将这个字符串地址作为名字进行网络地址解析,如果解析不成功通常会以非X.X.X.X形式的网络地址发送ARP请求,这样的请求不能进行重定向;
· 用户在IE地址栏内输入了Free IP网段内的任意地址。设备会认为用户试图访问Free IP网段内的某台主机,而不对其进行重定向,即使这台主机不存在;
· 用户在配置和组网时没有将服务器加入Free IP网段,或者配置的URL为不存在的地址,或者该URL指向的服务器没有提供Web服务。
· 地址栏内输入的地址应该为X.X.X.X(点分十进制格式)的非免费IP网段地址才有效。
· 确保设备及服务器上的配置正确且有效。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!