06-MAC地址认证配置
本章节下载: 06-MAC地址认证配置 (297.60 KB)
目 录
MAC地址认证是一种基于端口和MAC地址对用户的网络访问权限进行控制的认证方法,无需安装客户端软件。设备在启动了MAC地址认证的端口上首次检测到用户的MAC地址以后,启动对该用户的认证操作。认证过程中,不需要用户手动输入用户名或密码。若该用户认证成功,则允许其通过端口访问网络资源,否则该用户的MAC地址就被设置为静默MAC。在静默时间内,来自此MAC地址的用户报文到达时,设备直接做丢弃处理,以防止非法MAC短时间内的重复认证。
MAC地址认证用户使用的帐号格式分为两种:
· MAC地址帐号:设备使用源MAC地址作为用户认证时的用户名和密码,如图1-1所示。
· 固定用户名帐号:所有MAC地址认证用户均使用设备上指定的一个固定用户名和密码替代用户的MAC地址作为身份信息进行认证,如图1-2所示。由于同一个端口下可以有多个用户进行认证,因此这种情况下端口上的所有MAC地址认证用户均使用同一个固定用户名进行认证,服务器端仅需要配置一个用户账户即可满足所有认证用户的认证需求,适用于接入客户端比较可信的网络环境。
图1-1 MAC地址帐号的MAC地址认证示意图
图1-2 固定用户名帐号的MAC地址认证示意图
目前设备支持两种方式的MAC地址认证,通过RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器进行远程认证和在接入设备上进行本地认证。有关远程RADIUS认证和本地认证的详细介绍请参见“用户接入与认证配置指导”中的“AAA”。
当选用RADIUS服务器认证方式进行MAC地址认证时,设备作为RADIUS客户端,与RADIUS服务器配合完成MAC地址认证操作:
· 若采用MAC地址帐号,则设备将检测到的用户MAC地址作为用户名和密码发送给RADIUS服务器进行验证。
· 若采用固定用户名帐号,则设备将一个已经在本地指定的MAC地址认证用户使用的固定用户名和对应的密码作为待认证用户的用户名和密码,发送给RADIUS服务器进行验证。
RADIUS服务器完成对该用户的认证后,认证通过的用户可以访问网络。
设备与服务器之间采用PAP(Password Authentication Protocol,密码认证协议)或CHAP(Challenge Handshake Authentication Protocol,质询握手认证协议)方法进行认证。
当选用本地认证方式进行MAC地址认证时,直接在设备上完成对用户的认证。需要在设备上配置本地用户名和密码:
· 若采用MAC地址帐号,则设备将检测到的用户MAC地址作为待认证用户的用户名和密码与配置的本地用户名和密码进行匹配。
· 若采用固定用户名帐号,则设备将一个已经在本地指定的MAC地址认证用户使用的固定用户名和对应的密码作为待认证用户的用户名和密码与配置的本地用户名和密码进行匹配。
用户名和密码匹配成功后,用户可以访问网络。
为了将受限的网络资源与未认证用户隔离,通常将受限的网络资源和未认证的用户划分到不同的VLAN。MAC地址认证支持远程AAA服务器/接入设备下发授权VLAN,即当用户通过MAC地址认证后,远程AAA服务器/接入设备将指定的受限网络资源所在的VLAN作为授权VLAN下发到用户进行认证的端口。该端口被加入到授权VLAN中后,用户便可以访问这些受限的网络资源。
该方式下,需要在AAA服务器上指定下发给用户的授权VLAN信息,下发的授权VLAN信息可以有多种形式,包括数字型VLAN和字符型VLAN,字符型VLAN又可分为VLAN名称、VLAN组名、携带后缀的VLAN ID(后缀只能为字母u或t,用于标识是否携带Tag)。
设备收到服务器的授权VLAN信息后,首先对其进行解析,只要解析成功,即以对应的方法下发授权VLAN;如果解析不成功,则用户授权失败。
· 若认证服务器下发的授权VLAN信息为一个VLAN ID或一个VLAN名称,则仅当对应的VLAN不为动态学习到的VLAN、保留VLAN时,该VLAN才是有效的授权VLAN。当认证服务器下发VLAN名称时,对应的VLAN必须为已存在的VLAN。
· 若认证服务器下发的授权VLAN信息为一个VLAN组名,则设备首先会通过组名查找该组内配置的VLAN列表。关于VLAN组的相关配置,请参见“网络互通配置指导”中的“VLAN”。
¡ 当端口链路类型为Hybrid,但端口链路类型为access或trunk时:
- 若端口上已有其他在线用户,则查看端口上在线用户的授权VLAN是否存在于该组中:存在,则将此VLAN授权给当前的认证用户;否则,认为当前认证用户授权失败,将被强制下线。
- 若当前用户为端口上第一个在线用户,则直接将该组VLAN中ID最小的VLAN授权给当前的认证用户。
· 若认证服务器下发的授权VLAN信息为一个包含若干VLAN ID以及若干VLAN名称的字符串,则设备首先将其解析为一组VLAN列表,然后采用与解析一个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的端口有效。
¡ 端口的缺省VLAN将被修改为untagged的授权VLAN。若不存在untagged的授权VLAN,则不修改端口的缺省VLAN。
¡ 端口将允许所有解析成功的授权VLAN通过。
该方式下,可以通过配置本地用户的授权属性指定下发给用户的授权VLAN信息,且只能指定一个授权VLAN。设备将此VLAN作为该本地用户的授权VLAN。关于本地用户的相关配置,请参见“用户接入与认证配置指导”中的“AAA”。
设备根据用户接入的端口链路类型和授权的VLAN是否携带Tag,按如下情况将端口加入到下发的授权VLAN中。需要注意的是,仅远程AAA服务器支持授权携带Tag的VLAN。
授权VLAN未携带Tag的情况下:
· 若用户从Access类型的端口接入,则端口离开当前VLAN并加入第一个通过认证的用户的授权VLAN中。
· 若用户从Trunk类型的端口接入,则设备允许下发的授权VLAN通过该端口,并且修改该端口的缺省VLAN为第一个通过认证的用户的授权VLAN。
· 若用户从Hybrid类型的端口接入,则设备允许授权下发的授权VLAN以不携带Tag的方式通过该端口,并且修改该端口的缺省VLAN为第一个通过认证的用户的授权VLAN。
授权VLAN携带Tag的情况下:
· 若用户从Access类型的端口接入,则不支持下发带Tag的VLAN。
· 若用户从Trunk类型的端口接入,则设备允许授权下发的VLAN以携带Tag的方式通过该端口,但是不会修改该端口的缺省VLAN。
· 若用户从Hybrid类型的端口接入,则设备允许授权下发的VLAN以携带Tag的方式通过该端口,但是不会修改该端口的缺省VLAN。
· 对于Hybrid端口,如果认证用户的报文携带VLAN Tag,则应通过port hybrid vlan命令配置该端口在转发指定的VLAN报文时携带VLAN Tag;如果认证用户的报文不携带VLAN Tag,则应配置该端口在转发指定的VLAN报文时不携带VLAN Tag。否则,当服务器没有授权下发VLAN时,用户虽然可以通过认证但不能访问网络。
· 在授权VLAN未携带Tag的情况下,授权给所有用户的VLAN必须相同,否则仅第一个通过认证的用户可以成功上线。
· 在授权VLAN携带Tag的情况下,设备会给不同的用户授权不同的VLAN,一个VLAN只能授权给一个用户。
MAC地址认证的Guest VLAN功能允许用户在认证失败的情况下访问某一特定VLAN中的资源,比如获取客户端软件,升级客户端或执行其他一些用户升级程序。这个VLAN称之为Guest VLAN。
需要注意的是,这里的认证失败是认证服务器因某种原因明确拒绝用户认证通过,比如用户密码错误,而不是认证超时或网络连接等原因造成的认证失败。
如果接入用户的端口上配置了Guest VLAN,则该端口上认证失败的用户会被加入Guest VLAN,且设备允许Guest VLAN以不携带Tag的方式通过该端口,即该用户被授权访问Guest VLAN里的资源。用户被加入Guest VLAN之后,设备将以指定的时间间隔对该用户发起重新认证,若Guest VLAN中的用户再次发起认证未成功,则该用户将仍然处于Guest VLAN内;若认证成功,则会根据AAA服务器/接入设备是否下发授权VLAN决定是否将用户加入到下发的授权VLAN中,在AAA服务器/接入设备未下发授权VLAN的情况下,用户回到缺省VLAN中。
· 当端口上配置的MAC地址认证的Guest VLAN中存在用户时,不允许切换该端口的链路类型。
· 若配置的静态MAC或者当前认证通过的MAC地址与静默MAC相同,则MAC地址认证失败后的MAC静默功能将会失效。
MAC地址认证配置任务如下:
(1) 开启MAC地址认证
(2) 配置MAC地址认证基本功能
¡ (可选)配置MAC地址认证定时器
(3) (可选)配置MAC地址认证授权VLAN功能
(4) (可选)配置MAC地址认证其它功能
· 配置MAC地址认证之前,请保证端口安全功能关闭,具体配置请参见“用户接入与认证配置指导”中的“端口安全”。
· 配置MAC地址认证之前,需完成配置ISP域和认证方式,具体配置请参见“用户接入与认证配置指导”中的“AAA”。
¡ 若采用本地认证方式,还需创建本地用户并设置其密码,且本地用户的服务类型应设置为lan-access。
¡ 若采用远程RADIUS认证方式,需要确保设备与RADIUS服务器之间的路由可达,并添加MAC地址认证用户帐号。
只有全局和端口的MAC地址认证均开启后,MAC地址认证配置才能在端口上生效。
端口上开启MAC地址认证之前,请保证端口未加入聚合组。
(1) 进入系统视图。
system-view
(2) 开启全局MAC地址认证。
mac-authentication
缺省情况下,全局的MAC地址认证处于关闭状态。
(3) 进入接口视图。
interface interface-type interface-number
(4) 开启端口MAC地址认证。
mac-authentication
缺省情况下,端口的MAC地址认证处于关闭状态。
当通过RADIUS服务器进行MAC地址认证时,MAC地址认证支持两种类型的认证方法:
· PAP认证方法通过用户名和密码来对用户进行验证,其特点是在网络上以明文方式传送用户名和密码,仅适用于对网络安全要求相对较低的环境。
· CHAP认证方法使用客户端与服务器端交互挑战信息的方式来验证用户身份,其特点是在网络上以明文方式传送用户名,以密文方式传输密码。与PAP相比,CHAP认证保密性较好,更为安全可靠。
设备上配置的认证方法必须和RADIUS服务器上采用的认证方法保持一致。
(1) 进入系统视图。
system-view
(2) 配置MAC地址认证采用的认证方法。
mac-authentication authentication-method { chap | pap }
缺省情况下,设备采用PAP认证方法进行MAC地址认证。
为了便于接入设备的管理员更为灵活地部署用户的接入策略,设备支持指定MAC地址认证用户使用的认证域,可以通过以下两种配置实现:
· 在系统视图下指定一个认证域,该认证域对所有开启了MAC地址认证的端口生效。
· 在接口视图下指定该端口的认证域,不同的端口可以指定不同的认证域。
端口上接入的MAC地址认证用户将按照如下顺序选择认证域:端口上指定的认证域 > 系统视图下指定的认证域 > 系统缺省的认证域。关于认证域的相关介绍请参见“用户接入与认证配置指导”中的“AAA”。
(1) 进入系统视图。
system-view
(2) 指定MAC地址认证用户使用的认证域。
¡ 配置全局MAC地址认证用户使用的认证域。
mac-authentication domain domain-name
¡ 配置接口上MAC地址认证用户使用的认证域。
interface interface-type interface-number
mac-authentication domain domain-name
缺省情况下,未指定MAC地址认证用户使用的认证域,使用系统缺省的认证域。
(1) 进入系统视图。
system-view
(2) 配置MAC地址认证用户的帐号格式。
¡ 配置MAC地址帐号。
mac-authentication user-name-format mac-address [ { with-hyphen [ six-section | three-section ] | without-hyphen } [ lowercase | uppercase ] ]
¡ 配置固定用户名帐号。
mac-authentication user-name-format fixed [ account name ] [ password { cipher | simple } string ]
缺省情况下,使用用户的MAC地址作为用户名与密码,其中字母为小写,且不带连字符“-”
可配置的MAC地址认证定时器包括以下几种:
· 下线检测定时器(offline-detect):用来设置用户空闲超时的时间间隔。若设备在一个下线检测定时器间隔之内,没有收到某在线用户的报文,将切断该用户的连接,同时通知RADIUS服务器停止对其计费。
· 静默定时器(quiet):用来设置用户认证失败以后,设备停止对其提供认证服务的时间间隔。在静默期间,设备不对来自认证失败用户的报文进行认证处理,直接丢弃。静默期后,如果设备再次收到该用户的报文,则依然可以对其进行认证处理。
· 服务器超时定时器(server-timeout):用来设置设备同RADIUS服务器的连接超时时间。在用户的认证过程中,如果到服务器超时定时器超时时设备一直没有收到RADIUS服务器的应答,则设备将在相应的端口上禁止此用户访问网络。
(1) 进入系统视图。
system-view
(2) 配置MAC地址认证定时器。
mac-authentication timer { offline-detect offline-detect-value | quiet quiet-value | server-timeout server-timeout-value }
缺省情况下,下线检测定时器为300秒,静默定时器为60秒,服务器超时定时器取值为100秒。
· 端口上生成的MAC地址认证Guest VLAN表项会覆盖已生成的阻塞MAC表项。开启了端口安全入侵检测的端口关闭功能时,若端口因检测到非法报文被关闭,则MAC地址认证的Guest VLAN功能不生效。关于阻塞MAC表项和端口的入侵检测功能的具体介绍请参见“用户接入与认证配置指导”中的“端口安全”。
· MAC地址认证Guest VLAN功能的优先级高于MAC地址认证的静默MAC功能,即认证失败的用户可访问指定的Guest VLAN中的资源,且该用户的MAC地址不会被加入静默MAC。
配置MAC地址认证的Guest VLAN之前,需要进行以下配置准备,具体配置方法可参见“网络互通配置指导”中的“VLAN配置”:
· 创建需要配置为Guest VLAN的VLAN。
· 配置端口类型为Hybrid,并建议将指定的Guest VLAN修改为不携带Tag的方式。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口的MAC地址认证Guest VLAN。
mac-authentication guest-vlan guest-vlan-id
缺省情况下,未配置MAC地址认证的Guest VLAN。
不同的端口可以指定不同的MAC地址认证 Guest VLAN,一个端口最多只能指定一个MAC地址认证Guest VLAN。
(4) 配置设备对MAC地址认证Guest VLAN中的用户进行重新认证的时间间隔。
mac-authentication guest-vlan auth-period period-value
缺省情况下,设备对Guest VLAN中的用户进行重新认证的时间间隔为30秒。
由于系统资源有限,如果当前端口下接入的用户过多,接入用户之间会发生资源的争用,因此适当地配置该值可以使端口上已经接入的用户获得可靠的性能保障。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口上最多允许同时接入的MAC地址认证用户数。
mac-authentication max-user max-number
缺省情况下,端口上最多允许同时接入的MAC地址认证用户数为4294967295。
端口同时开启了MAC地址认证和802.1X认证的情况下,某些组网环境中希望设备对用户报文先进行802.1X认证。例如,有些客户端在发送802.1X认证请求报文之前,就已经向设备发送了其它报文,比如DHCP报文,因而触发了并不期望的MAC地址认证。这种情况下,可以开启端口的MAC地址认证延时功能。开启该功能后,端口就不会在收到用户报文时立即触发MAC地址认证,而是会等待一定的延迟时间,若在此期间该用户一直未进行802.1X认证或未成功通过802.1X认证,则延迟时间超时后端口会对之前收到的用户报文进行MAC地址认证。
开启了MAC地址认证延迟功能的端口上不建议同时配置端口安全的模式为mac-else-userlogin-secure或mac-else-userlogin-secure-ext,否则MAC地址认证延迟功能不生效。端口安全模式的具体配置请参见“用户接入与认证配置指导”中的“端口安全”。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启MAC地址认证延迟功能,并指定延迟时间。
mac-authentication timer auth-delay time
缺省情况下,MAC地址认证延迟功能处于关闭状态。
是否对MAC地址在线用户进行周期性重认证由认证服务器决定。重认证的目的是检测用户连接状态的变化、确保用户的正常在线,并及时更新服务器下发的授权属性(例如VLAN)。认证服务器通过下发RADIUS属性(session-timeout、terminal-action)来指定用户会话超时时长以及会话中止的动作类型,它们共同决定了如何对用户进行重认证。
· 当会话中止的动作类型为要求用户进行重认证时,端口会在用户会话超时时长到达后对该用户进行重认证;
· 当会话中止的动作类型为要求用户下线时,端口会在用户会话超时时长到达强制该用户下线;
· 当认证服务器未下发用户会话超时时长时,设备不会对用户进行重认证。
认证服务器上如何下发以上RADIUS属性的具体配置以及是否可以下发重认证周期的情况与服务器类型有关,请参考具体的认证服务器实现。
端口对用户进行重认证过程中,重认证服务器不可达时端口上的MAC地址认证用户状态由端口上的配置决定。在网络连通状况短时间内不良的情况下,合法用户是否会因为服务器不可达而被强制下线,需要结合实际的网络状态来调整。若配置为保持用户在线,当服务器在短时间内恢复可达,则可以避免用户频繁上下线;若配置为强制下线,当服务器可达性在短时间内不可恢复,则可避免用户在线状态长时间与实际不符。
修改设备上配置的认证域或MAC地址认证用户的帐号格式,都不会影响在线用户的重认证,只对配置之后新上线的用户生效。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置重认证服务器不可达时端口上的MAC地址认证用户保持在线状态。
mac-authentication re-authenticate server-unreachable keep-online
缺省情况下,端口上的MAC地址在线用户重认证时,若认证服务器不可达,则用户会被强制下线。
在完成上述配置后,在任意视图下执行display命令可以显示配置后MAC地址认证的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除相关统计信息。
表1-1 MAC地址认证的显示和维护
操作 |
命令 |
显示MAC地址认证的相关信息 |
display mac-authentication [ ap ap-name [ radio radio-id ] | interface interface-type interface-number ] |
显示MAC地址认证连接信息 |
display mac-authentication connection [ ap ap-name [ radio radio-id ] | interface interface-type interface-number | slot slot-number | user-mac mac-addr | user-name user-name ] |
清除MAC地址认证的统计信息 |
reset mac-authentication statistics [ ap ap-name [ radio radio-id ] | interface interface-type interface-number ] |
清除Guest VLAN内MAC地址认证用户 |
reset mac-authentication guest-vlan interface interface-type interface-number [ mac-address mac-address ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!