02-802.1X配置
本章节下载: 02-802.1X配置 (1.03 MB)
目 录
1.3.5 802.1X Critical Voice VLAN
2.13 配置端口延迟加入802.1X的Guest VLAN
2.16 配置802.1X Critical Voice VLAN
2.21 配置802.1X非认证成功VLAN和VSI的用户老化功能
2.22 配置向802.1X Auth-Fail VLAN或Auth-Fail VSI用户发送认证成功帧
2.23 配置向802.1X Critical VLAN或Critical VSI用户发送认证成功帧
2.31 配置端口发送802.1X协议报文不携带VLAN Tag
2.32 配置MAC地址认证成功用户进行802.1X认证的最大尝试次数
2.36 配置802.1X向服务器发送的EAP-TLS分片报文最大长度
2.40.2 802.1X支持Guest VLAN、授权VLAN下发配置举例
2.40.4 802.1X支持Guest VSI、授权VSI下发配置举例(Port-based)
2.40.5 802.1X支持Guest VSI、授权VSI下发配置举例(MAC-based)
2.40.6 802.1X支持EAD快速部署典型配置举例(DHCP中继组网)
2.40.7 802.1X支持EAD快速部署典型配置举例(DHCP服务器组网)
802.1X协议是一种基于端口的网络接入控制协议,即在局域网接入设备的端口上对所接入的用户和设备进行认证,以便控制用户设备对网络资源的访问。
802.1X系统中包括三个实体:客户端(Client)、设备端(Device)和认证服务器(Authentication server),如图1-1所示。
图1-1 802.1X体系结构图
· 客户端是请求接入局域网的用户终端,由局域网中的设备端对其进行认证。客户端上必须安装支持802.1X认证的客户端软件。
· 设备端是局域网中控制客户端接入的网络设备,位于客户端和认证服务器之间,为客户端提供接入局域网的端口(物理端口或逻辑端口),并通过与认证服务器的交互来对所连接的客户端进行认证。
· 认证服务器用于对客户端进行认证、授权和计费,通常为RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器。认证服务器根据设备端发送来的客户端认证信息来验证客户端的合法性,并将验证结果通知给设备端,由设备端决定是否允许客户端接入。在一些规模较小的网络环境中,认证服务器的角色也可以由设备端来代替,即由设备端对客户端进行本地认证、授权和计费。
设备端为客户端提供的接入局域网的端口被划分为两个逻辑端口:受控端口和非受控端口。任何到达该端口的帧,在受控端口与非受控端口上均可见。
· 非受控端口:始终处于双向连通状态,主要用来传递认证报文,保证客户端始终能够发出或接收认证报文。
· 受控端口:设备端利用认证服务器对需要接入局域网的客户端进行认证,并根据认证结果(Accept或Reject)对受控端口的授权状态进行相应地控制。
¡ 客户端认证成功,受控端口处于授权状态。该状态下端口双向连通,用于传递业务报文。
¡ 客户端认证失败,受控端口处于非授权状态。该状态下,又可以分为两种情况:
- 双向受控状态:禁止帧的发送和接收;
- 单向受控状态时:禁止从客户端接收帧,但允许向客户端发送帧。目前,设备上的受控端口只能处于单向受控状态。
802.1X系统使用EAP(Extensible Authentication Protocol,可扩展认证协议)来实现客户端、设备端和认证服务器之间认证信息的交互。EAP是一种C/S模式的认证框架,它可以支持多种认证方法,例如MD5-Challenge、EAP-TLS(Extensible Authentication Protocol -Transport Layer Security,可扩展认证协议-传输层安全)、PEAP(Protected Extensible Authentication Protocol,受保护的扩展认证协议)等。在客户端与设备端之间,EAP报文使用EAPOL(Extensible Authentication Protocol over LAN,局域网上的可扩展认证协议)封装格式承载于数据帧中传递。在设备端与RADIUS服务器之间,EAP报文的交互有EAP中继和EAP终结两种处理机制。
设备端对收到的EAP报文进行中继,使用EAPOR(EAP over RADIUS)封装格式将其承载于RADIUS报文中发送给RADIUS服务器。
图1-3 EAP中继原理示意图
该处理机制下,EAP认证过程在客户端和RADIUS服务器之间进行。RADIUS服务器作为EAP服务器来处理客户端的EAP认证请求,设备相当于一个中继,仅对EAP报文做中转。
设备对EAP认证过程进行终结,将收到的EAP报文中的客户端认证信息封装在标准的RADIUS报文中,与服务器之间采用PAP(Password Authentication Protocol,密码认证协议)或CHAP(Challenge Handshake Authentication Protocol,质询握手认证协议)方法进行认证。
图1-4 EAP终结原理示意图
表1-1 EAP中继与EAP终结的对比
报文交互方式 |
优势 |
局限性 |
EAP中继 |
· 支持多种EAP认证方法 · 设备端的配置和处理流程简单 |
一般来说需要RADIUS服务器支持EAP-Message和Message-Authenticator属性,以及客户端采用的EAP认证方法 |
EAP终结 |
对RADIUS服务器无特殊要求,支持PAP认证和CHAP认证即可 |
· 仅能支持MD5-Challenge类型的EAP认证以及iNode 802.1X客户端发起的“用户名+密码”方式的EAP认证 · 设备端处理相对复杂 |
EAP报文格式如图1-5所示。
图1-5 EAP报文格式
· Code:EAP报文的类型,包括Request(1)、Response(2)、Success(3)和Failure(4)。
· Identifier:用于匹配Request消息和Response消息的标识符。
· Length:EAP报文的长度,包含Code、Identifier、Length和Data域,单位为字节。
· Data:EAP报文的内容,该字段仅在EAP报文的类型为Request和Response时存在,它由类型域和类型数据两部分组成,例如,类型域为1表示Identity类型,类型域为4表示MD5 challenge类型。
EAPOL是802.1X协议定义的一种承载EAP报文的封装技术,主要用于在局域网中传送客户端和设备端之间的EAP协议报文。EAPOL数据包的格式如图1-6所示。
图1-6 EAPOL数据包格式
· PAE Ethernet Type:表示协议类型。EAPOL的协议类型为0x888E。
· Protocol Version:表示EAPOL数据帧的发送方所支持的EAPOL协议版本号。
· Type:表示EAPOL数据帧类型。目前设备上支持的EAPOL数据帧类型见表1-2。
表1-2 EAPOL数据帧类型
类型值 |
数据帧类型 |
说明 |
0x00 |
EAP-Packet |
认证信息帧,用于承载客户端和设备端之间的EAP报文 |
0x01 |
EAPOL-Start |
认证发起帧,用于客户端向设备端发起认证请求 |
0x02 |
EAPOL-Logoff |
退出请求帧,用于客户端向设备端发起下线请求 |
· Length:表示数据域的长度,也就是Packet Body字段的长度,单位为字节。当EAPOL数据帧的类型为EAPOL-Start或EAPOL-Logoff时,该字段值为0,表示后面没有Packet Body字段。
· Packet Body:数据域的内容。
RADIUS为支持EAP认证增加了两个属性:EAP-Message(EAP消息)和Message-Authenticator(消息认证码)。在含有EAP-Message属性的数据包中,必须同时包含Message-Authenticator属性。关于RADIUS报文格式的介绍请参见“安全配置指导”中的“AAA”的RADIUS协议简介部分。
· EAP-Message
如图1-7所示,EAP-Message属性用来封装EAP报文,Value域最长253字节,如果EAP报文长度大于253字节,可以对其进行分片,依次封装在多个EAP-Message属性中。
图1-7 EAP-Message属性封装
· Message-Authenticator
如图1-8所示,Message-Authenticator属性用于在EAP认证过程中验证携带了EAP-Message属性的RADIUS报文的完整性,避免报文被篡改。如果接收端对接收到的RADIUS报文计算出的完整性校验值与报文中携带的Message-Authenticator属性的Value值不一致,该报文会被认为无效而丢弃。
图1-8 Message-Authenticator属性封装
设备端支持采用EAP中继方式或EAP终结方式与远端RADIUS服务器交互。以下关于802.1X认证过程的描述,都以客户端主动发起认证为例。
这种方式是IEEE 802.1X标准规定的,将EAP承载在其它高层协议中,如EAP over RADIUS,以便EAP报文穿越复杂的网络到达认证服务器。一般来说,需要RADIUS服务器支持EAP属性:EAP-Message和Message-Authenticator。
如图1-9所示,以MD5-Challenge类型的EAP认证为例,具体认证过程如下。
图1-9 IEEE 802.1X认证系统的EAP中继方式认证流程
(1) 当用户需要访问外部网络时打开802.1X客户端程序,输入用户名和密码,发起连接请求。此时,客户端程序将向设备端发出认证请求帧(EAPOL-Start),开始启动一次认证过程。
(2) 设备端收到认证请求帧后,将发出一个Identity类型的请求帧(EAP-Request/Identity)要求用户的客户端程序发送输入的用户名。
(3) 客户端程序响应设备端发出的请求,将用户名信息通过Identity类型的响应帧(EAP-Response/Identity)发送给设备端。
(4) 设备端将客户端发送的响应帧中的EAP报文封装在RADIUS报文(RADIUS Access-Request)中发送给认证服务器进行处理。
(5) RADIUS服务器收到设备端转发的用户名信息后,将该信息与数据库中的用户名列表对比,找到该用户名对应的密码信息,用随机生成的一个MD5 Challenge对密码进行加密处理,同时将此MD5 Challenge通过RADIUS Access-Challenge报文发送给设备端。
(6) 设备端将RADIUS服务器发送的MD5 Challenge转发给客户端。
(7) 客户端收到由设备端传来的MD5 Challenge后,用该Challenge对密码进行加密处理,生成EAP-Response/MD5 Challenge报文,并发送给设备端。
(8) 设备端将此EAP-Response/MD5 Challenge报文封装在RADIUS报文(RADIUS Access-Request)中发送给RADIUS服务器。
(9) RADIUS服务器将收到的已加密的密码信息和本地经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,并向设备端发送认证通过报文(RADIUS Access-Accept)。
(10) 设备收到认证通过报文后向客户端发送认证成功帧(EAP-Success),并将端口改为授权状态,允许用户通过端口访问网络。
(11) 用户在线期间,设备端会通过向客户端定期发送握手报文的方法,对用户的在线情况进行监测。
(12) 客户端收到握手报文后,向设备发送应答报文,表示用户仍然在线。缺省情况下,若设备端发送的两次握手请求报文都未得到客户端应答,设备端就会让用户下线,防止用户因为异常原因下线而设备无法感知。
(13) 客户端可以发送EAPOL-Logoff帧给设备端,主动要求下线。
(14) 设备端把端口状态从授权状态改变成未授权状态,并向客户端发送EAP-Failure报文。
EAP中继方式下,需要保证在客户端和RADIUS服务器上选择一致的EAP认证方法,而在设备上,只需要通过dot1x authentication-method eap命令启动EAP中继方式即可。
这种方式将EAP报文在设备端终结并映射到RADIUS报文中,利用标准RADIUS协议完成认证、授权和计费。设备端与RADIUS服务器之间可以采用PAP或者CHAP认证方法。如图1-10所示,以CHAP认证为例,具体的认证流程如下。
图1-10 IEEE 802.1X认证系统的EAP终结方式认证流程
EAP终结方式与EAP中继方式的认证流程相比,不同之处在于用来对用户密码信息进行加密处理的MD5 challenge由设备端生成,之后设备端会把用户名、MD5 challenge和客户端加密后的密码信息一起发送给RADIUS服务器,进行相关的认证处理。
802.1X的认证过程可以由客户端主动发起,也可以由设备端发起。
· 组播触发:客户端主动向设备端发送EAPOL-Start报文来触发认证,该报文目的地址为组播MAC地址01-80-C2-00-00-03。
· 广播触发:客户端主动向设备端发送EAPOL-Start报文来触发认证,该报文的目的地址为广播MAC地址。该方式可解决由于网络中有些设备不支持上述的组播报文,而造成设备端无法收到客户端认证请求的问题。
· 目前,iNode的802.1X客户端可支持广播触发方式。
设备端主动触发方式用于支持不能主动发送EAPOL-Start报文的客户端,例如Windows XP自带的802.1X客户端。设备主动触发认证的方式分为以下两种:
· 组播触发:设备每隔一定时间(缺省为30秒)主动向客户端组播发送Identity类型的EAP-Request帧来触发认证。
· 单播触发:当设备收到源MAC地址未知的报文时,主动向该MAC地址单播发送Identity类型的EAP-Request帧来触发认证。若设备端在设置的时长内没有收到客户端的响应,则重发该报文。
设备不仅支持协议所规定的基于端口的接入控制方式(Port-based),还对其进行了扩展、优化,支持基于MAC的接入控制方式(MAC-based)。
· 采用基于端口的接入控制方式时,只要该端口下的第一个用户认证成功后,其它接入用户无须认证就可使用网络资源,但是当第一个用户下线后,其它用户也会被拒绝使用网络。
· 采用基于MAC的接入控制方式时,该端口下的所有接入用户均需要单独认证,当某个用户下线后,也只有该用户无法使用网络。
802.1X用户在通过远程AAA/本地AAA认证时,远程AAA服务器/接入设备可以下发授权VLAN信息给用户的接入端口,但是仅远程AAA服务器支持授权携带Tag的VLAN。
该方式下,需要在服务器上指定下发给用户的授权VLAN信息,下发的授权VLAN信息可以有多种形式,包括数字型VLAN和字符型VLAN,字符型VLAN又可分为VLAN名称、VLAN组名、携带后缀的VLAN ID(后缀用于标识是否携带Tag)。
设备收到服务器的授权VLAN信息后,首先对其进行解析,只要解析成功,即以对应的方法下发授权VLAN;如果解析不成功,则用户认证失败。
· 若认证服务器下发的授权VLAN信息为一个VLAN ID或一个VLAN名称,则仅当对应的VLAN不为动态学习到的VLAN、保留VLAN、Super VLAN和Private VLAN时,该VLAN才是有效的授权VLAN。当认证服务器下发VLAN名称时,对应的VLAN必须为已存在的VLAN。
· 若认证服务器下发的授权VLAN信息为一个VLAN组名,则设备首先会通过组名查找该组内配置的VLAN列表。若查找到授权VLAN列表,则在这一组VLAN中,除Super VLAN、动态VLAN、Private VLAN之外的所有VLAN都有资格被授权给用户。关于VLAN组的相关配置,请参见“二层技术-以太网交换配置指导”中的“VLAN”。
¡ 若端口接入控制方式为MAC-based,当端口链路类型为Hybrid,且使能了MAC VLAN功能时,若端口上已有其他在线用户,则将选择该组VLAN中在线用户数最少的一个VLAN作为当前认证用户的授权VLAN(若在线用户数最小的VLAN有多个,则选择VLAN ID最小者);当端口链路类型为Hybrid但未使能MAC VLAN功能、链路类型为Access或Trunk时,若端口上已有其他在线用户,则查看端口上在线用户的授权VLAN是否存在于该组中,若存在,则将此VLAN授权给当前的认证用户,否则认为当前认证用户授权失败,将被强制下线。若当前用户为端口上第一个在线用户,则直接将该组VLAN中ID最小的VLAN授权给当前的认证用户。
¡ 若接入控制方式为Port-based,则将该组VLAN中ID最小的VLAN授权给当前的认证用户,且后续该端口上的认证用户均被加入该授权VLAN。
· 若认证服务器下发的授权VLAN信息为一个包含若干VLAN编号以及若干VLAN名称的字符串,则设备首先将其解析为一组VLAN ID,然后采用与解析一个VLAN组名相同的解析逻辑选择一个授权VLAN。
· 若认证服务器下发的授权VLAN信息为一个包含若干个“VLAN ID+后缀”形式的字符串,则只有第一个不携带后缀或者携带untagged后缀的VLAN将被解析为唯一的untagged的授权VLAN,其余VLAN都被解析为tagged的授权VLAN。例如服务器下发字符串“1u 2t 3”,其中的u和t均为后缀,分别表示untagged和tagged。该字符串被解析之后,VLAN 1为untagged的授权VLAN,VLAN 2和VLAN 3为tagged的授权VLAN。该方式下发的授权VLAN仅对端口链路类型为Hybrid或Trunk,且802.1X接入控制方式为Port-based的端口有效。
¡ 端口的缺省VLAN将被修改为untagged的授权VLAN。若不存在untagged的授权VLAN,则不修改端口的缺省VLAN。
¡ 端口将允许所有解析成功的授权VLAN通过。
该方式下,可以通过配置本地用户的授权属性指定下发给用户的授权VLAN信息,且只能指定一个授权VLAN。设备将此VLAN作为该本地用户的授权VLAN。关于本地用户的相关配置,请参考“安全配置指导”中的“AAA”。
无论是远程AAA授权,还是本地AAA授权,除了认证服务器下发“VLAN ID+后缀”形式的字符串之外,其它情况下设备均会根据用户认证上线的端口链路类型,按照表1-3将端口加入指定的授权VLAN中。
接入控制方式 |
Access端口 |
Trunk端口 |
Hybrid端口 |
Port-based |
· 不支持下发带Tag的VLAN · 加入授权VLAN · 缺省VLAN修改为授权VLAN |
· 允许授权VLAN通过 · 授权VLAN未携带Tag的情况下,缺省VLAN修改为授权VLAN;授权VLAN携带Tag的情况下,不会修改该端口的缺省VLAN |
· 授权VLAN未携带Tag的情况下,允许授权VLAN以不携带Tag的方式通过;授权VLAN携带Tag的情况下,允许授权VLAN以携带Tag的方式通过 · 授权VLAN未携带Tag的情况下,缺省VLAN修改为授权VLAN;授权VLAN携带Tag的情况下,不会修改该端口的缺省VLAN |
MAC-based |
· 不支持下发带Tag的VLAN · 加入第一个通过认证的用户的授权VLAN · 缺省VLAN修改为第一个通过认证的用户的授权VLAN |
· 允许授权VLAN通过 · 授权VLAN未携带Tag的情况下,缺省VLAN修改为第一个通过认证的用户的授权VLAN;授权VLAN携带Tag的情况下,不会修改该端口的缺省VLAN |
· 授权VLAN未携带Tag的情况下,允许授权VLAN以不携带Tag的方式通过;授权VLAN携带Tag的情况下,允许授权VLAN以携带Tag的方式通过 · 在授权VLAN未携带Tag的情况下且端口上开启了MAC VLAN功能,则根据授权VLAN动态地创建基于用户MAC的VLAN,而端口的缺省VLAN并不改变 · 在授权VLAN未携带Tag的情况下且端口上未开启MAC VLAN功能,则端口的缺省VLAN修改为第一个通过认证的用户的授权VLAN |
说明:在授权VLAN未携带Tag的情况下,只有开启了MAC VLAN功能的端口上才允许给不同的用户MAC授权不同的VLAN。如果没有开启MAC VLAN功能,授权给所有用户的VLAN必须相同,否则仅第一个通过认证的用户可以成功上线。 在授权VLAN携带Tag的情况下,无论是否开启了MAC VLAN功能,设备都会给不同的用户授权不同的VLAN,一个VLAN只能授权给一个用户。 |
授权VLAN并不影响端口的配置。但是,对于Access端口和Trunk端口,授权VLAN的优先级高于端口配置的VLAN,即通过认证后起作用的VLAN是授权VLAN,端口配置的VLAN在用户下线后生效。对于Hybrid端口,当授权VLAN携带Tag的情况与端口配置的VLAN情况不一致(例如授权VLAN携带Tag,而端口配置的VLAN不携带Tag)时,授权VLAN不生效,通过认证后起作用的VLAN仍为端口配置的VLAN;当授权VLAN携带Tag的情况与端口配置的VLAN情况一致时,授权VLAN的优先级高于端口配置的VLAN。
· 对于Hybrid端口,如果认证用户的报文携带VLAN Tag,则应通过port hybrid vlan命令配置该端口在转发指定的VLAN报文时携带VLAN Tag;如果认证用户的报文不携带VLAN Tag,则应配置该端口在转发指定的VLAN报文时不携带VLAN Tag。否则,当服务器没有授权下发VLAN时,用户虽然可以通过认证但不能访问网络。
· 对于Hybrid端口,不建议把将要下发或已经下发的授权VLAN配置为携带Tag的方式加入端口。
· 在启动了802.1X周期性重认证功能的Hybrid端口上,若用户在MAC VLAN功能开启之前上线,则MAC VLAN功能不能对该用户生效,即系统不会根据服务器下发的VLAN生成该用户的MAC VLAN表项,只有该在线用户重认证成功且服务器下发的VLAN发生变化时,MAC VLAN功能才会对它生效。MAC VLAN功能的详细介绍请参见“二层技术-以太网交换配置指导”中的“VLAN”。
802.1X Guest VLAN功能允许用户在未认证的情况下,访问某一特定VLAN中的资源。这个特定的VLAN称之为Guest VLAN,该VLAN内通常放置一些用于用户下载客户端软件或其他升级程序的服务器。
根据端口的接入控制方式不同,Guest VLAN的生效情况有所不同。
在接入控制方式为Port-based的端口上配置Guest VLAN后,若全局和端口上都使能了802.1X,端口授权状态为auto,且端口处于激活状态,则该端口就被加入Guest VLAN,所有在该端口接入的用户将被授权访问Guest VLAN里的资源。端口加入Guest VLAN的情况与加入授权VLAN相同,与端口链路类型有关,请参见“1.3.1 授权VLAN”的“表1-3”。需要注意的是,端口接收的带VLAN Tag的报文,如果该VLAN不是配置的Guest VLAN,则报文仍然可以在该VLAN内转发。
当端口上处于Guest VLAN中的用户发起认证且失败时:如果端口配置了Auth-Fail VLAN,则该端口会被加入Auth-Fail VLAN;如果端口未配置Auth-Fail VLAN,则该端口仍然处于Guest VLAN内。关于Auth-Fail VLAN的具体介绍请参见“1.3.3 802.1X Auth-Fail VLAN”。
当端口上处于Guest VLAN中的用户发起认证且成功时,端口会离开Guest VLAN,之后端口加入VLAN情况与认证服务器是否下发VLAN有关,具体如下:
· 若认证服务器下发VLAN,则端口加入下发的VLAN中。
· 若认证服务器未下发VLAN,则端口回到初始VLAN中。
用户下线后,端口加入Guest VLAN。
在接入控制方式为MAC-based的端口上配置Guest VLAN后,端口上未认证的用户将被授权访问Guest VLAN里的资源。
当端口上处于Guest VLAN中的用户发起认证且失败时,如果端口配置了Auth-Fail VLAN,则认证失败的用户将被加入Auth-Fail VLAN;如果端口未配置Auth-Fail VLAN,则该用户将离开Guest VLAN,回到加入Guest VLAN之前端口所在的初始VLAN。
当端口上处于Guest VLAN中的用户发起认证且成功时,设备会根据认证服务器是否下发授权VLAN决定将该用户加入到下发的授权VLAN中,或使其回到加入Guest VLAN之前端口所在的初始VLAN。
802.1X Auth-Fail VLAN功能允许用户在认证失败的情况下访问某一特定VLAN中的资源,这个VLAN称之为Auth-Fail VLAN。需要注意的是,这里的认证失败是认证服务器因某种原因明确拒绝用户认证通过,比如用户密码错误,而不是认证超时或网络连接等原因造成的认证失败。
根据端口的接入控制方式不同,Auth-Fail VLAN的生效情况有所不同。
在接入控制方式为Port-based的端口上配置Auth-Fail VLAN后,若该端口上有用户认证失败,则该端口会离开当前的VLAN被加入到Auth-Fail VLAN,所有在该端口接入的用户将被授权访问Auth-Fail VLAN里的资源。端口加入Auth-Fail VLAN的情况与加入授权VLAN相同,与端口链路类型有关,请参见“1.3.1 授权VLAN”的“表1-3”。
当加入Auth-Fail VLAN的端口上有用户发起认证并失败,则该端口将会仍然处于Auth-Fail VLAN内;如果认证成功,则该端口会离开Auth-Fail VLAN,之后端口加入VLAN情况与认证服务器是否下发授权VLAN有关,具体如下:
· 若认证服务器下发了授权VLAN,则端口加入下发的授权VLAN中。
· 若认证服务器未下发授权VLAN,则端口回到缺省VLAN中。
用户下线后,若端口上配置了Guest VLAN,则加入Guest VLAN,否则加入缺省VLAN。
在接入控制方式为MAC-based的端口上配置Auth-Fail VLAN后,该端口上认证失败的用户将被授权访问Auth-Fail VLAN里的资源。
当Auth-Fail VLAN中的用户再次发起认证时,如果认证成功,则设备会根据认证服务器是否下发VLAN决定将该用户加入到下发的授权VLAN中,或使其回到端口的缺省VLAN中;如果认证失败,则该用户仍然留在该Auth-Fail VLAN中。
802.1X Critical VLAN功能允许用户在认证时,当所有认证服务器都不可达的情况下访问某一特定VLAN中的资源,这个VLAN称之为Critical VLAN。目前,只采用RADIUS认证方式的情况下,在所有RADIUS认证服务器都不可达后,端口才会加入Critical VLAN。若采用了其它认证方式,则端口不会加入Critical VLAN。
根据端口的接入控制方式不同,Critical VLAN的生效情况有所不同。
在接入控制方式为Port-based的端口上配置Critical VLAN后,若该端口上有用户认证时,所有认证服务器都不可达,则该端口会被加入到Critical VLAN,之后所有在该端口接入的用户将被授权访问Critical VLAN里的资源。在用户进行重认证时,若所有认证服务器都不可达,且端口指定在此情况下强制用户下线,则该端口也会被加入到Critical VLAN。端口加入Critical VLAN的情况与加入授权VLAN相同,与端口链路类型有关,请参见“1.3.1 授权VLAN”的“表1-3”。
已经加入Critical VLAN的端口上有用户发起认证时,如果所有认证服务器不可达,则端口仍然在Critical VLAN内;如果服务器可达且认证失败,且端口配置了Auth-Fail VLAN,则该端口将会加入Auth-Fail VLAN,否则回到端口的缺省VLAN中;如果服务器可达且认证成功,则该端口加入VLAN的情况与认证服务器是否下发VLAN有关,具体如下:
· 若认证服务器下发了授权VLAN,则端口加入下发的授权VLAN中。
· 若认证服务器未下发授权VLAN,则端口回缺省VLAN中。
用户下线后,若端口上配置了Guest VLAN,则加入Guest VLAN,否则加入缺省VLAN。
在接入控制方式为MAC-based的端口上配置Critical VLAN后,若该端口上有用户认证时,所有认证服务器都不可达,则端口将允许Critical VLAN通过,用户将被授权访问Critical VLAN里的资源。
当Critical VLAN中的用户再次发起认证时,如果所有认证服务器不可达,则用户仍然在Critical VLAN中;如果服务器可达且认证失败,且端口配置了Auth-Fail VLAN,则该用户将会加入Auth-Fail VLAN,否则回到端口的缺省VLAN中;如果服务器可达且认证成功,则设备会根据认证服务器是否下发授权VLAN决定将该用户加入下发的授权VLAN中,或使其回到端口的缺省VLAN中。
802.1X Critical Voice VLAN功能允许语音用户在认证时,当其采用的ISP域中的所有认证服务器都不可达的情况下访问语音VLAN中的资源。目前,只采用RADIUS认证方式的情况下,在所有RADIUS认证服务器都不可达后,端口才会加入Critical Voice VLAN。若采用了其它认证方式,则端口不会加入Critical Voice VLAN。
根据端口的接入控制方式不同,Critical Voice VLAN的生效情况有所不同。
在接入控制方式为Port-based的端口上配置Critical Voice VLAN后,当发现有认证服务器可达后,处于Critical Voice VLAN的端口会主动发送组播报文,触发端口上的客户端进行802.1X认证。
在接入控制方式为MAC-based的端口上配置Critical Voice VLAN后,当发现有认证服务器可达后,处于Critical Voice VLAN的端口会主动向已加入Critical Voice VLAN的MAC地址发送单播报文触发其进行802.1X认证。
如图1-11所示,在VXLAN网络中,VTEP设备作为用户的接入认证设备时,用户所在VLAN往往不能标识其业务信息,此时需要在服务器上配置为802.1X认证成功用户下发授权VSI。NAS会根据用户所属VLAN、接入端口和MAC地址把用户流量映射到对应的VXLAN中,实现不同的802.1X用户可以访问不同的网络资源。
有关VSI和VXLAN的详细介绍请参见“VXLAN配置指导”中的“VXLAN简介”。
图1-11 802.1X认证支持VXLAN组网示意图
为了将受限的网络资源与未认证用户隔离,通常将受限的网络资源放置在未认证的用户不可访问的VXLAN中,该VXLAN所在的VSI称为授权VSI。802.1X支持远程AAA服务器下发授权VSI,根据不同的接入控制方式,下发授权VSI的过程如下:
· 端口接入控制方式为Port-based时,用户通过802.1X认证后,若服务器为用户配置了授权VSI,则设备根据用户的接入端口和所属VLAN动态创建AC,并将该AC与服务器授权的VSI相关联。此后,通过该端口接入的、指定VLAN的用户便可以访问授权VSI对应的VXLAN中的网络资源。若服务器未为用户配置授权VSI,则用户不能访问任何VXLAN中的资源。
· 端口接入控制方式为MAC-based时,用户通过802.1X认证后,若服务器为用户配置了授权VSI,则设备根据用户的接入端口、所属VLAN和MAC地址信息动态创建AC,并将该AC与服务器授权的VSI相关联。此后,通过该端口接入的、指定VLAN和MAC地址的用户便可以访问该授权VSI对应的VXLAN中的网络资源。若服务器未为用户配置授权VSI,则用户不能访问任何VXLAN中的资源。
有关动态创建AC的详细介绍,请参见“VXLAN配置指导”中的“配置VXLAN”。
802.1X Guest VSI功能允许用户在未认证的情况下,访问某一特定VXLAN中的资源,该VXLAN内通常放置一些用于用户下载客户端软件或其他升级程序的服务器。这个特定的VXLAN所在的VSI称之为Guest VSI。
根据端口的接入控制方式不同,Guest VSI的生效情况有所不同。
在接入控制方式为Port-based的端口上配置Guest VSI后,若全局和端口上都使能了802.1X,端口授权状态为auto,且端口处于激活状态,则该端口接入的、指定VLAN的未认证用户就被加入Guest VSI,所有在该端口接入的、指定VLAN的用户将被授权访问Guest VSI对应的VXLAN里的资源。
当端口上处于Guest VSI中的用户发起认证且失败时:如果端口配置了Auth-Fail VSI,则该端口会被加入Auth-Fail VSI;如果端口未配置Auth-Fail VSI,则该端口仍然处于Guest VSI内。关于Auth-Fail VSI的具体介绍请参见“1.4.4 802.1X Auth-Fail VSI”。
当端口上处于Guest VSI中的用户发起认证且成功时,端口会离开Guest VSI,设备将该用户加入到认证服务器下发的授权VSI中。
在接入控制方式为MAC-based的端口上配置Guest VSI后,若全局和端口上都使能了802.1X,则该端口接入的、指定VLAN和MAC地址的未认证用户将被授权访问Guest VSI对应的VXLAN里的资源。
当端口上处于Guest VSI中的用户发起认证且失败时:如果端口配置了Auth-Fail VSI,则认证失败的用户将被加入Auth-Fail VSI;如果端口未配置Auth-Fail VSI,则该用户将离开Guest VSI。
当端口上处于Guest VSI中的用户发起认证且成功时,端口会离开Guest VSI,设备将该用户加入到认证服务器下发的授权VSI中。
802.1X Auth-Fail VSI功能允许用户在认证失败的情况下访问某一特定VXLAN中的资源,这个特定的VXLAN所在的VSI称之为Auth-Fail VSI。需要注意的是,这里的认证失败是认证服务器因某种原因明确拒绝用户认证通过,比如用户密码错误,而不是认证超时或网络连接等原因造成的认证失败。
根据端口的接入控制方式不同,Auth-Fail VSI的生效情况有所不同。
在接入控制方式为Port-based的端口上配置Auth-Fail VSI后,若该端口上有用户认证失败,则该端口接入的、指定VLAN的用户会被加入到Auth-Fail VSI,所有在该端口接入的、指定VLAN的用户将被授权访问Auth-Fail VSI对应的VXLAN里的资源。
当加入Auth-Fail VSI的端口上有用户发起认证并失败,则该端口将会仍然处于Auth-Fail VSI内。如果认证成功,则该端口会离开Auth-Fail VSI,之后端口加入VSI情况与认证服务器是否下发授权VSI有关:
· 若认证服务器下发了授权VSI,则端口加入下发的授权VSI中;用户下线后,端口会离开下发的授权VSI。
· 若端口上配置了Guest VSI,则加入Guest VSI。
在接入控制方式为MAC-based的端口上配置Auth-Fail VSI后,该端口接入的、指定VLAN和MAC地址的用户认证失败将被授权访问Auth-Fail VSI对应的VXLAN里的资源。
当Auth-Fail VSI中的用户再次发起认证时,如果认证成功,则设备会根据认证服务器是否下发VSI决定是否将该用户加入到下发的授权VSI中;如果认证失败,则该用户仍然留在该Auth-Fail VSI中。
802.1X Critical VSI功能允许用户在认证时,当所有认证服务器都不可达的情况下访问某一特定VXLAN中的资源,这个特定的VXLAN所在的VSI称之为Critical VSI。目前,只采用RADIUS认证方式的情况下,在所有RADIUS认证服务器都不可达后,端口才会加入Critical VSI。若采用了其它认证方式,则端口不会加入Critical VSI。需要注意的是,已经处于Auth-Fail VSI中的用户再次发起认证时,若所有认证服务器都不可达,用户依然处于Auth-Fail VSI,不会加入到Critical VSI。
根据端口的接入控制方式不同,Critical VSI的生效情况有所不同。
在接入控制方式为Port-based的端口上配置Critical VSI后,若该端口上有用户认证时,所有认证服务器都不可达,则该端口接入的、指定VLAN的用户会被加入到Critical VSI,之后所有在该端口接入的、指定VLAN的用户将被授权访问Critical VSI对应的VXLAN里的资源。在用户进行重认证时,若所有认证服务器都不可达,且端口指定在此情况下强制用户下线,则该端口也会被加入到Critical VSI。
已经加入Critical VSI的端口上有用户发起认证时,如果所有认证服务器不可达,则端口仍然在Critical VSI内。如果服务器可达且认证失败,且端口配置了Auth-Fail VSI,则该端口将会加入Auth-Fail VSI。如果服务器可达且认证成功,则该端口加入VLAN的情况与认证服务器是否下发VSI有关:
· 若认证服务器下发了授权VSI,则端口加入下发的授权VSI中。用户下线后,端口会离开下发的授权VSI。
· 若端口上配置了Guest VSI,则加入Guest VSI。
在接入控制方式为MAC-based的端口上配置Critical VSI后,若该端口上有用户认证时,所有认证服务器都不可达,则该端口接入的、指定VLAN和MAC地址的用户将被授权访问Critical VSI里的资源。
当Critical VSI中的用户再次发起认证时,如果所有认证服务器不可达,则用户仍然在Critical VSI中;如果服务器可达且认证失败,且端口配置了Auth-Fail VSI,则该用户将会加入Auth-Fail VSI;如果服务器可达且认证成功,则设备会根据认证服务器是否下发授权VSI决定是否将该用户加入下发的授权VSI中。
802.1X支持ACL(Access Control List,访问控制列表)下发提供了对上线用户访问网络资源的过滤与控制功能。当用户上线时,如果RADIUS服务器上或接入设备的本地用户视图中指定了要下发给该用户的授权ACL,则设备会根据下发的授权ACL对用户所在端口的数据流进行过滤,与授权ACL规则匹配的流量,将按照规则中指定的permit或deny动作进行处理。由于服务器上或设备本地用户视图下指定的是授权ACL的编号,因此还需要在设备上创建该ACL并配置对应的ACL规则。管理员可以通过改变授权的ACL编号或设备上对应的ACL规则来改变用户的访问权限。
802.1X认证可成功授权的ACL类型为基本ACL(ACL编号为2000~2999)、高级ACL(ACL编号为3000~3999)、二层ACL(ACL编号为4000~4999)和用户自定义ACL(ACL编号为5000~5999)。但当下发的ACL不存在、未配置ACL规则或ACL规则配置了counting、established、fragment、source-mac或logging参数时,授权ACL不生效。有关ACL规则的具体介绍,请参见“ACL和QoS命令参考”中的“ACL”。
802.1X 支持User Profile下发提供了对上线用户访问网络资源的过滤与控制功能。当用户上线时,如果RADIUS服务器上或接入设备的本地用户视图中指定了要下发给该用户的授权User Profile,则设备会根据服务器下发的授权User Profile对用户所在端口的数据流进行过滤,仅允许User Profile策略中允许的数据流通过该端口。由于服务器上指定的是授权User Profile名称,因此还需要在设备上创建该User Profile并配置该对应的User Profile策略。管理员可以通过改变授权的User Profile名称或设备上对应的User Profile配置来改变用户的访问权限。
802.1X用户采用基于MAC的接入控制方式时,且端口授权状态为auto时,支持RADIUS扩展属性下发重定向URL。802.1X用户认证后,设备会根据RADIUS服务器下发的重定向URL属性,将用户的HTTP或HTTPS请求重定向到指定的Web认证页面。Web认证通过后,RADIUS服务器记录802.1X用户的MAC地址,并通过DM报文强制802.1X用户下线。此后该用户再次发起802.1X认证,由于RADIUS服务器上已记录该用户和其MAC地址的对应信息,用户可以成功上线。
802.1X支持URL重定向功能和EAD快速部署功能互斥。若需要对802.1X用户的HTTPS请求进行重定向,需要在设备上配置对HTTPS报文进行重定向的内部侦听端口号,具体配置请参见“三层技术-IP业务配置指导”中的“HTTP重定向”。
802.1X重认证是指设备周期性对端口上在线的802.1X用户发起重认证,以检测用户连接状态的变化、确保用户的正常在线,并及时更新服务器下发的授权属性(例如ACL、VLAN等)。
认证服务器可以通过下发RADIUS属性(session-timeout、Termination-action)来指定用户会话超时时长以及会话中止的动作类型。认证服务器上如何下发以上RADIUS属性的具体配置以及是否可以下发重认证周期的情况与服务器类型有关,请参考具体的认证服务器实现。
设备作为RADIUS DAE服务器,认证服务器作为RADIUS DAE客户端时,后者可以通过COA(Change of Authorization)Messages向用户下发重认证属性,这种情况下,无论设备上是否开启了周期性重认证功能,端口都会立即对该用户发起重认证。关于RADIUS DAE服务器的详细内容,请参见“安全配置指导”中的“AAA”。
802.1X用户认证通过后,端口对用户的重认证功能具体实现如下:
· 当认证服务器下发了用户会话超时时长,且指定的会话中止动作为要求用户进行重认证,则无论设备上是否开启周期性重认证功能,端口都会在用户会话超时时长到达后对该用户发起重认证。
· 当认证服务器下发了用户会话超时时长,且指定的会话中止动作为要求用户下线时:
¡ 若设备上开启了周期性重认证功能,且设备上配置的重认证定时器值小于用户会话超时时长,则端口会以重认证定时器的值为周期向该端口在线802.1X用户发起重认证;若设备上配置的重认证定时器值大于等于用户会话超时时长,则端口会在用户会话超时时长到达后强制该用户下线。
¡ 若设备上未开启周期性重认证功能,则端口会在用户会话超时时长到达后强制该用户下线。
· 当认证服务器未下发用户会话超时时长时,是否对用户进行重认证,由设备上配置的重认证功能决定。
· 对于已在线的802.1X用户,要等当前重认证周期结束并且认证通过后才会按新配置的周期进行后续的重认证。
· 端口对用户进行重认证过程中,重认证服务器不可达时端口上的802.1X用户状态均由端口上的配置决定。
在用户名不改变的情况下,端口允许重认证前后服务器向该用户下发不同的VLAN。
EAD(Endpoint Admission Defense,端点准入防御)作为一个网络端点接入控制方案,它通过安全客户端、安全策略服务器、接入设备以及第三方服务器的联动,加强了对用户的集中管理,提升了网络的整体防御能力。但是在实际的应用过程中EAD客户端的部署工作量很大,例如,需要网络管理员手动为每一个EAD客户端下载、升级客户端软件,这在EAD客户端数目较多的情况下给管理员带来了操作上的不便。
802.1X认证支持的EAD快速部署功能就可以解决以上问题,它允许未通过认证的802.1X用户访问一个指定的IP地址段(称为Free IP),并可以将用户发起的HTTP或HTTPS访问请求重定向到该IP地址段中的一个指定的URL(重定向URL),实现用户自动下载并安装EAD客户端的目的。
· Free IP:未通过认证的802.1X终端用户可以访问的IP地址段,该IP地址段中可以配置一个或多个特定服务器,用于提供EAD客户端的下载升级或者动态地址分配等服务。
· 重定向URL:802.1X终端用户在认证成功之前,如果使用浏览器访问网络,则设备会将用户访问的URL重定向到已配置的URL(例如,重定向到EAD客户端下载界面),这样只要用户打开浏览器,就必须进入管理员预设的界面。
EAD快速部署功能通过制订EAD规则(通常为ACL规则)来给予未通过认证的终端用户受限制的网络访问权限。当大量用户同时认证时,ACL资源将迅速被占用,如果没有用户认证成功,将出现ACL资源不足的情况,会导致一部分新接入的用户无法认证。
管理员可以通过配置EAD规则的老化时间来控制用户对ACL资源的占用,当用户访问网络时该定时器开始计时,在定时器超时或者用户下载客户端并成功通过认证之后,该用户所占用的ACL资源被删除,在老化时间内未进行任何操作的用户所占用的ACL资源会及时得到释放。
由于通过配置端口安全特性也可以为用户提供802.1X认证服务,且还可以提供802.1X和MAC地址认证的扩展和组合应用,因此在需要灵活使用以上两种认证方式的组网环境下,推荐使用端口安全特性。无特殊组网要求的情况下,无线环境中通常使用端口安全特性。在仅需要802.1X特性来完成接入控制的组网环境下,推荐单独使用802.1X特性。关于端口安全特性的详细介绍和具体配置请参见“安全配置指导”中的“端口安全”。
配置802.1X认证的VLAN和VSI时需要注意:
· 如果服务器同时下发了授权VSI和授权VLAN,设备以授权VLAN为准。
· 端口上配置802.1X认证的Guest VLAN、Auth-Fail VLAN、Critical VLAN与配置802.1X认证的Guest VSI、Auth-Fail VSI、Critical VSI互斥。
· 端口上配置802.1X认证的Guest VLAN、Auth-Fail VLAN、Critical VLAN与配置MAC地址认证的Guest VSI、Critical VSI互斥。
· 端口上配置802.1X认证的Guest VSI、Auth-Fail VSI、Critical VSI与配置MAC地址认证的Guest VLAN、Critical VLAN互斥。
· 为使802.1X认证支持VLAN下发或VSI下发功能正常应用,请保证设备和服务器配置的一致性:若设备上配置了Auth-Fail VLAN、Guest VLAN或Critical VLAN,则需要在服务器上配置为802.1X用户授权VLAN;若设备上配置了Auth-Fail VSI、Guest VSI或Critical VSI,则需要在服务器上配置为802.1X用户授权VSI。
· 802.1X与MAC地址认证同时在端口上使用时,需要注意:只要其中一个特性配置了非认证成功VSI(包括802.1X的Auth-Fail VSI、Guest VSI、Critical VSI和MAC地址认证的Guest VSI、Critical VSI),那么在服务器侧必须为802.1X认证用户和MAC地址认证都配置授权VSI。
· 当端口上配置的802.1X认证的Guest VLAN、Auth-Fail VLAN、Critical VLAN中存在用户时,不允许切换该端口的链路类型。
在二层聚合接口下配置802.1X功能时需要注意:
· 目前仅二层以太网接口和二层聚合接口支持配置802.1X功能(二层聚合接口下仅支持VSI下发相关功能,包括开启802.1X、配置802.1X Guest VSI、配置802.1X Auth-Fail VSI、配置802.1X Critical VSI、配置端口同时接入用户数的最大值)。
· 二层以太网接口加入聚合组后,在该接口上配置的802.1X功能不生效。
· 在二层聚合接口上有802.1X认证用户在线的情况下,请不要删除该二层聚合接口。
802.1X配置任务如下:
(1) 开启802.1X
(2) 配置802.1X认证的基本功能
¡ (可选)配置端口的强制认证域
¡ (可选)配置802.1X认证超时定时器
¡ (可选)配置802.1X重认证功能
¡ (可选)配置802.1X静默功能
(3) (可选)配置802.1X下发VLAN功能
¡ 配置802.1X Critical Voice VLAN
(4) (可选)配置802.1X下发VSI功能
(5) (可选)配置802.1X相关参数的最大值
¡ 配置MAC地址认证成功用户进行802.1X认证的最大尝试次数
(6) (可选)配置802.1X其它功能
¡ 配置802.1X非认证成功VLAN和VSI的用户老化功能
¡ 配置向802.1X Auth-Fail VLAN或Auth-Fail VSI用户发送认证成功帧
¡ 配置向802.1X Critical VLAN或Critical VSI用户发送认证成功帧
¡ 配置认证触发功能
对于不支持主动发送认证触发报文的客户端,可配置认证触发功能,即设备主动向该端口上的客户端发送认证请求来触发802.1X认证。
¡ 配置802.1X向服务器发送的EAP-TLS分片报文最大长度
当设备采用EAP中继方式对802.1X客户端进行认证,且认证方法为EAP-TLS时,可配置本功能来减小认证报文的长度。
在配置802.1X之前,需要完成以下任务:
· 配置802.1X用户所属的ISP认证域及其使用的AAA方案,即本地认证方案或RADIUS方案。
· 如果需要通过RADIUS服务器进行认证,则应该在RADIUS服务器上配置相应的用户名和密码。
· 如果需要本地认证,则应该在设备上手动添加认证的用户名和密码。配置本地认证时,用户使用的服务类型必须设置为lan-access。
只有同时开启全局和端口的802.1X后,802.1X的配置才能在端口上生效。
端口上开启802.1X之前,请保证端口未加入业务环回组。
在客户端发送不携带Tag数据流的情况下,若设备的接入端口配置了Voice VLAN功能,则端口的802.1X功能不生效。关于Voice VLAN特性请参见“二层技术-以太网交换配置指导”中的“Voice VLAN”。
(1) 进入系统视图。
system-view
(2) 开启全局的802.1X功能。
dot1x
缺省情况下,全局的802.1X处于关闭状态。
(3) 进入接口视图。
interface interface-type interface-number
(4) 开启端口的802.1X功能。
dot1x
缺省情况下,端口的802.1X处于关闭状态。
设备上的802.1X系统采用的认证方法与设备对于EAP报文的处理机制有关,具体如下:
· 若指定authentication-method为eap,则表示设备采用EAP中继认证方式。该方式下,设备端对客户端发送的EAP报文进行中继处理,并能支持客户端与RADIUS服务器之间所有类型的EAP认证方法。
· 若指定authentication-method为chap或pap,则表示设备采用EAP终结认证方式,该方式下,设备端对客户端发送的EAP报文进行本地终结,并能支持与RADIUS服务器之间采用CHAP或PAP类型的认证方法。
· 如果客户端采用了MD5-Challenge类型的EAP认证,则设备端只能采用CHAP认证;如果iNode 802.1X客户端采用了“用户名+密码”方式的EAP认证,设备上可选择使用PAP认证或CHAP认证,从安全性上考虑,通常使用CHAP认证。
· 如果采用EAP中继认证方式,则设备会把客户端输入的内容直接封装后发给服务器,这种情况下user-name-format命令的设置无效,user-name-format的介绍请参见“安全命令参考”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 配置802.1X系统的认证方法。
dot1x authentication-method { chap | eap | pap }
缺省情况下,设备启用EAP终结方式,并采用CHAP认证方法。
通过配置端口的授权状态,可以控制端口上接入的用户是否需要经过认证来访问网络资源。端口支持以下三种授权状态:
· 强制授权(authorized-force):表示端口始终处于授权状态,允许用户不经认证即可访问网络资源。
· 强制非授权(unauthorized-force):表示端口始终处于非授权状态,不允许用户进行认证。设备端不为通过该端口接入的客户端提供认证服务。
· 自动识别(auto):表示端口初始状态为非授权状态,仅允许EAPOL报文收发,不允许用户访问网络资源;如果用户通过认证,则端口切换到授权状态,允许用户访问网络资源。这也是最常用的一种状态。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口的授权状态。
dot1x port-control { authorized-force | auto | unauthorized-force }
缺省情况下,端口的授权状态为auto。
设备支持两种端口接入控制方式:基于端口控制(portbased)和基于MAC控制(macbased)。
端口存在802.1X在线用户时,切换接入控制方式会导致在线用户立刻下线。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口接入控制方式。
dot1x port-method { macbased | portbased }
缺省情况下,端口采用的接入控制方式为macbased。
在端口上指定强制认证域为802.1X接入提供了一种安全控制策略。所有从该端口接入的802.1X用户将被强制使用指定的认证域来进行认证、授权和计费,从而防止用户通过恶意假冒其它域账号从本端口接入网络。另外,管理员也可以通过配置强制认证域对不同端口接入的用户指定不同的认证域,从而增加了管理员部署802.1X接入策略的灵活性。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 指定端口上802.1X用户使用的强制认证域。
dot1x mandatory-domain domain-name
802.1X认证过程中会启动多个定时器以控制客户端、设备以及RADIUS服务器之间进行合理、有序的交互。可配置的802.1X认证定时器包括以下两种:
· 客户端认证超时定时器:当设备端向客户端发送了EAP-Request/MD5 Challenge请求报文后,设备端启动此定时器,若在该定时器设置的时长内,设备端没有收到客户端的响应,设备端将重发该报文。
· 认证服务器超时定时器:当设备端向认证服务器发送了RADIUS Access-Request请求报文后,设备端启动该定时器,若在该定时器设置的时长内,设备端没有收到认证服务器的响应,则802.1X认证失败。
一般情况下,无需改变认证超时定时器的值,除非在一些特殊或恶劣的网络环境下,才需要通过命令来调节。例如,用户网络状况比较差的情况下,可以适当地将客户端认证超时定时器值调大一些;还可以通过调节认证服务器超时定时器的值来适应不同认证服务器的性能差异。
建议将server-timeout的值设定为小于或等于设备发送RADIUS报文的最大尝试次数(retry)与RADIUS服务器响应超时时间(timer response-timeout)之积。如果server-timeout的值大于retry与timer response-timeout之积,则可能在server-timeout设定的服务器超时时间到达前,用户被强制下线。关于发送RADIUS报文的最大尝试次数、RADIUS服务器响应超时时间的具体配置请参见“安全配置指导”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 配置客户端认证超时定时器。
dot1x timer supp-timeout supp-timeout-value
缺省情况下,客户端认证超时定时器的值为30秒。
(3) 配置认证服务器超时定时器。
dot1x timer server-timeout server-timeout-value
缺省情况下,认证服务器超时定时器的值为100秒。
· 对802.1X用户进行周期性重认证时,设备将按照如下由高到低的顺序为其选择重认证时间间隔:服务器下发的重认证时间间隔、接口视图下配置的周期性重认证定时器的值、系统视图下配置的周期性重认证定时器的值、设备缺省的周期性重认证定时器的值。
· 强制端口上所有802.1X在线用户进行重认证后,不论服务器是否下发重认证或端口下是否开启了周期性重认证,强制重认证都会正常执行,端口上的所有在线802.1X用户会依次进行重认证操作。
· 修改设备上配置的认证域或802.1X系统认证方法都不会影响在线用户的802.1X重认证,只对配置之后新上线的用户生效。
(1) 进入系统视图。
system-view
(2) 在系统视图或接口视图下配置周期性重认证定时器。
¡ 系统视图下配置周期性重认证定时器。
dot1x timer reauth-period reauth-period-value
缺省情况下,周期性重认证定时器的值为3600秒。
¡ 依次执行以下命令在接口视图下配置周期性重认证定时器。
interface interface-type interface-number
dot1x timer reauth-period reauth-period-value
quit
缺省情况下,端口上未配置802.1X周期性重认证定时器,使用系统视图下的周期性重认证定时器的取值。
(3) 进入接口视图。
interface interface-type interface-number
(4) 开启周期性重认证功能。
dot1x re-authenticate
缺省情况下,周期性重认证功能处于关闭状态。
(5) (可选)强制端口上所有802.1X在线用户进行重认证。
dot1x re-authenticate manual
开启本功能后,不论服务器是否下发重认证或端口下是否开启了周期性重认证,强制重认证都会正常执行,端口上的所有在线802.1X用户会依次进行重认证操作。
(6) (可选)配置重认证服务器不可达时端口上的802.1X用户保持在线状态。
dot1x re-authenticate server-unreachable keep-online
缺省情况下,端口上的802.1X在线用户重认证时,若认证服务器不可达,则会被强制下线。
若配置保持用户在线,当服务器在短时间内恢复可达,则可以避免用户频繁上下线;若处于缺省状态,当服务器可达性在短时间内不可恢复,可避免用户在线状态长时间与实际不符。
当802.1X用户认证失败以后,设备需要静默一段时间(通过命令dot1x timer quiet-period设置)后再重新发起认证,在静默期间,设备不对802.1X认证失败的用户进行802.1X认证处理。
在网络处在风险位置,容易受攻击的情况下,可以适当地将静默定时器值调大一些,反之,可以将其调小一些来提高对用户认证请求的响应速度。
(1) 进入系统视图。
system-view
(2) 开启静默定时器功能。
dot1x quiet-period
缺省情况下,静默定时器功能处于关闭状态。
(3) 配置静默定时器。
dot1x timer quiet-period quiet-period-value
缺省情况下,静默定时器的值为60秒。
· 在接入控制方式为MAC-based的端口上生成的Guest VLAN表项会覆盖已生成的阻塞MAC表项,但如果端口因检测到非法报文而关闭,则802.1X Guest VLAN功能无法生效。关于阻塞MAC表项和端口的入侵检测功能的具体介绍请参见“安全配置指导”中的“端口安全”。
· 不同的端口可以指定不同的802.1X Guest VLAN,一个端口最多只能指定一个802.1X Guest VLAN 。
· 如果用户端设备发出的是携带Tag的数据流,且接入端口上使能了802.1X认证并配置了802.1X Guest VLAN,为保证各种功能的正常使用,请为Voice VLAN、端口的缺省VLAN和802.1X的Guest VLAN分配不同的VLAN ID。
· 如果某个VLAN被指定为Super VLAN,则该VLAN不能被指定为某个端口的802.1X Guest VLAN;同样,如果某个VLAN被指定为某个端口的802.1X Guest VLAN,则该VLAN不能被指定为Super VLAN。关于Super VLAN的详细内容请参见“二层技术-以太网交换配置指导”中的“Super VLAN”。
· 为保证802.1X Guest VLAN功能正常使用,请不要与EAD快速部署功能同时配置。
配置802.1X Guest VLAN之前,需要进行以下配置准备:
· 创建需要配置为Guest VLAN的VLAN。
· 在接入控制方式为MAC-based的端口上,保证端口类型为Hybrid,端口上的MAC VLAN功能处于使能状态,且不建议将指定的Guest VLAN修改为携带Tag的方式。MAC VLAN功能的具体配置请参见“二层技术-以太网交换配置指导”中的“VLAN”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口的802.1X Guest VLAN。
dot1x guest-vlan guest-vlan-id
缺省情况下,端口上未配置802.1X Guest VLAN。
开启802.1X认证,且端口的接入控制方式为MAC-based方式时,触发802.1X认证后端口会立即被加入到802.1X Guest VLAN中。在这种情况下,如果配置了端口延迟加入802.1X Guest VLAN功能,端口会主动向触发认证的源MAC地址单播发送EAP-Request报文。若在指定的时间内(通过命令dot1x timer tx-period设置)没有收到客户端的响应,则重发该报文,直到重发次数达到命令dot1x retry设置的最大次数时,若仍没有收到客户端的响应,才会加入到802.1X Guest VLAN中。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口延迟加入802.1X Guest VLAN的功能。
dot1x guest-vlan-delay { eapol | new-mac }
缺省情况下,端口延迟加入802.1X Guest VLAN的功能处于关闭状态。
· 不同的端口可以指定不同的802.1X Auth-Fail VLAN,一个端口最多只能指定一个802.1X Auth-Fail VLAN。
· 如果用户端设备发出的是携带Tag的数据流,为保证各种功能的正常使用,请为Voice VLAN、端口的缺省VLAN和802.1X的Auth-Fail VLAN分配不同的VLAN ID。
· 如果某个VLAN被指定为Super VLAN,则该VLAN不能被指定为某个端口的802.1X Auth-Fail VLAN;同样,如果某个VLAN被指定为某个端口的802.1X Auth-Fail VLAN,则该VLAN不能被指定为Super VLAN。关于Super VLAN的详细内容请参考“二层技术-以太网交换配置指导”中的“Super VLAN”。
· 在接入控制方式为MAC-based的端口上同时配置了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中。
· 在接入控制方式为MAC-based的端口上生成的Auth-Fail VLAN表项会覆盖已生成的阻塞MAC表项,但如果端口因检测到非法报文而关闭,则802.1X的Auth-Fail VLAN功能无法生效。关于端口入侵检测关闭功能的具体介绍请参考“安全配置指导”中的“端口安全”。
配置802.1X Auth-Fail VLAN之前,需要进行以下配置准备:
· 创建需要配置为Auth-Fail VLAN的VLAN。
· 在接入控制方式为MAC-based的端口上,保证端口类型为Hybrid,端口上的MAC VLAN功能处于使能状态,且不建议将指定的Auth-Fail VLAN修改为携带Tag的方式。MAC VLAN功能的具体配置请参见“二层技术-以太网交换配置指导”中的“VLAN”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口的802.1X Auth-Fail VLAN。
dot1x auth-fail vlan authfail-vlan-id
缺省情况下,端口没有配置802.1X Auth-Fail VLAN。
· 不同的端口可以指定不同的802.1X Critical VLAN,一个端口最多只能指定一个802.1X Critical VLAN。
· 如果用户端设备发出的是携带Tag的数据流,为保证各种功能的正常使用,请为Voice VLAN、端口的缺省VLAN和802.1X的Critical VLAN分配不同的VLAN ID。
· 如果某个VLAN被指定为Super VLAN,则该VLAN不能被指定为某个端口的802.1X Critical VLAN;同样,如果某个VLAN被指定为某个端口的802.1X Critical VLAN,则该VLAN不能被指定为Super VLAN。关于Super VLAN的详细内容请参考“二层技术-以太网交换配置指导”中的“Super VLAN”。
· 在接入控制方式为Port-based的端口上,若端口已经处于802.1X Auth-Fail VLAN,则当所有认证服务器都不可达时,端口并不会离开当前的VLAN而加入802.1X Critical VLAN。在接入控制方式为MAC-based的端口上,当处于Auth-Fail VLAN的用户再次发起认证时,如果认证服务器不可达,则该用户仍然留在该Auth-Fail VLAN中,不会离开当前的VLAN而加入802.1X Critical VLAN。
· 若端口已经处于802.1X Guest VLAN,则当所有认证服务器都不可达时,端口会离开当前的VLAN并加入802.1X Critical VLAN。
配置802.1X Critical VLAN之前,需要进行以下配置准备:
· 创建需要配置为Critical VLAN的VLAN。
· 在接入控制方式为MAC-based的端口上,保证端口类型为Hybrid,端口上的MAC VLAN功能处于使能状态,且不建议将指定的Critical VLAN修改为携带Tag的方式。MAC VLAN功能的具体配置请参见“二层技术-以太网交换配置指导”中的“VLAN”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口的802.1X Critical VLAN。
dot1x critical vlan critical-vlan-id
缺省情况下,端口没有配置802.1X Critical VLAN。
· 若端口已经处于802.1X Auth-Fail VLAN,则当所有认证服务器都不可达时,端口并不会离开当前的VLAN而加入802.1X Critical Voice VLAN。
· 若端口已经处于802.1X Guest VLAN,则当所有认证服务器都不可达时,端口会离开当前的VLAN并加入802.1X Critical Voice VLAN。
配置802.1X Critical Voice VLAN之前,需要进行以下配置准备:
· 全局和端口的LLDP(Link Layer Discovery Protocol,链路层发现协议)已经开启,设备通过LLDP来判断用户是否为语音用户。有关LLDP功能的详细介绍请参考“二层技术-以太网交换配置指导”中的“LLDP”。
· 端口的语音VLAN功能已经开启。有关语音VLAN的详细介绍请参考“二层技术-以太网交换配置指导”中的“VLAN”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口的802.1X Critical Voice VLAN。
dot1x critical-voice-vlan
缺省情况下,端口802.1X Critical Voice VLAN功能处于关闭状态。
· 不同端口可以指定不同的802.1X Guest VSI,一个端口最多只能指定一个802.1X Guest VSI。
· 为保证802.1X Guest VSI功能正常使用,请不要与EAD快速部署功能同时配置。
配置802.1X Guest VSI之前,需要进行以下配置:
· 开启L2VPN功能。
· 创建配置为Guest VSI的VSI,并在该VSI下创建VXLAN。
· 若接入控制方式为MAC-based,则需要在端口下开启动态创建AC匹配MAC地址功能。
上述配置的详细介绍,请参见“VXLAN配置指导”中的“配置VXLAN”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置802.1X Guest VSI。
dot1x guest-vsi guest-vsi-name
缺省情况下,端口未配置802.1X Guest VSI。
开启802.1X认证,且端口的接入控制方式为MAC-based方式时,触发802.1X认证后,通过该端口接入的、指定VLAN和MAC地址的用户会被立即加入到802.1X Guest VSI对应的VXLAN中。在这种情况下,如果配置了端口延迟加入802.1X Guest VSI功能,端口会主动向触发认证的源MAC地址单播发送EAP-Request/Identity报文。若在指定的时间内(通过命令dot1x timer tx-period设置)没有收到客户端的响应,则重发该报文,直到重发次数达到命令dot1x retry设置的最大次数时,仍没有收到客户端的响应,通过该端口接入的指定VLAN和MAC地址对应的用户才会加入到802.1X Guest VSI对应的VXLAN中。
在端口采用802.1X认证和MAC地址组合认证的情况下,如果想要在端口加入到802.1X Guest VSI之前进行MAC地址认证并下发授权VSI,可配置端口延迟加入802.1X Guest VSI,并开启端口MAC地址认证和802.1X认证并行处理功能。关于后者的详细介绍,请参见“安全命令参考”中的“MAC地址认证”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启端口延迟加入802.1X Guest VSI功能。
dot1x guest-vsi-delay { eapol | new-mac }
缺省情况下,端口延迟加入802.1X Guest VSI功能处于关闭状态。
不同端口可以指定不同的802.1X Auth-Fail VSI,一个端口最多只能指定一个802.1X Auth-Fail VSI。
配置802.1X Auth-Fail VSI之前,需要进行以下配置:
· 开启L2VPN功能。
· 创建配置为Auth-Fail VSI的VSI,并在该VSI下创建VXLAN。
· 若接入控制方式为MAC-based,则需要在端口下开启动态创建AC匹配MAC地址功能。
上述配置的详细介绍,请参见“VXLAN配置指导”中的“配置VXLAN”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置802.1X Auth-Fail VSI。
dot1x auth-fail vsi authfail-vsi-name
缺省情况下,端口未配置802.1X Auth-Fail VSI。
不同端口可以指定不同的802.1X Critical VSI,一个端口最多只能指定一个802.1X Critical VSI。
在接入控制方式为Port-based的端口上,若端口已经处于802.1X Auth-Fail VSI,则当所有认证服务器都不可达时,端口并不会离开当前的VSI而加入802.1X Critical VSI。在接入控制方式为MAC-based的端口上,当处于Auth-Fail VSI的用户再次发起认证时,如果认证服务器不可达,则该用户仍然留在该Auth-Fail VSI中,不会离开当前的VSI而加入802.1X Critical VSI。
若端口已经处于802.1X Guest VSI,则当所有认证服务器都不可达时,端口会离开当前的VSI加入802.1X Critical VSI。
配置802.1X Critical VSI之前,需要进行以下配置:
· 开启L2VPN功能。
· 创建配置为Critical VSI的VSI,并在该VSI下创建VXLAN。
· 若接入控制方式为MAC-based,则需要在端口下开启动态创建AC匹配MAC地址功能。
上述配置的详细介绍,请参见“VXLAN配置指导”中的“配置VXLAN”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置802.1X Critical VSI。
dot1x critical vsi critical-vsi-name
缺省情况下,端口未配置802.1X Critical VSI。
非认证成功VLAN和VSI的用户是指,在端口上接入但由于未认证成功而加入到Auth-Fail VLAN、Critical VLAN、Guest VLAN或加入到Auth-Fail VSI、Critical VSI、Guest VSI的用户。
开启端口的非认证成功VLAN和VSI中802.1X用户的老化功能后,如果到达老化时间,端口或用户会离开对应的VLAN或VSI:
· 接入控制方式为Port-based的端口上开启本功能后,当端口加入到Auth-Fail VLAN、Critical VLAN或加入到Auth-Fail VSI、Critical VSI时,设备启动用户老化定时器,到达老化时间(通过dot1x timer user-aging命令配置)后,端口离开对应的VLAN或VSI。
· 接入控制方式为MAC-based的端口上开启本功能后,当用户加入到Auth-Fail VLAN、Critical VLAN、Guest VLAN或加入到Auth-Fail VSI、Critical VSI、Guest VSI时,设备启动用户老化定时器,到达老化时间(通过dot1x timer user-aging命令配置)后,用户离开对应的VLAN或VSI。
当端口上非认证成功VLAN或VSI中的用户需要迁移到其它端口接入时,请在当前接入端口开启本功能,将当前接入端口上的用户MAC地址老化删除,否则用户无法在其它端口正常接入。
当端口上非认证成功VLAN或VSI的用户不需要迁移到其它端口接入时,建议在当前接入端口上关闭本功能,以免用户老化退出后无法访问对应VLAN或VSI中的资源。
(1) 进入系统视图。
system-view
(2) 配置非认证成功VLAN和VSI的用户老化定时器。
dot1x timer user-aging { auth-fail-vlan | auth-fail-vsi | critical-vlan | critical-vsi | guest-vlan | guest-vsi } aging-time-value
缺省情况下,非认证成功的VLAN或VSI用户老化定时器的值为1000秒。
(3) 进入接口视图。
interface interface-type interface-number
(4) 开启端口的非认证成功VLAN和VSI的用户老化功能。
dot1x unauthenticated-user aging enable
缺省情况下,端口的非认证成功VLAN和VSI的用户老化功能处于开启状态。
某些通过DHCP方式获取IP地址的802.1X客户端进行认证时,在收到EAP-Failure报文后,不会发送DHCP请求申请IP地址,只有在收到EAP-Success报文后才会发送DHCP请求申请IP地址。缺省情况下,当802.1X用户因认证失败而被加入Auth-Fail VLAN或Auth-Fail VSI后,设备会向客户端发送一个EAP-Failure报文,导致上述客户端获取不到IP地址,无法访问Auth-Fail VLAN或Auth-Fail VSI内的资源。为避免这种情况发生,设备支持通过命令行配置当802.1X用户被加入到Auth-Fail VLAN或Auth-Fail VSI后,向客户端发送EAP-Success报文的功能。此类客户端收到EAP-Success报文后,认为802.1X用户上线成功,会向设备发送DHCP请求申请IP地址。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置当802.1X用户被加入到Auth-Fail VLAN或Auth-Fail VSI后,设备端向客户端发送EAP-Success报文。
dot1x auth-fail eapol
缺省情况下,当802.1X用户加入到Auth-Fail VLAN或Auth-Fail VSI后,设备端向客户端发送EAP-Failure报文。
802.1X用户因认证服务器不可达而被加入Critical VLAN或Critical VSI之后,设备端会向客户端发送EAP-Failure报文。对于某些802.1X客户端(如Windows系统的802.1X客户端),在收到EAP-Failure报文后,不会再响应设备端后继发送的EAP-Request/Identity报文,从而导致该类用户的802.1X重认证无法成功。为解决此问题,设备支持通过命令行配置当802.1X用户被加入到Critical VLAN或Critical VSI后,向客户端发送EAP-Success报文。客户端收到该报文后认为802.1X用户上线成功,此后可以继续响应设备端发送的EAP-Request/Identity报文进行802.1X重认证。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置当802.1X用户被加入到Critical VLAN或Critical VSI后,设备端向客户端发送EAP-Success报文。
dot1x critical eapol
缺省情况下,当802.1X用户加入到Critical VLAN或Critical VSI后,设备端向客户端发送EAP-Failure报文。
当使用H3C iMC的RADIUS服务器对用户进行802.1X认证时,设备支持在线用户信息同步功能。开启本功能后,当通过RADIUS服务器探测功能探测到服务器由不可达变为可达后,设备便主动对端口上的所有在线用户依次向服务器发起认证请求,等到这些用户均通过认证后,达到服务器上的在线用户信息与该端口上的在线用户信息一致的目的。RADIUS服务器探测功能的配置步骤请参见“安全配置指导”中的“AAA”。
在设备向RADIUS服务器同步802.1X在线用户过程中,特殊情况处理如下:
· 如果在RADIUS服务器可达情况下,某用户认证失败,则设备强制该用户下线。
· 如果在设备发起下一次RADIUS服务器探测前,RADIUS服务器变为不可达而导致用户认证失败,则用户仍然保持在线。
· 如果有新用户发起认证,则该认证用户的信息不会向RADIUS服务器进行同步。
· 如果设备配置了周期性重认证功能,当重认证定时器超时时,设备不会对在线用户发起重认证,而是对用户进行同步操作。
802.1X认证的在线用户信息同步功能只能与H3C iMC服务器配合使用。
当RADIUS服务器从不可达变为可达时,处于Critical VLAN或Critical VSI中的用户也会再次发起认证,在设备上802.1X在线用户较多的情况下,如果配置了本功能,会因为同时进行认证的用户数量较大,而导致用户的上线时间变长。
本功能需要与RADIUS服务器探测功能配合使用,且RADIUS服务器探测周期必须小于RADIUS服务器恢复激活状态时长(通过timer quiet (RADIUS scheme view)命令),以避免服务器恢复激活状态定时器超时后将服务器的状态变为active而产生误报。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启802.1X认证的在线用户信息同步功能。
dot1x server-recovery online-user-sync
缺省情况下,802.1X认证的在线用户信息同步功能处于关闭状态。
对于不支持主动发送EAPOL-Start报文来发起802.1X认证的客户端,设备支持配置认证触发功能,即设备主动向该端口上的客户端发送认证请求来触发802.1X认证。设备提供了以下两种类型的认证触发功能:
· 组播触发功能:启用了该功能的端口会定期(间隔时间通过命令dot1x timer tx-period设置)向客户端组播发送EAP-Request/Identity报文来检测客户端并触发认证。
· 单播触发功能:当启用了该功能的端口收到源MAC地址未知的报文时,会主动向该MAC地址单播发送EAP-Request/Identity报文,若端口在指定的时间内(通过命令dot1x timer tx-period设置)没有收到客户端的响应,则重发该报文(重发次数通过命令dot1x retry设置)。
· 若端口连接的802.1X客户端不能主动发起认证,则需要开启组播触发功能。
· 若端口连接的802.1X客户端不能主动发起认证,且仅部分802.1X客户端需要进行认证,为避免不希望认证或已认证的802.1X客户端收到多余的认证触发报文,则需要开启单播触发功能。
· 建议组播触发功能和单播触发功能不要同时开启,以免认证报文重复发送。
· 单播触发功能建议只在端口接入控制方式为MAC-based时配置;若在端口接入控制方式为Port-based时配置单播触发功能,可能会导致用户正常无法上线。
(1) 进入系统视图。
system-view
(2) (可选)配置用户名请求超时定时器。
dot1x timer tx-period tx-period-value
缺省情况下,用户名请求超时定时器的值为30秒。
(3) 进入接口视图。
interface interface-type interface-number
(4) 开启认证触发功能。
dot1x { multicast-trigger | unicast-trigger }
缺省情况下,组播触发功能处于开启状态,单播触发功能处于关闭状态。
由于系统资源有限,如果当前端口上接入的用户过多,接入用户之间会发生资源的争用。因此限制接入用户数可以使属于当前端口的用户获得可靠的性能保障。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口同时接入用户数的最大值。
dot1x max-user max-number
缺省情况下,端口同时接入用户数的最大值为4294967295。
如果设备向用户发送认证请求报文后,在规定的时间里(可通过命令dot1x timer tx-period或者dot1x timer supp-timeout设定)没有收到用户的响应,则设备将向用户重发该认证请求报文,若设备累计发送认证请求报文的次数达到配置的最大值后,仍然没有得到用户响应,则停止发送认证请求。
(1) 进入系统视图。
system-view
(2) 配置设备向接入用户发送认证请求报文的最大次数。
dot1x retry retries
缺省情况下,设备最多可向接入用户发送2次认证请求报文。
开启设备的在线用户握手功能后,设备会定期(时间间隔通过命令dot1x timer handshake-period设置)向通过802.1X认证的在线用户发送握手请求报文(EAP-Request/Identity),以定期检测用户的在线情况。如果设备连续多次(通过命令dot1x retry设置)没有收到客户端的应答报文(EAP-Response/Identity),则会将用户置为下线状态。
有些802.1X客户端如果没有收到设备回应的在线握手成功报文(EAP-Success),就会自动下线。为了避免这种情况发生,需要在端口上开启发送在线握手成功报文功能。
在线用户握手功能处于开启状态的前提下,还可以通过开启在线用户握手安全功能,来防止在线的802.1X认证用户使用非法的客户端与设备进行握手报文的交互,而逃过代理检测、双网卡检测等iNode客户端的安全检查功能。开启了在线用户握手安全功能的设备通过检验客户端上传的握手报文中携带的验证信息,来确认用户是否使用iNode客户端进行握手报文的交互。如果握手检验不通过,则会将用户置为下线状态。
· 部分802.1X客户端不支持与设备进行握手报文的交互,因此建议在这种情况下,关闭设备的在线用户握手功能,避免该类型的在线用户因没有回应握手报文而被强制下线。
· 在线用户握手功能处于开启状态时,安全握手功能才会生效。
· 在线用户握手安全功能仅能在iNode客户端和iMC服务器配合使用的组网环境中生效。
· 只有当802.1X客户端需要收到在线握手成功报文时,才需要开启端口发送在线握手成功报文功能。
(1) 进入系统视图。
system-view
(2) (可选)配置握手定时器。
dot1x timer handshake-period handshake-period-value
缺省情况下,握手定时器的值为15秒。
(3) 进入接口视图。
interface interface-type interface-number
(4) 开启在线用户握手功能。
dot1x handshake
缺省情况下,在线用户握手功能处于开启状态。
(5) (可选)开启在线用户握手安全功能。
dot1x handshake secure
缺省情况下,在线用户握手安全功能处于关闭状态。
(6) (可选)开启端口发送在线握手成功报文功能。
dot1x handshake reply enable
缺省情况下,端口不发送在线握手成功报文。
开启端口的802.1X认证下线检测功能后,若设备在一个下线检测定时器间隔内,未收到此端口下某802.1X在线用户的报文,则将切断该用户的连接,同时通知RADIUS服务器停止对此用户进行计费。
S6820系列交换机不支持配置本功能。
只有当端口接入控制方式为MAC-based方式时,下线检测功能才能生效。在下线检测为开启状态时,修改端口接入控制方式为Port-based会导致下线检测功能失效。
在二层聚合接口上开启下线检测功能后,用户实际下线的时间会相对定时器设定的时间有所延迟。
建议不要将握手定时器(通过dot1x timer handshake-period命令配置)和周期性重认证定时器(通过dot1x timer reauth-period命令配置)设置为与下线检测定时器相同的值,否则可能出现定时器超时后,设备实际处理与预期不符的情况。
(1) 进入系统视图。
system-view
(2) 配置下线检测定时器。
dot1x timer offline-detect offline-detect-value
缺省情况下,下线检测定时器的值为300秒。
(3) 进入接口视图。
interface interface-type interface-number
(4) 开启端口的802.1X认证下线检测功能。
dot1x offline-detect enable
缺省情况下,端口的802.1X认证下线检测功能处于关闭状态。
每个接入用户都属于一个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,设备上指定802.1X支持的域名分隔符为/、\,则识别出的纯用户名为@abc,域名为123/22。
· 如果用户输入的用户名中不包含任何802.1X可支持的域名分隔符,则设备会认为该用户名并未携带域名,则使用系统中的缺省域对该用户进行认证。
· 若设备上指定发送给认证服务器的用户名携带域名(user-name-format with-domain),则发送给认证服务器的用户名包括三个部分:识别出的纯用户名、域名分隔符@、最终使用的认证域名。例如,用户输入的用户名为121.123/22\@abc,指定802.1X支持的域名分隔符为/、\、.,最终使用的认证域为xyz,则发送给认证服务器的用户名为@abc@xyz。user-name-format命令的具体介绍请参见“安全命令参考”中的“AAA”。
· 为保证用户信息可在认证服务器上被准确匹配到,设备上指定的802.1X支持的域名分隔符必须与认证服务器支持的域名分隔符保持一致,否则可能会因为服务器匹配用户失败而导致用户认证失败。
(1) 进入系统视图。
system-view
(2) 指定802.1X支持的域名分隔符。
dot1x domain-delimiter string
缺省情况下,仅支持域名分隔符@。
Hybrid端口开启802.1X认证,若该端口上通过port hybrid vlan命令配置了转发缺省VLAN报文携带VLAN Tag,则端口发送的缺省VLAN内的802.1X协议报文默认携带VLAN Tag。这种情况下,当终端发送的是不带VLAN Tag的报文进行802.1X认证时,由于接收的是带Tag的报文,会导致802.1X认证失败。为了解决这个问题,设备支持配置端口发送802.1X协议报文时不带VLAN Tag的功能。
除非Hybrid端口上配置了转发缺省VLAN报文携带VLAN Tag,而终端发送的是不带VLAN Tag的报文进行802.1X认证,其它场景请不要开启本功能,否则端口发送的所有802.1X报文都将去除VLAN Tag,可能导致正常用户无法通过802.1X认证。
配置端口发送802.1X协议报文不携带VLAN Tag之前,需要将开启802.1X认证端口的链路类型配置为Hybrid。具体配置请参见“二层技术-以太网交换配置指导”中的“VLAN”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口发送802.1X协议报文不携带VLAN Tag。
dot1x eapol untag
缺省情况下,端口发送802.1X协议报文携带VLAN Tag。
当端口上开启了MAC地址认证和802.1X认证的情况下,若已经通过MAC地址认证的用户向设备发送了EAP报文请求进行802.1X认证,缺省情况下,设备允许其进行802.1X认证。若该用户通过了802.1X认证,设备将强制此MAC地址认证用户下线,以802.1X用户的身份上线;若该用户未通过802.1X认证,则后续会进行多次802.1X认证尝试。若并不希望此类用户多次进行802.1X认证尝试,则可以通过本命令限制MAC地址认证成功用户进行802.1X认证的最大尝试次数。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置MAC地址认证成功用户进行802.1X认证的最大次数。
dot1x after-mac-auth max-attempt max-attempts
缺省情况下,不限制MAC地址认证成功的用户进行802.1X认证的最大次数。
基于802.1X的IP Source Guard功能,需要802.1X客户端支持上传IP地址,设备会根据802.1X功能获得的用户IP地址和MAC地址等信息动态生成IP Source Guard绑定表项来过滤端口收到的IPv4报文。有关IP Source Guard的详细介绍,请参考“安全配置指导”中的“IP Source Guard”。
为了防止802.1X用户私自修改IP地址,设备支持为配置802.1X用户IP地址冻结功能。开启该功能后,设备首次获取并保存了802.1X上线用户的IP地址之后,不会随着该用户IP地址的变化而更新IP Source Guard动态绑定表中用户的IP地址。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启802.1X用户IP地址冻结功能。
dot1x user-ip freeze
缺省情况下,802.1X用户IP地址冻结功能处于关闭状态。
开启802.1X认证的MAC地址绑定功能后,设备会将通过802.1X认证上线用户的MAC地址与用户接入端口绑定,自动生成802.1X认证用户的MAC地址与接入端口的绑定表项。同时,设备也支持通过命令行手工配置802.1X认证的MAC地址绑定表项。这两种方式产生的802.1X认证的MAC地址绑定表项都不会自动老化。因此,当这些MAC地址被绑定的用户在其它开启802.1X认证的MAC地址绑定功能的端口上进行802.1X认证时,将不能通过认证,实现了802.1X用户通过设备的指定端口连接网络,不能随意更换接入端口的需求。
· 802.1X认证的MAC地址绑定功能仅在接入控制方式为MAC-based的端口上生效。
· 802.1X认证的MAC地址绑定表项不会自动老化,即使该用户下线后或设备保存配置重启后也不会删除此绑定表项。可以通过undo dot1x mac-binding命令手工删除表项。用户在线时,不允许删除此表项。
· 802.1X认证的MAC地址绑定功能受端口允许同时接入802.1X用户数的最大值(通过dot1x max-user命令配置)影响。当绑定表项数等于端口允许同时接入802.1X用户最大用户数时, MAC地址绑定表项之外的用户均会认证失败。例如,如果开启了802.1X认证的MAC地址绑定功能,并且配置了端口允许同时接入802.1X用户数的最大值为1,此时只能有一个用户通过802.1X认证上线,并且此用户下线后其MAC地址绑定表项不会老化,这种情况下该端口上其它用户进行认证会提示认证失败。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启802.1X认证的MAC地址绑定功能。
dot1x mac-binding enable
缺省情况下,802.1X认证的MAC地址绑定功能处于关闭状态。
(4) (可选)手工配置802.1X认证MAC地址绑定表项。
dot1x mac-binding mac-address
缺省情况下,端口上不存在802.1X认证的MAC地址绑定表项。
· MAC地址认证和端口安全特性不支持EAD的快速部署功能,全局使能MAC认证或端口安全功能将会使EAD快速部署功能失效。
· 为使EAD快速部署功能生效,必须保证指定端口的授权模式为auto。
· MAC地址认证、端口安全功能均与Free IP配置互斥。
· 开启EAD快速部署辅助功能与802.1X Guest VSI或802.1X Guest VLAN功能不建议同时配置,否则可能导致802.1X Guest VSI或802.1X Guest VLAN功能无法正常使用。
· 在同时配置了Free IP与Auth-Fail VLAN功能的情况下,请保证Free IP网段为Auth-Fail VLAN可允许访问的网络资源。这种情况下,用户只能访问Free IP,不能访问其它资源。
· 重定向URL必须处于Free IP网段内,否则无法实现重定向。
(1) 进入系统视图。
system-view
(2) 开启EAD快速部署辅助功能。
dot1x ead-assistant enable
缺省情况下,EAD快速部署辅助功能处于关闭状态。
(3) 配置Free IP。
dot1x ead-assistant free-ip ip-address { mask-length | mask-address }
可通过重复执行此命令来配置多个Free IP。
(4) (可选)配置用户HTTP或HTTPS访问的重定向URL。
dot1x ead-assistant url url-string
缺省情况下,未配置802.1X用户HTTP或HTTPS访问的重定向URL。
若需要对用户的HTTPS访问进行重定向,需要在设备上配置对HTTPS报文进行重定向的内部侦听端口号,具体配置请参考“三层技术-IP业务配置指导”中的“HTTP重定向”。
(5) (可选)配置EAD规则老化时间。
dot1x timer ead-timeout ead-timeout-value
缺省情况下,EAD规则老化时间为30分钟。
在接入用户数量较多时,可以适当缩短EAD规则老化时间,以提高ACL的使用效率。
如果设备发送给RADIUS服务器的认证报文长度超过服务器能处理的最大长度,会因服务器无法处理报文而导致802.1X认证失败。
当设备采用EAP中继方式对802.1X客户端进行认证,且认证方法为EAP-TLS时,会将EAP-TLS报文封装在EAP-Message中,并将EAP-Message作为RADIUS属性携带在RADIUS报文中发给RADIUS服务器。此种情况下,为避免RADIUS报文长度超过服务器所能处理的最大长度,可以通过配置本功能将EAP-TLS报文进行分片,并通过设置EAP-TLS分片报文的最大长度来改变单个RADIUS报文的长度。
配置本功能后,当设备发起认证时,会将携带EAP-TLS分片报文的RADIUS报文依次发送给服务器,服务器收到所有RADIUS报文后,会将这些报文中的认证信息拼接成一个完整的认证信息。
例如,当RADIUS服务器能处理的报文最大长度为1200字节的情况下,如果设备的RADIUS报文其它属性以及固定字段总长度为800字节,则需要设置EAP-TLS分片报文的最大长度为小于400字节,这样能保证RADIUS报文总长度小于1200字节。
只有配置802.1X系统的认证方法为EAP中继时,通过本功能配置的EAP-TLS分片报文最大长度才有效。关于802.1X系统的认证方法的详细配置请参见“2.5 配置802.1X系统的认证方法”。
(1) 进入系统视图。
system-view
(2) 配置设备向认证服务器发送的EAP-TLS分片报文最大长度。
dot1x eap-tls-fragment to-server eap-tls-max-length
缺省情况下,未配置EAP-TLS分片报文最大长度,即设备不对EAP-TLS报文进行分片。
强制用户下线后,设备会删除对应的用户信息,用户再次上线时,需要重新进行802.1X认证。
在用户视图下执行如下命令。
reset dot1x access-user [ interface interface-type interface-number | mac mac-address | username username | vlan vlan-id | vsi vsi-name ]
802.1X接入用户日志信息是为了满足网络管理员维护的需要,对802.1X认证用户的接入信息进行记录。设备生成的802.1X接入用户日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。关于信息中心的详细描述请参见“网络管理和监控配置指导”中的“信息中心”。
为了防止设备输出过多的802.1X接入用户日志信息,一般情况下建议关闭此功能。
(1) 进入系统视图。
system-view
(2) 开启802.1X接入用户日志信息功能。
dot1x access-user log enable [ abnormal-logoff | failed-login | normal-logoff | successful-login ] *
缺省情况下,802.1X接入用户日志信息功能处于关闭状态。
配置本命令时,如果未指定任何参数,将同时开启所有参数对应的日志功能。
在完成上述配置后,在任意视图下执行display命令可以显示配置后802.1X的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除802.1X的相关信息。
表2-1 802.1X显示和维护
操作 |
命令 |
显示802.1X的会话连接信息、相关统计信息或配置信息 |
display dot1x [ sessions | statistics ] [ interface interface-type interface-number ] |
显示当前802.1X在线用户的详细信息 |
display dot1x connection [ open ] [ interface interface-type interface-number | slot slot-number | user-mac mac-address | user-name name-string ] |
显示指定类型的VLAN或VSI中的802.1X用户的MAC地址信息 |
display dot1x mac-address { auth-fail-vlan | auth-fail-vsi | critical-vlan | critical-vsi | guest-vlan | guest-vsi } [ interface interface-type interface-number ] |
清除Guest VLAN内802.1X用户 |
reset dot1x guest-vlan interface interface-type interface-number [ mac-address mac-address ] |
清除Guest VSI内802.1X用户 |
reset dot1x guest-vsi interface interface-type interface-number [ mac-address mac-address ] |
清除802.1X的统计信息 |
reset dot1x statistics [ interface interface-type interface-number ] |
用户通过Device的端口Ten-GigabitEthernet1/0/1接入网络,设备对该端口接入的用户进行802.1X认证以控制其访问Internet,具体要求如下:
· 由两台RADIUS服务器组成的服务器组与Device相连,其IP地址分别为10.1.1.1/24和10.1.1.2/24,使用前者作为主认证/计费服务器,使用后者作为备份认证/计费服务器。
· 端口Ten-GigabitEthernet1/0/1下的所有接入用户均需要单独认证,当某个用户下线时,也只有该用户无法使用网络。
· 认证时,首先进行RADIUS认证,如果RADIUS服务器没有响应则进行本地认证。
· 所有接入用户都属于同一个ISP域bbb。
· Device与RADIUS认证服务器交互报文时的共享密钥为name、与RADIUS计费服务器交互报文时的共享密钥为money。
图2-1 802.1X认证组网图
下述配置步骤中包含了若干AAA/RADIUS协议的配置命令,关于这些命令的详细介绍请参考“安全命令参考”中的“AAA”。
(1) 配置RADIUS服务器,添加用户帐户,保证用户的认证/授权/计费功能正常运行(略)
(2) 配置各接口的IP地址(略)
(3) 配置本地用户
# 添加网络接入类本地用户,用户名为localuser,密码为明文输入的localpass。(此处添加的本地用户的用户名和密码需要与服务器端配置的用户名和密码保持一致,本例中的localuser仅为示例,请根据实际情况配置)
<Device> system-view
[Device] local-user localuser class network
[Device-luser-network-localuser] password simple localpass
# 配置本地用户的服务类型为lan-access。
[Device-luser-network-localuser] service-type lan-access
[Device-luser-network-localuser] quit
(4) 配置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 simple name
[Device-radius-radius1] key accounting simple money
# 配置发送给RADIUS服务器的用户名不携带域名。
[Device-radius-radius1] user-name-format without-domain
[Device-radius-radius1] quit
发送给服务器的用户名是否携带域名与服务器端是否接受携带域名的用户名以及服务器端的配置有关:
· 若服务器端不接受携带域名的用户名,或者服务器上配置的用户认证所使用的服务不携带域名后缀,则Device上指定不携带用户名(without-domain);
· 若服务器端可接受携带域名的用户名,且服务器上配置的用户认证所使用的服务携带域名后缀,则Device上指定携带用户名(with-domain)。
(5) 配置ISP域
# 创建域bbb并进入其视图。
[Device] domain bbb
# 配置802.1X用户使用RADIUS方案radius1进行认证、授权、计费,并采用local作为备选方法。
[Device-isp-bbb] authentication lan-access radius-scheme radius1 local
[Device-isp-bbb] authorization lan-access radius-scheme radius1 local
[Device-isp-bbb] accounting lan-access radius-scheme radius1 local
[Device-isp-bbb] quit
# 开启端口Ten-GigabitEthernet1/0/1的802.1X。
[Device] interface ten-gigabitethernet 1/0/1
[Device-Ten-GigabitEthernet1/0/1] dot1x
# 配置端口的802.1X接入控制方式为MAC-based(该配置可选,因为端口的接入控制在缺省情况下就是基于MAC地址的)。
[Device-Ten-GigabitEthernet1/0/1] dot1x port-method macbased
# 指定端口上接入的802.1X用户使用强制认证域bbb。
[Device-Ten-GigabitEthernet1/0/1] dot1x mandatory-domain bbb
[Device-Ten-GigabitEthernet1/0/1] quit
# 开启全局802.1X。
[Device] dot1x
(7) 配置802.1X客户端(略)
若使用H3C iNode 802.1X客户端,为保证备选的本地认证可成功进行,请确认802.1X连接属性中的“上传客户端版本号”选项未被选中。
使用命令display dot1x interface可以查看端口Ten-GigabitEthernet1/0/1上的802.1X的配置情况。当802.1X用户输入正确的用户名和密码成功上线后,可使用命令display dot1x connection查看到上线用户的连接情况。
如图2-2所示,一台主机通过802.1X认证接入网络,认证服务器为RADIUS服务器。Host接入Device的端口Ten-GigabitEthernet1/0/2在VLAN 1内;认证服务器在VLAN 2内;Update Server是用于客户端软件下载和升级的服务器,在VLAN 10内;Device连接Internet网络的端口Ten-GigabitEthernet1/0/3在VLAN 5内。现有如下组网需求:
· 在端口上配置完Guest VLAN,则立即将该端口Ten-GigabitEthernet1/0/2加入Guest VLAN(VLAN 10)中,此时Host和Update Server都在VLAN 10内,Host可以访问Update Server并下载802.1X客户端。
· 配置QoS策略,在VLAN 10的出方向上过滤掉目的IP为Internet(5.1.1.1)的报文,以防止加入Guest VLAN的客户端未通过认证私自访问Internet。
· 用户认证成功上线后,认证服务器下发VLAN 5,此时Host和连接Internet网络的端口Ten-GigabitEthernet1/0/3都在VLAN 5内,Host可以访问Internet。
图2-2 Guest VLAN及VLAN下发组网图
下述配置步骤中包含了若干AAA/RADIUS协议的配置命令,关于这些命令的详细介绍请参考“安全命令参考”中的“AAA”。
(1) 配置RADIUS服务器,添加用户帐户,指定要授权下发的VLAN(本例中为VLAN 5),并保证用户的认证/授权/计费功能正常运行(略)
(2) 创建VLAN并将端口加入对应VLAN(端口GigabitEthernet1/0/2缺省在VLAN 1内)
<Device> system-view
[Device] vlan 10
[Device-vlan10] port ten-gigabitethernet 1/0/1
[Device-vlan10] quit
[Device] vlan 2
[Device-vlan2] port ten-gigabitethernet 1/0/4
[Device-vlan2] quit
[Device] vlan 5
[Device-vlan5] port ten-gigabitethernet 1/0/3
[Device-vlan5] quit
(3) 配置QoS策略
# 定义高级ACL 3000,过滤目的IP地址为5.1.1.1的报文。
[Device] acl advanced 3000
[Device-acl-ipv4-adv-3000] rule permit ip destination 5.1.1.1 0.0.0.255
[Device-acl-ipv4-adv-3000] quit
# 定义类classifier_1,匹配高级ACL 3000。
[Device] traffic classifier classifier_1
[Device-classifier-classifier_1] if-match acl 3000
[Device-classifier-classifier_1] quit
# 定义流行为behavior_1,动作为流量过滤(deny),对数据包进行丢弃。
[Device] traffic behavior behavior_1
[Device-behavior-behavior_1] filter deny
[Device-behavior-behavior_1] quit
# 定义策略policy_1,为类classifier_1指定流行为behavior_1。
[Device] qos policy policy_1
[Device-qospolicy-policy_1] classifier classifier_1 behavior behavior_1
[Device-qospolicy-policy_1] quit
# 在VLAN 10的出方向应用策略policy_1。
[Device] qos vlan-policy policy_1 vlan 10 outbound
(4) 配置RADIUS方案
# 创建RADIUS方案2000并进入其视图。
[Device] radius scheme 2000
# 配置主认证/计费RADIUS服务器及其共享密钥。
[Device-radius-2000] primary authentication 10.11.1.1 1812
[Device-radius-2000] primary accounting 10.11.1.1 1813
[Device-radius-2000] key authentication simple abc
[Device-radius-2000] key accounting simple abc
# 配置发送给RADIUS服务器的用户名不携带域名。
[Device-radius-2000] user-name-format without-domain
[Device-radius-2000] quit
(5) 配置ISP域
# 创建域bbb并进入其视图。
[Device] domain 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-bbb] quit
(6) 配置802.1X
# 开启端口Ten-GigabitEthernet1/0/2的802.1X。
[Device] interface ten-gigabitethernet 1/0/2
[Device-Ten-GigabitEthernet1/0/2] dot1x
# 配置端口的802.1X接入控制的方式为Port-based。
[Device-Ten-GigabitEthernet1/0/2] dot1x port-method portbased
# 配置端口的802.1X授权状态为auto。(此配置可选,端口的授权状态缺省为auto)
[Device-Ten-GigabitEthernet1/0/2] dot1x port-control auto
# 配置端口的 802.1X Guest VLAN为VLAN10。
[Device-Ten-GigabitEthernet1/0/2] dot1x guest-vlan 10
[Device-Ten-GigabitEthernet1/0/2] quit
# 开启全局802.1X。
[Device] dot1x
(7) 配置802.1X客户端,并保证接入端口加入Guest VLAN或授权VLAN之后,802.1X客户端能够及时更新IP地址,以实现与相应网络资源的互通(略)
可以通过命令display dot1x interface查看端口Ten-GigabitEthernet1/0/2上Guest VLAN的配置情况。
在端口上配置完Guest VLAN,则该端口会被立即加入其所属的Guest VLAN,通过命令display vlan 10可以查看到端口Ten-GigabitEthernet1/0/2加入了配置的Guest VLAN(VLAN 10)。
在用户认证成功之后,通过命令display interface可以看到用户接入的端口Ten-GigabitEthernet1/0/2加入了认证服务器下发的VLAN 5中。
用户通过Device的端口Ten-GigabitEthernet1/0/1接入网络,Device对该端口接入的用户进行802.1X认证以控制其访问Internet,具体要求如下:
· 使用RADIUS服务器10.1.1.1/24作为认证/授权服务器,RADIUS服务器10.1.1.2/24作为计费服务器;
· 通过认证服务器下发ACL,禁止上线的802.1X用户在工作日的工作时间(8:00~18:00)访问IP地址为10.0.0.1/24的FTP服务器。
图2-3 802.1X支持ACL下发典型组网图
下述配置步骤中包含了若干AAA/RADIUS协议的配置命令,关于这些命令的详细介绍请参考“安全命令参考”中的“AAA”。
(1) 配置RADIUS服务器,添加用户帐户,指定要授权下发的ACL(本例中为ACL 3000),并保证用户的认证/授权/计费功能正常运行(略)
(2) 配置各接口的IP地址(略)
(3) 配置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 simple abc
[Device-radius-2000] key accounting simple abc
[Device-radius-2000] user-name-format without-domain
[Device-radius-2000] quit
(4) 配置ISP域的AAA方法
[Device] domain bbb
[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-bbb] quit
(5) 配置名为ftp的时间段,其时间范围为每周工作日的8点到18点
[Device] time-range ftp 8:00 to 18:00 working-day
(6) 配置ACL 3000,拒绝用户在工作日的工作时间内访问FTP服务器10.0.0.1的报文通过
[Device] acl advanced 3000
[Device-acl-ipv4-adv-3000] rule 0 deny ip destination 10.0.0.1 0 time-range ftp
[Device-acl-ipv4-adv-3000] quit
(7) 配置802.1X
# 开启全局802.1X。
[Device] dot1x
# 开启端口Ten-GigabitEthernet1/0/1的802.1X。
[Device] interface ten-gigabitethernet 1/0/1
[Device-Ten-GigabitEthernet1/0/1] dot1x
(8) 配置802.1X客户端,并保证接入端口加入Guest VLAN或授权VLAN之后客户端能够及时更新IP地址,以实现与相应网络资源的互通(略)
当用户认证成功上线后,在工作日的工作时间Ping FTP服务器。
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已对该用户生效。
如图2-4所示,一台主机Host通过802.1X认证接入网络,认证服务器为RADIUS服务器。Host接入Device(作为VTEP设备)的端口Ten-GigabitEthernet1/0/2在VLAN 1内;认证服务器在VLAN 2内;Update Server是用于客户端软件下载和升级的服务器,在VXLAN 10内;Device连接Internet网络的端口在VXLAN 5内。现有如下组网需求:
· 在端口Ten-GigabitEthernet1/0/2上配置Guest VSI后,立即将该端口和VLAN内的流量映射到Guest VSI对应的VXLAN 10中,此时Host可以访问Update Server并下载802.1X客户端。
· 用户认证成功上线后,认证服务器下发VSI名称为vpn5,对应的VXLAN为VXLAN 5,此时Host可以访问Internet。
图2-4 Guest VSI及授权VSI下发组网图
· 下述配置步骤中包含了若干AAA/RADIUS协议的配置命令,关于这些命令的详细介绍请参见“安全命令参考”中的“AAA”。
· 若实际组网中认证/授权服务器采用的是H3C ADCAM服务器,有关802.1X支持下发VSI的相关配置需要在H3C ADCAM服务器端完成,再自动下发到设备上。因此,Device上不需要做认证相关配置。
(1) 配置RADIUS服务器,添加用户帐户,指定要授权下发的VSI(本例中为vpn5),并保证用户的认证/授权/计费功能正常运行(略)
(2) 开启L2VPN功能
<Device> system-view
[Device] l2vpn enable
(3) 创建VSI和对应的VXLAN
[Device] vsi vpn10
[Device-vsi-vpn10] vxlan 10
[Device-vsi-vpn10-vxlan-10] quit
[Device-vsi-vpn10] quit
[Device] vsi vpn5
[Device-vsi-vpn5] vxlan 5
[Device-vsi-vpn5-vxlan-5] quit
[Device-vsi-vpn5] quit
(4) 配置RADIUS方案
# 创建RADIUS方案2000并进入其视图。
[Device] radius scheme 2000
# 配置主认证/计费RADIUS服务器及其共享密钥。
[Device-radius-2000] primary authentication 10.11.1.1 1812
[Device-radius-2000] primary accounting 10.11.1.1 1813
[Device-radius-2000] key authentication simple abc
[Device-radius-2000] key accounting simple abc
# 配置发送给RADIUS服务器的用户名不携带域名。
[Device-radius-2000] user-name-format without-domain
[Device-radius-2000] quit
(5) 配置ISP域
# 创建域bbb并进入其视图。
[Device] domain 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-bbb] quit
(6) 配置802.1X
# 开启端口Ten-GigabitEthernet1/0/2的802.1X。
[Device] interface ten-gigabitethernet 1/0/2
[Device-Ten-GigabitEthernet1/0/2] dot1x
# 配置端口的802.1X接入控制的方式为portbased。
[Device-Ten-GigabitEthernet1/0/2] dot1x port-method portbased
# 配置端口的802.1X授权状态为auto。(此配置可选,端口的授权状态缺省为auto)
[Device-Ten-GigabitEthernet1/0/2] dot1x port-control auto
# 配置端口的 802.1X Guest VSI为vpn10。
[Device-Ten-GigabitEthernet1/0/2] dot1x guest-vsi vpn10
[Device-Ten-GigabitEthernet1/0/2] quit
# 开启全局802.1X。
[Device] dot1x
(7) 配置802.1X客户端,并保证接入端口加入Guest VSI或授权VSI之后,802.1X客户端能够及时更新IP地址,以实现与相应网络资源的互通(略)
在端口上配置完Guest VSI,通过命令display l2vpn forwarding ac verbose可以查看到端口Ten-GigabitEthernet1/0/2加入了名称为vpn10的VSI。当用户认证成功上线后,再次通过该命令可以查看到端口Ten-GigabitEthernet1/0/2加入了名称为vpn5的VSI。
如图2-5所示,一台主机Host通过802.1X认证接入网络,认证服务器为RADIUS服务器。Host接入Device(作为VTEP设备)的端口Ten-GigabitEthernet1/0/2在VLAN 1内;认证服务器在VLAN 2内;Update Server是用于客户端软件下载和升级的服务器,在VXLAN 10内;Device连接Internet网络的端口在VXLAN 5内。现有如下组网需求:
· 在端口Ten-GigabitEthernet1/0/2上配置Guest VSI后,将该端口和VLAN内特定MAC地址的用户流量映射到Guest VSI对应的VXLAN 10中,此时Host可以访问Update Server并下载802.1X客户端。
· 用户认证成功上线后,认证服务器下发VSI名称为vpn5,对应的VXLAN为VXLAN 5,此时Host可以访问Internet。
图2-5 Guest VSI及授权VSI下发组网图
· 下述配置步骤中包含了若干AAA/RADIUS协议的配置命令,关于这些命令的详细介绍请参见“安全命令参考”中的“AAA”。
· 若实际组网中认证/授权服务器采用的是H3C ADCAM服务器,有关802.1X支持下发VSI的相关配置需要在H3C ADCAM服务器端完成,再自动下发到设备上。因此,Device上不需要做认证相关配置。
(1) 配置RADIUS服务器,添加用户帐户,指定要授权下发的VSI(本例中为vpn5),并保证用户的认证/授权/计费功能正常运行(略)
(2) 开启L2VPN功能
<Device> system-view
[Device] l2vpn enable
(3) 创建VSI和对应的VXLAN
[Device] vsi vpn10
[Device-vsi-vpn10] vxlan 10
[Device-vsi-vpn10-vxlan-10] quit
[Device-vsi-vpn10] quit
[Device] vsi vpn5
[Device-vsi-vpn5] vxlan 5
[Device-vsi-vpn5-vxlan-5] quit
[Device-vsi-vpn5] quit
(4) 配置RADIUS方案
# 创建RADIUS方案2000并进入其视图。
[Device] radius scheme 2000
# 配置主认证/计费RADIUS服务器及其共享密钥。
[Device-radius-2000] primary authentication 10.11.1.1 1812
[Device-radius-2000] primary accounting 10.11.1.1 1813
[Device-radius-2000] key authentication simple abc
[Device-radius-2000] key accounting simple abc
# 配置发送给RADIUS服务器的用户名不携带域名。
[Device-radius-2000] user-name-format without-domain
[Device-radius-2000] quit
(5) 配置ISP域
# 创建域bbb并进入其视图。
[Device] domain 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-bbb] quit
(6) 配置802.1X
# 开启端口Ten-GigabitEthernet1/0/2的802.1X。
[Device] interface ten-gigabitethernet 1/0/2
[Device-Ten-GigabitEthernet1/0/2] dot1x
# 配置端口的802.1X授权状态为auto。(此配置可选,端口的授权状态缺省为auto)
[Device-Ten-GigabitEthernet1/0/2] dot1x port-control auto
# 开启动态创建的以太网服务实例匹配MAC地址功能。
[Device-Ten-GigabitEthernet1/0/2] mac-based ac
# 开启端口上的802.1X的单播触发功能。
[Device-Ten-GigabitEthernet1/0/2] dot1x unicast-trigger
# 配置端口的 802.1X Guest VSI为vpn10。
[Device-Ten-GigabitEthernet1/0/2] dot1x guest-vsi vpn10
[Device-Ten-GigabitEthernet1/0/2] quit
# 开启全局802.1X。
[Device] dot1x
(7) 配置802.1X客户端,并保证接入端口加入Guest VSI或授权VSI之后,802.1X客户端能够及时更新IP地址,以实现与相应网络资源的互通(略)
在端口上配置完Guest VSI,当客户端发送报文到设备时,设备由于端口收到源MAC未知的报文时,会主动向该MAC地址发送单播认证报文来触发认证。未收到客户端回应时,会将端口和用户加入到Guest VSI。通过命令display l2vpn forwarding ac verbose可以查看到端口Ten-GigabitEthernet1/0/2加入了名称为vpn10的VSI。当用户认证成功上线后,再次通过该命令可以查看到端口Ten-GigabitEthernet1/0/2加入了名称为vpn5的VSI。
某公司用户主机通过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-6 802.1X支持EAD快速部署典型配置组网图
(1) 完成各服务器的配置
# 配置DHCP服务器,保证用户可成功获取192.168.1.0/24网段的IP地址(略)。
# 配置Web服务器,保证用户可成功登录预置的Web页面进行802.1X客户端的下载(略)。
# 配置认证服务器,保证用户的认证/授权/计费功能正常运行(略)。
(2) 配置各接口的IP地址(略)
(3) 配置DHCP中继
# 使能DHCP服务。
<Device> system-view
[Device] dhcp enable
# 配置接口Vlan-interface2工作在DHCP中继模式。
[Device] interface vlan-interface 2
[Device-Vlan-interface2] dhcp select relay
# 配置接口Vlan-interface2对应DHCP服务器组1。
[Device-Vlan-interface2] dhcp relay server-address 192.168.2.2
[Device-Vlan-interface2] quit
(4) 配置RADIUS方案和ISP域
# 配置RADIUS方案。
[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 simple abc
[Device-radius-2000] key accounting simple abc
[Device-radius-2000] user-name-format without-domain
[Device-radius-2000] quit
# 配置ISP域的AAA方法。
[Device] domain bbb
[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-bbb] quit
(5) 配置802.1X
# 配置Free IP。
[Device] dot1x ead-assistant free-ip 192.168.2.0 24
# 配置IE访问的重定向URL。
[Device] dot1x ead-assistant url http://192.168.2.3
# 全局使能EAD快速部署功能。
[Device] dot1x ead-assistant enable
# 开启全局802.1X。
[Device] dot1x
# 开启端口Ten-GigabitEthernet1/0/1的802.1X。
[Device] interface ten-gigabitethernet 1/0/1
[Device-Ten-GigabitEthernet1/0/1] dot1x
以上配置完成之后,执行命令display dot1x可以查看802.1X的配置情况。用户主机成功获得DHCP服务器分配的IP地址之后,在Windows XP操作系统的主机上执行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客户端的下载服务。需要注意的是,地址栏内输入的地址应该为非Free IP地址才有效,例如3.3.3.3或者http://3.3.3.3。
某公司用户主机通过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网段。
· 未进行802.1X认证或者802.1X认证失败的用户通过浏览器访问非192.168.2.0/24网段的外部网络时,用户访问的页面均会被Device重定向至管理员预设的Web服务器页面,该Web服务器页面将提示用户进行802.1X客户端的下载。
· 用户成功通过802.1X认证之后,可正常访问网络。
图2-7 802.1X支持EAD快速部署典型配置组网图
(1) 配置Web服务器,保证用户可成功登录预置的Web页面进行802.1X客户端的下载(略)
(2) 配置认证服务器,保证用户的认证/授权/计费功能正常运行(略)
(3) 配置各接口的IP地址(略)
(4) 配置DHCP服务器
# 使能DHCP服务。
<Device> system-view
[Device] dhcp enable
# 配置接口Vlan-interface2工作在DHCP服务器模式。
[Device] interface vlan-interface 2
[Device-Vlan-interface2] dhcp select server
[Device-Vlan-interface2] quit
# 配置DHCP地址池0的属性:地址池动态分配的网段为192.168.1.0/24、网关地址为192.168.1.1。
[Device] dhcp server ip-pool 0
[Device-dhcp-pool-0] network 192.168.1.0 mask 255.255.255.0
[Device-dhcp-pool-0] gateway-list 192.168.1.1
[Device-dhcp-pool-0] quit
(5) 配置RADIUS方案和ISP域
# 配置RADIUS方案。
[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 simple abc
[Device-radius-2000] key accounting simple abc
[Device-radius-2000] user-name-format without-domain
[Device-radius-2000] quit
# 配置ISP域的AAA方法。
[Device] domain bbb
[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-bbb] quit
(6) 配置802.1X
# 配置Free IP。
[Device] dot1x ead-assistant free-ip 192.168.2.0 24
# 配置IE访问的重定向URL。
[Device] dot1x ead-assistant url http://192.168.2.3
# 开启EAD快速部署辅助功能。
[Device] dot1x ead-assistant enable
# 开启全局802.1X。
[Device] dot1x
# 开启端口Ten-GigabitEthernet1/0/1的802.1X。
[Device] interface ten-gigabitethernet 1/0/1
[Device-Ten-GigabitEthernet1/0/1] dot1x
以上配置完成之后,执行命令display dot1x可以查看802.1X的配置情况。用户主机成功获得DHCP服务器分配的IP地址之后,在Windows XP操作系统的主机上执行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客户端的下载服务。需要注意的是,地址栏内输入的地址应该为非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(点分十进制格式)的非Free IP地址才有效。
· 确保设备及服务器上的配置正确且有效。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!