14-802.1X-HABP-MAC地址认证操作
本章节下载 (669.06 KB)
目 录
IEEE802 LAN/WAN委员会为解决无线局域网网络安全问题,提出了802.1x协议。后来,802.1x协议作为局域网端口的一个普通接入控制机制在以太网中被广泛应用,主要解决以太网内认证和安全方面的问题。
802.1x协议是一种基于端口的网络接入控制协议(port based network access control protocol)。“基于端口的网络接入控制”是指在局域网接入设备的端口这一级对所接入的用户设备进行认证和控制。连接在端口上的用户设备如果能通过认证,就可以访问局域网中的资源;如果不能通过认证,则无法访问局域网中的资源—相当于连接被物理断开。
使用802.1x的系统为典型的Client/Server体系结构,包括三个实体,如图1-1所示分别为:Supplicant System(客户端)、Authenticator System(设备端)以及Authentication Server System(认证服务器)。
l 客户端是位于局域网段一端的一个实体,由另一端的设备端对其进行认证。客户端一般为一个用户终端设备,用户通过启动客户端软件发起802.1x认证。客户端必须支持EAPOL(Extensible Authentication Protocol over LANs,局域网上的可扩展认证协议)。
l 设备端是位于局域网段一端的一个实体,对另一端的实体进行认证。设备端通常为支持802.1x协议的网络设备,它为客户端提供接入局域网的端口,该端口可以是物理端口,也可以是逻辑端口。
l 认证服务器是为设备端提供认证服务的实体。认证服务器用于实现对用户进行认证、授权和计费。
三个实体涉及如下三个基本概念:端口PAE、受控端口和受控方向。
端口PAE为802.1x系统中,在一个给定的设备端口上执行算法和协议操作的实体对象。设备端PAE利用认证服务器对需要接入局域网的客户端执行认证,并根据认证结果相应地控制受控端口的授权/非授权状态。客户端PAE负责响应设备端的认证请求,向设备端提交用户的认证信息。客户端PAE也可以主动向设备端发送认证请求和下线请求。
设备端为客户端提供接入局域网的端口,这个端口被划分为两个虚端口:受控端口和非受控端口。
l 非受控端口始终处于双向连通状态,主要用来传递EAPOL协议帧,保证客户端始终能够发出或接收认证报文。
l 受控端口在授权状态下处于连通状态,用于传递业务报文;在非授权状态下禁止从客户端接收任何报文。
l 受控端口和非受控端口是同一端口的两个部分;任何到达该端口的帧,在受控端口与非受控端口上均可见。
在非授权状态下,受控端口可以被设置成单向受控和双向受控。
l 实行双向受控时,禁止帧的发送和接收;
l 实行单向受控时,禁止从客户端接收帧,但允许向客户端发送帧。
& 说明:
目前,H3C S5500-SI系列以太网交换机只支持单向受控。
IEEE 802.1x认证系统利用EAP(Extensible Authentication Protocol,可扩展认证协议),作为在客户端、设备端和认证服务器之间交换认证信息的手段。
l 在客户端PAE与设备端PAE之间,EAP协议报文使用EAPOL封装格式,直接承载于LAN环境中。
l 在设备端PAE与RADIUS服务器之间,EAP协议报文可以使用EAPOR封装格式(EAP over RADIUS),承载于RADIUS协议中;也可以由设备端PAE进行终结,在设备端PAE与RADIUS服务器之间传送包含PAP(Password Authentication Protocol,密码验证协议)或CHAP(Challenge Handshake Authentication Protocal,质询握手验证协议)属性的报文。
l 认证服务器通常为RADIUS服务器,该服务器可以存储有关用户的信息。例如,用户名、密码以及用户所属的VLAN、CAR参数、优先级、用户的访问控制列表等。
l 当用户通过认证后,认证服务器会把用户的相关信息传递给设备端,设备端PAE根据RADIUS服务器的指示(Accept或Reject)决定受控端口的授权/非授权状态。
图1-2 802.1x认证系统的工作机制
EAPOL是802.1x协议定义的一种报文封装格式,主要用于在客户端和设备端之间传送EAP协议报文,以允许EAP协议报文在LAN上传送。格式如图1-3所示。
图1-3 EAPOL数据包格式
PAE Ethernet Type:表示协议类型,为0x888E。
Protocol Version:表示EAPOL帧的发送方所支持的协议版本号。
Type:
l EAP-Packet(值为0x00),认证信息帧,用于承载认证信息;
l EAPOL-Start(值为0x01),认证发起帧;
l EAPOL-Logoff(值为0x02),退出请求帧;
l EAPOL-Key(值为0x03),密钥信息帧;
l EAPOL-Encapsulated-ASF-Alert(值为0x04),用于支持ASF(Alert Standard Forum)的Alerting消息。
Length:表示数据长度,也就是“Packet Body”字段的长度,单位为字节。如果为0,则表示没有后面的数据域。
Packet Body:根据不同的Type有不同的格式。
其中,EAPOL-Start,EAPOL-Logoff和EAPOL-Key仅在客户端和设备端之间存在;在设备端和认证服务器之间,EAP-Packet报文重新封装承载于RADIUS协议上,以便穿越复杂的网络到达认证服务器;EAPOL-Encapsulated-ASF-Alert封装与网管相关信息,例如各种警告信息,由设备端终结。
当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:由Code决定。
Success和Failure类型的包没有Data域,相应的Length域的值为4。Request和Response类型的包的Data域的格式如图1-5所示。
图1-5 Request和Response类型的包的Data域的格式
Type:指出EAP的认证类型。其中,值为1时,代表Identity,用来查询对方的身份;值为4时,代表MD5-Challenge,类似于PPP CHAP协议,包含质询消息。
RADIUS为支持EAP认证增加了两个属性:EAP-Message(EAP消息)和Message-Authenticator(消息认证码)。RADIUS协议的报文格式请参见“AAA-RADIUS-HWTACACS操作手册”中的RADIUS协议简介部分。
这个属性用来封装EAP数据包,如图1-6所示,类型代码为79,String域最长253字节。如果EAP数据包长度大于253字节,可以对其进行分片,依次封装在多个EAP-Message属性中。
图1-6 EAP-Message属性封装
这个属性用于在使用EAP等认证方法的过程中,避免接入请求包被窃听。在含有EAP-Message属性的数据包中,必须同时也包含Message-Authenticator,否则该数据包被认为无效而被丢弃。格式如图1-7所示。
认证过程可以由用户主动发起,也可以由认证系统发起。一方面当认证系统探测到有未经过认证的用户使用网络时,就会主动向客户端发送EAP-Request/Identity报文,发起认证;另一方面客户端可以通过客户端软件向认证系统发送EAPOL-Start报文,发起认证。
802.1x系统支持EAP中继方式和EAP终结方式与RADIUS对接,从而利用远端的RADIUS服务器完成认证。以下关于两种认证方式的过程描述,都以客户端主动发起认证为例。
这种方式是IEEE 802.1x标准规定的,将扩展认证协议(EAP)承载在其他高层协议中,如EAP over RADIUS,以便扩展认证协议报文穿越复杂的网络到达认证服务器。一般来说,EAP中继方式需要RADIUS服务器支持EAP属性:EAP-Message和Message-Authenticator。基本业务流程如图1-8所示。
图1-8 IEEE 802.1x认证系统的EAP中继方式业务流程
认证过程如下:
l 当用户有访问网络需求时打开802.1x客户端程序,输入已经申请、登记过的用户名和密码,发起连接请求(EAPOL-Start报文)。此时,客户端程序将发出请求认证的报文给设备端,开始启动一次认证过程。
l 设备端收到请求认证的数据帧后,将发出一个请求帧(EAP-Request/Identity报文)要求用户的客户端程序将输入的用户名送上来。
l 客户端程序响应设备端发出的请求,将用户名信息通过数据帧(EAP-Response/Identity报文)送给设备端。设备端将客户端送上来的数据帧经过封包处理后(RADIUS Access-Request报文)送给认证服务器进行处理。
l 认证服务器收到设备端发送来的用户名信息后,将该信息与数据库中的用户名表对比,找到该用户名对应的密码信息,用随机生成的一个加密字对它进行加密处理,同时也将此加密字通过RADIUS Access-Challenge报文发送给设备端,由设备端传给客户端程序。
l 客户端程序收到由设备端传来的加密字(EAP-Request/MD5 Challenge报文)后,用该加密字对密码部分进行加密处理(此种加密算法通常是不可逆的,生成EAP-Response/MD5 Challenge报文),并通过设备端传给认证服务器。
l 认证服务器将收到的已加密的密码信息(RADIUS Access-Requeset报文)和本地经过加密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息(RADIUS Access-Accept报文和EAP-Success报文),设备收到认证通过的消息后触发打开端口的动作,允许用户的业务流通过端口访问网络。
l 认证通过后,设备端会定期监测用户的在线情况,方法是设备端向客户端发送握手报文。缺省情况下,两次握手请求报文都得不到客户端应答,设备端就会让用户下线,防止用户因为异常原因下线而设备无法感知。
l 客户端也可以发送EAPOL-Logoff报文给设备端,主动终止已认证状态,设备端把端口状态从授权状态改变成未授权状态。
这种方式将EAP报文在设备端终结并映射到RADIUS报文中,利用标准RADIUS协议完成认证、授权和计费。基本业务流程如图1-9所示。
图1-9 IEEE 802.1x认证系统的EAP终结方式业务流程
EAP终结方式与EAP中继方式的认证流程相比,用来对用户密码信息进行加密处理的随机加密字由设备端生成,之后设备端会把用户名、随机加密字和客户端加密后的密码信息一起送给认证服务器,进行相关的认证处理。
802.1x认证过程中会启动多个定时器以控制接入用户、设备以及RADIUS服务器之间进行合理、有序的交互。802.1x的定时器主要有以下几种:
l 用户名请求超时定时器(tx-period):当设备端向客户端发送EAP-Request/Identity请求报文后,设备端启动该定时器,若在该定时器设置的时长内,设备端没有收到客户端的响应,则设备端将重发认证请求报文。
l 客户端认证超时定时器(supp-timeout):当设备端向客户端发送了EAP-Request/MD5 Challenge请求报文后,设备端启动此定时器,若在该定时器设置的时长内,设备端没有收到客户端的响应,设备端将重发该报文。
l RADIUS服务器超时定时器(server-timeout):当设备端向认证服务器发送了RADIUS Access-Request请求报文后,设备端启动server-timeout定时器,若在该定时器设置的时长内,设备端没有收到认证服务器的响应,设备端将重发认证请求报文。
l 握手定时器(handshake-period):此定时器是在用户认证成功后启动的,设备端以此间隔为周期发送握手请求报文,以定期检测用户的在线情况。如果配置发送次数为N,则当设备端连续N次没有收到客户端的响应报文,就认为用户已经下线。
l 静默定时器(quiet-period):对用户认证失败以后,设备端需要静默一段时间(该时间由静默定时器设置),在静默期间,设备端不处理该用户的认证功能。
在802.1x的EAP中继方式和EAP终结方式的实现中,不仅支持协议所规定的端口接入认证方式,还对其进行了扩展、优化:
l 支持一个物理端口下挂接多个用户的应用场合;
l 接入控制方式(即对用户的认证方式)可以采用macbased和portbased两种方式。当采用macbased方式时,该端口下的所有接入用户均需要单独认证,当某个用户下线时,也只有该用户无法使用网络。当采用portbased方式时,只要该端口下的第一个用户认证成功后,其他接入用户无须认证就可使用网络资源,但是当第一个用户下线后,其他用户也会被拒绝使用网络。这样可极大地提高系统的安全性和可管理性。
802.1x用户在服务器上通过认证时,服务器会把授权信息传送给设备端。如果授权信息中含有VLAN授权信息,设备就把用户认证上线的端口加到授权的VLAN中。授权下发的VLAN并不改变端口的配置,也不影响端口的配置。但是,授权下发的VLAN的优先级高于用户配置的VLAN,即通过认证后起作用的VLAN是授权下发的VLAN,用户配置的VLAN在用户下线后生效。
配置CAMS或者Windows 2000服务器进行VLAN下发请参见CAMS或者Windows2000 Server的配置指南。
& 说明:
目前S5500-SI系列以太网交换机动态下发VLAN功能只针对链路类型为ACCESS的端口。
如果用户因为没有专用的认证客户端或者客户端版本过低等原因,导致无法认证成功,用户会被加入GuestVlan。GuestVlan是一个默认的、不经认证也可以访问的VLAN。在该VLAN内,用户可以访问例如客户端下载以及升级等资源。当用户利用这些资源,安装或者升级了认证客户端后,又可以进行正常的认证过程,从而访问网络资源。
开启802.1x特性、正确配置GuestVlan后,当设备从某一端口发送触发认证报文(EAP-Request/Identity)超过设定的最大次数而没有收到任何回应报文后,该端口会被加入到GuestVlan内。
此时用户发起认证,如果认证失败,该端口将会仍然处在GuestVlan内;如果认证成功,分为以下两种情况:
l 认证服务器下发一个VLAN,这时端口离开GuestVlan,加入下发的VLAN中。用户下线后,端口会回到配置的VLAN中(加入GuestVlan之前所在的VLAN,即“初始VLAN”)。
l 认证服务器不下发VLAN,这时端口离开GuestVlan,加入配置的VLAN中。用户下线后,端口仍在配置的VLAN中。
802.1x本身的各项配置除了“全局及端口下开启802.1x特性”任务外,其余配置则是可选的,用户可以根据各自的具体需求决定是否进行这些配置。
802.1x提供了一个用户身份认证的实现方案,但是仅仅依靠802.1x是不足以实现该方案的。接入设备的管理者选择使用RADIUS或本地认证方法,以配合802.1x完成用户的身份认证。
l 如果是通过远端的RADIUS服务器进行认证,则需要在RADIUS服务器上配置相应的用户名和密码,然后在设备端进行RADIUS Client的相关设置。
l 如果是本地认证,则需要在设备上手动添加认证的用户名和密码记录,这样用户使用和设备中记录相同的用户名和密码通过802.1x客户端软件上网时,就可以通过认证。配置本地认证时,用户使用的服务类型必须设置为lan-access。
具体配置细节,请参见“AAA-RADIUS-HWTACACS操作手册”中的配置部分。
表1-1 配置802.1x
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启全局的802.1x特性 |
dot1x |
必选 缺省情况下,全局的802.1x特性为关闭状态 |
开启端口的802.1x特性 |
dot1x interface interface-list |
必选 缺省情况下,端口的802.1x特性为关闭状态 |
或者在以太网接口视图下 interface interface-type interface-number dot1x quit |
||
设置端口接入控制的模式 |
dot1x port-control { authorized-force | auto | unauthorized-force } [ interface interface-list ] |
可选 缺省情况下,802.1x在端口上进行接入控制的模式为auto |
设置端口接入控制方式 |
dot1x port-method { macbased | portbased } [ interface interface-list ] |
可选 缺省情况下,802.1x在端口上进行接入控制方式为macbased |
设置端口同时接入用户数量的最大值 |
dot1x max-user user-number [ interface interface-list ] |
可选 |
设置802.1x用户的认证方法 |
dot1x authentication-method { chap | pap | eap } |
可选 缺省情况下,设备对802.1x用户的认证方法为CHAP认证 |
设置设备向接入用户发送认证请求报文的最大次数 |
dot1x retry max-retry-value |
可选 缺省情况下,max-retry-value为2,即设备最多可向接入用户发送2次认证请求报文 |
配置定时器参数 |
dot1x timer { handshake-period handshake-period-value | quiet-period quiet-period-value | tx-period tx-period-value | supp-timeout supp-timeout-value | server-timeout server-timeout-value } |
可选 缺省情况下, handshake-period-value为15秒,quiet-period-value为60秒tx-period-value为30秒,supp-timeout-value为30秒,server-timeout-value为100秒 |
打开quiet-period定时器 |
dot1x quiet-period |
可选 缺省情况下,关闭quiet-period定时器功能 |
进入以太网接口视图 |
interface interface-type interface-number |
- |
开启在线用户握手功能 |
dot1x handshake |
可选 缺省情况下,开启在线用户握手功能 |
注意:
l 在802.1x的配置任务中,开启端口的802.1x特性、设置端口接入控制的模式、设置端口接入控制方式、设置端口接入用户数量的最大值,可在系统视图或者端口视图下进行配置。
l 在系统视图下,当没有指定任何确定的端口时,是对所有端口进行相关配置。在以太网接口视图下使用配置命令时,不能输入interface-list参数,仅对当前端口进行配置。
l 必须同时开启全局和端口的802.1x特性后,802.1x的配置才能在端口上生效。
l 如果端口启动了802.1x,则不能配置该端口的最大MAC地址学习个数(通过命令mac-address max-mac-count配置),反之,如果端口配置了最大MAC地址学习个数,则禁止在该端口上启动802.1x。
l 802.1x在运行时会启动很多定时器以控制客户端、设备端以及认证服务器之间进行合理、有序的交互。一般情况下,用户无需使用dot1x timer命令改变部分定时器值;除非在一些特殊或恶劣的网络环境下,可以使用该命令调节交互进程。
l 对于802.1x用户,如果采用EAP认证方式,则设备会把客户端输入的内容直接封装后发给服务器,这种情况下user-name-format命令的设置对其无效。
l 如果客户端配置了携带版本号或者输入的用户名带有空格,则无法通过用户名检索和切断用户的连接,但是通过其他方式(如IP地址、连接索引号等)仍然可以检索和切断用户的连接。
l 如果端口启动了802.1x,则不能配置该端口加入汇聚组。反之,如果该端口已经加入到某个汇聚组中,则禁止在该端口上启动802.1x。
l 802.1x不能阻止集群握手报文。
l 目前S5500-SI 系列以太网交换机的10G端口不支持802.1x配置。
l 开启802.1x特性。
l 配置端口上进行接入控制的方式为portbased。
l 配置端口上进行接入控制的模式为auto。
l 配置端口的链路类型为access。
l 已经创建需要配置为GuestVlan的VLAN。
表1-2 配置GuestVlan
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置指定端口的GuestVlan |
dot1x guest-vlan vlan-id [ interface interface-list ] |
必选 缺省情况下,端口没有配置GuestVlan |
或者在以太网接口视图下 interface interface-type interface-number dot1x guest-vlan vlan-id |
在完成上述配置后,在任意视图下执行display命令可以显示配置后802.1x的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除802.1x的统计信息。
表1-3 802.1x配置的显示和维护
操作 |
命令 |
显示802.1x的会话连接信息、相关统计信息或配置信息 |
display dot1x [ sessions | statistics ] [ interface interface-list ] |
清除802.1x的统计信息 |
reset dot1x statistics [ interface interface-list ] |
l 如图1-10所示,某用户的工作站与以太网交换机的端口GigabitEthernet1/0/1相连接。
l 交换机的管理者希望在各端口上对接入用户进行认证,以控制其访问Internet;接入控制方式要求是macbased。
l 所有AAA接入用户都属于一个缺省的域:example.com,该域最多可容纳30个用户;认证时,先进行RADIUS认证,如果RADIUS服务器没有响应再转而进行本地认证;计费时,如果RADIUS计费失败则切断用户连接使其下线。
l 由两台RADIUS服务器组成的服务器组与交换机相连,其IP地址分别为10.11.1.1和10.11.1.2,要求使用前者作为主认证/备份计费服务器,使用后者作为备份认证/主计费服务器。
l 设置系统与认证RADIUS服务器交互报文时的共享密钥为name、与计费RADIUS服务器交互报文时的共享密钥为money。
l 设置系统在向RADIUS服务器发送报文后5秒种内如果没有得到响应就向其重新发送报文,发送报文的次数总共为5次,设置系统每15分钟就向RADIUS服务器发送一次实时计费报文。
l 设置系统从用户名中去除用户域名后再将之传给RADIUS服务器。
l 本地802.1x接入用户的用户名为localuser,密码为localpass,使用明文输入;闲置切断功能处于打开状态,正常连接时用户空闲时间超过20分钟,则切断其连接。
图1-10 启动802.1x和RADIUS对接入用户进行AAA操作
& 说明:
下述各配置步骤包含了大部分AAA/RADIUS协议配置命令,对这些命令的介绍,请参见“AAA-RADIUS-HWTACACS操作手册”中的配置部分。此外,客户端和RADIUS服务器上的配置略。
# 添加本地接入用户,启动闲置切断功能并设置相关参数。
[Sysname] local-user localuser
[Sysname-luser-localuser] service-type lan-access
[Sysname-luser-localuser] password simple localpass
[Sysname-luser-localuser] attribute idle-cut 20
# 创建RADIUS方案radius1并进入其视图。
[Sysname] radius scheme radius1
# 设置主认证/计费RADIUS服务器的IP地址。
[Sysname-radius-radius1] primary authentication 10.11.1.1
[Sysname-radius-radius1] primary accounting 10.11.1.2
# 设置备份认证/计费RADIUS服务器的IP地址。
[Sysname-radius-radius1] secondary authentication 10.11.1.2
[Sysname-radius-radius1] secondary accounting 10.11.1.1
# 设置系统与认证RADIUS服务器交互报文时的共享密钥。
[Sysname-radius-radius1] key authentication name
# 设置系统与计费RADIUS服务器交互报文时的共享密钥。
[Sysname-radius-radius1] key accounting money
# 设置系统向RADIUS服务器重发报文的时间间隔与次数。
[Sysname-radius-radius1] timer response-timeout 5
[Sysname-radius-radius1] retry 5
# 设置系统向RADIUS服务器发送实时计费报文的时间间隔。
[Sysname-radius-radius1] timer realtime-accounting 15
# 指示系统从用户名中去除用户域名后再将之传给RADIUS服务器。
[Sysname-radius-radius1] user-name-format without-domain
[Sysname-radius-radius1] quit
# 创建缺省用户域example.com并进入其视图。
[Sysname] domain example.com
[Sysname-isp-example.com] quit
[Sysname] domain default enable example.com
[Sysname] domain example.com
# 指定radius1为该域用户的RADIUS方案,并采用local作为备选方案。
[Sysname-isp-example.com] authentication default radius-scheme radius1 local
[Sysname-isp-example.com] authorization default radius-scheme radius1 local
[Sysname-isp-example.com] accounting default radius-scheme radius1 local
# 设置该域最多可容纳30个用户。
[Sysname-isp-example.com] access-limit enable 30
# 启动闲置切断功能并设置相关参数。
[Sysname-isp-example.com] idle-cut enable 20
[Sysname-isp-example.com] quit
# 开启全局802.1x特性。
<Sysname> system-view
[Sysname] dot1x
# 开启指定端口GigabitEthernet1/0/1的802.1x特性。
[Sysname] dot1x interface GigabitEthernet 1/0/1
# 设置接入控制方式(该命令可以不配置,因为端口的接入控制在缺省情况下就是macbased)。
[Sysname] dot1x port-method macbased interface GigabitEthernet 1/0/1
如图1-11所示,一台PC通过802.1x认证接入网络,认证服务器为Authentication Server。Supplicant接入交换机的端口GigabitEthernet1/0/3在VLAN 1内;Authentication Server在VLAN 2内;Updata Server是用于客户端下载和升级的服务器,在VLAN 10内;交换机连接Internet网络的端口GigabitEthernet1/0/8在VLAN 5 内。
如图1-12所示,在GigabitEthernet1/0/3上开启802.1x特性并使能GuestVlan 10,当设备从端口发送触发认证报文(EAP-Request/Identity)超过设定的最大次数而没有收到任何回应报文后,GigabitEthernet1/0/3被加入GuestVlan 10中,此时Supplicant和Update Server都在VLAN 10内,Supplicant可以访问Update Server并下载1x客户端。
如图1-13所示,当用户认证成功上线,Authentication Server下发VLAN 5。此时Supplicant和GigabitEthernet1/0/8都在VLAN 5内,Supplicant可以访问Internet。
# 配置RADIUS方案2000。
[Sysname] radius scheme 2000
[Sysname-radius-2000] primary authentication 10.11.1.1 1812
[Sysname-radius-2000] primary accounting 10.11.1.1 1813
[Sysname-radius-2000] key authentication abc
[Sysname-radius-2000] key accounting abc
[Sysname-radius-2000] user-name-format without-domain
[Sysname-radius-2000] quit
# 配置domain,该domain使用刚才配置好的RADIUS方案2000。
[Sysname] domaim system
[Sysname-isp-system] authentication default radius-scheme 2000
[Sysname-isp-system] authorization default radius-scheme 2000
[Sysname-isp-system] accounting default radius-scheme 2000
# 开启全局802.1x特性。
<Sysname> system-view
[Sysname] dot1x
# 开启指定端口的802.1x特性。
[Sysname] interface GigabitEthernet 1/0/3
[Sysname-GigabitEthernet1/0/3] dot1x
# 配置端口上进行接入控制的方式为portbased。
[Sysname-GigabitEthernet1/0/3] dot1x port-method portbased
# 配置端口上进行接入控制的模式为auto。
[Sysname-GigabitEthernet1/0/3] dot1x port-control auto
# 配置端口的链路类型为access。
[Sysname-GigabitEthernet1/0/3] port link-type access
[Sysname-GigabitEthernet1/0/3] quit
# 创建VLAN10。
[Sysname] vlan 10
[Sysname-vlan10] quit
# 配置指定端口的GuestVlan。
[Sysname] dot1x guest-vlan 10 interface GigabitEthernet1/0/3
通过命令display current-configuration或者display interface GigabitEthernet1/0/3可以查看GuestVlan配置情况。
在没有用户上线、用户认证失败或用户成功下线等情况(交换机发送触发认证报文(EAP-Request/Identity)超过设定的最大次数)下,GigabitEthernet 1/0/3会加入Guest VLAN,即加入VLAN10。
通过命令display vlan 10可以查看端口配置的GuestVlan是否生效。
如果交换机上配置了802.1x认证或MAC地址认证特性,802.1x认证或MAC地址认证会对启动了802.1x认证或MAC地址认证的端口进行认证,只允许经过认证的端口转发报文。此时如果连接交换机的端口没有通过认证,业务报文将会被802.1x认证或MAC地址认证特性过滤,使用户无法对下挂的交换机进行管理。
HABP(Huawei Authentication Bypass Protocol,华为旁路认证协议)特性可以解决以上问题。交换机上启动了HABP特性之后,HABP报文将会忽略端口上的802.1x认证或MAC地址认证,在交换机之间进行通信。
HABP报文携带下挂交换机的MAC地址等信息,从而使管理设备可以获取下挂交换机的MAC地址,对下挂的交换机进行管理。
HABP包括HABP Server和HABP Client。一般情况下,Server会定期向Client发送HABP请求报文,收集下挂交换机的MAC地址。而Client会对请求报文进行应答,同时向下层交换机转发HABP请求报文。HABP Server一般应该在管理设备上启动,HABP Client应该在下挂的交换机上启动。
& 说明:
集群功能和802.1x认证(或MAC地址认证)功能需要同时启动时,需要启动设备的HABP功能,如果不启动设备的HABP功能,管理设备将不能管理下挂的设备。
启动了HABP Server以后,管理设备就会向连接的交换机发送HABP请求报文。HABP响应报文携带连接的交换机MAC地址等信息,从而使管理设备可以方便地对这些交换机进行管理。发送HABP请求报文的时间间隔也是在管理设备上进行配置的。
表2-1 配置HABP Server
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能设备的HABP功能 |
habp enable |
可选 缺省情况下,设备的HABP功能处于使能状态 |
设置HABP功能的模式为Server模式 |
habp server vlan vlan-id |
必选 缺省情况下,设备的HABP功能工作在Client模式下 |
设置设备发送HABP请求报文的时间间隔 |
habp timer interval-time |
可选 缺省情况下,发送HABP请求报文的时间间隔为20秒 |
表2-2 配置HABP Client
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能设备的HABP功能 |
habp enable |
可选 缺省情况下,设备的HABP功能处于使能状态 |
设置HABP功能的模式为Client模式 |
undo hapb server |
可选 缺省情况下,设备的HABP功能工作在Client模式下 |
在完成上述配置后,在任意视图下执行display命令都可以显示配置后HABP的运行情况。
表2-3 HABP显示和维护
操作 |
命令 |
显示HABP特性的配置信息和状态 |
display habp |
显示HABP的MAC地址表信息 |
display habp table |
显示HABP报文的统计信息 |
display habp traffic |
MAC地址认证是一种基于端口和MAC地址对用户的网络访问权限进行控制的认证方法。它不需要用户安装任何客户端软件,用户名和密码都是用户网络接入设备的MAC地址。交换机在首次检测到用户的MAC地址以后,即启动对该用户的认证。
设备支持远程RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)认证和本地认证。有关远程RADIUS认证和本地认证的详细介绍请参见“AAA-RADIUS-HWTACACS配置”。
l 当交换机作为RADIUS客户端,与RADIUS服务器配合完成MAC地址认证时,交换机将检测到的用户MAC地址作为用户名和密码发送给RADIUS服务器,其余处理过程与802.1x相同。RADIUS服务器完成对该用户的认证后,如果认证通过,用户即可以访问网络。
l 如果是本地认证,则需要在设备上手动添加用户MAC地址作为用户名和密码,以完成对用户的认证。
通过使用MAC地址认证,可以对用户的网络访问权限进行控制。
l 创建并配置ISP域。
l 若采用本地认证方式,需建立本地用户并设置其密码。
l 若采用远程RADIUS认证方式,需要确保交换机与RADIUS服务器之间的路由可达。并需要在RADIUS服务器上配置相应的用户名和密码,然后在设备端进行RADIUS Client的相关设置。
注意:
如果使用本地认证或RADIUS认证,需要注意以下事项:
l 在配置用户的用户名和密码时,用户名和密码必须相同且为用户的MAC地址。
l 在配置用户的用户名和密码时,作为用户名和密码的MAC地址不能带有符号“-”,格式为“HHH”,且所有的字母必须为小写字母;
l 本地用户的服务类型应设置为lan-access。
表3-1 MAC地址认证配置过程
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动全局的MAC地址认证 |
mac-authentication |
必选 缺省情况下,全局的MAC地址认证为关闭状态 |
启动端口的MAC地址认证 |
mac-authentication interface interface-list |
必选 缺省情况下,端口的MAC地址认证为关闭状态 |
或者在以太网端口视图下 interface interface-type interface-number mac-authentication quit |
||
配置MAC地址认证用户所使用的ISP域 |
mac-authentication domain isp-name |
可选 缺省情况下,MAC地址认证用户使用的域为缺省域system |
配置下线检测定时器 |
mac-authentication timer offline-detect offline-detect-value |
可选 设备检查用户是否已经下线的时间间隔 缺省情况下,下线检测定时器为300秒 |
配置静默定时器 |
mac-authentication timer quiet quiet-value |
可选 对用户认证失败以后,设备需要静默一段时间后再重新发起认证 缺省情况下,静默定时器为1分钟 |
配置服务器超时定时器 |
mac-authentication timer server-timeout server-timeout-value |
可选 设备同RADIUS服务器的连接超时时间 缺省情况下,服务器超时定时器取值为100秒 |
注意:
l 各端口的MAC地址认证状态在全局MAC地址认证没有开启之前可以配置,但不起作用;在全局MAC地址认证启动后,各端口的MAC地址认证状态会立即生效。
l MAC地址认证和802.1x不能在同一端口上同时使能。
l 如果端口启动了MAC地址认证,则不能配置该端口的最大MAC地址学习个数(通过命令mac-address max-mac-count配置),反之,如果端口配置了最大MAC地址学习个数,则禁止在该端口上启动MAC地址认证。
l 如果端口启动了MAC地址认证,则不能配置该端口加入汇聚组。反之,如果该端口已经加入到某个汇聚组中,则禁止在该端口上启动MAC地址认证。
在完成上述配置后,在任意视图下执行display命令可以显示配置后MAC地址认证的运行情况,通过查看显示信息验证配置的效果。
表3-2 MAC地址认证的显示和维护
操作 |
命令 |
显示全局或指定端口的MAC地址认证信息 |
display mac-authentication [ interface interface-list ] |
如图3-1所示,某用户的工作站与以太网交换机的端口GigabitEthernet 1/0/1相连接。
l 交换机的管理者希望在各端口上对用户接入进行MAC地址认证,以控制其访问Internet。
l 要求交换机每隔180秒就对用户是否下线进行检测;并且当用户认证失败时,需等待3分钟后才能对用户再次发起认证。
l 所有用户都属于域:example.com,认证时使用本地认证的方式。用户名和密码都为000fe2010101。
图3-1 启动MAC地址认证对接入用户进行本地认证
# 添加本地接入用户。
<Sysname> system-view
[Sysname] local-user 000fe2010101
[Sysname-luser-000fe2010101] password simple 000fe2010101
[Sysname-luser-000fe2010101] service-type lan-access
[Sysname-luser-000fe2010101] quit
# 配置ISP域,使用本地认证方式。
[Sysname] domain example.com
[Sysname-isp-example.com] authentication lan-access local
[Sysname-isp-example.com] quit
# 开启全局MAC地址认证特性。
[Sysname] mac-authentication
# 开启指定端口的MAC地址认证特性。
[Sysname] mac-authentication interface GigabitEthernet 1/0/1
# 配置MAC地址认证用户所使用的ISP域。
[Sysname] mac-authentication domain example.com
# 配置MAC地址认证的定时器。
[Sysname] mac-authentication timer offline-detect 180
[Sysname] mac-authentication timer quiet 3
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!