03-MAC地址认证配置
本章节下载: 03-MAC地址认证配置 (289.84 KB)
目 录
MAC地址认证是一种基于端口和MAC地址对用户的网络访问权限进行控制的认证方法,它不需要用户安装任何客户端软件。设备在启动了MAC地址认证的端口上首次检测到用户的MAC地址以后,即启动对该用户的认证操作。认证过程中,不需要用户手动输入用户名或者密码。若该用户认证成功,则允许其通过端口访问网络资源,否则该用户的MAC地址就被设置为静默MAC。在静默时间内(可通过静默定时器配置),来自此MAC地址的用户报文到达时,设备直接做丢弃处理,以防止非法MAC短时间内的重复认证。
若配置的静态MAC或者当前认证通过的MAC地址与静默MAC相同,则MAC地址认证失败后的MAC静默功能将会失效。
目前设备支持两种方式的MAC地址认证,通过RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)服务器进行远程认证和在接入设备上进行本地认证。有关远程RADIUS认证和本地认证的详细介绍请参见“安全配置指导”中的“AAA”。
根据设备最终用于验证用户身份的用户名格式和内容的不同,可以将MAC地址认证使用的用户帐户格式分为两种类型:
· MAC地址用户名格式:使用用户的MAC地址作为认证时的用户名和密码;
· 固定用户名格式:不论用户的MAC地址为何值,所有用户均使用设备上指定的一个固定用户名和密码替代用户的MAC地址作为身份信息进行认证。由于同一个端口下可以有多个用户进行认证,因此这种情况下端口上的所有MAC地址认证用户均使用同一个固定用户名进行认证,服务器端仅需要配置一个用户帐户即可满足所有认证用户的认证需求,适用于接入客户端比较可信的网络环境。
图1-1 不同用户名格式下的MAC地址认证示意图
当选用RADIUS服务器认证方式进行MAC地址认证时,设备作为RADIUS客户端,与RADIUS服务器配合完成MAC地址认证操作:
· 若采用MAC地址用户名格式,则设备将检测到的用户MAC地址作为用户名和密码发送给RADIUS服务器进行验证。
· 若采用固定用户名格式,则设备将一个已经在本地指定的MAC地址认证用户使用的固定用户名和对应的密码作为待认证用户的用户名和密码,发送给RADIUS服务器进行验证。
RADIUS服务器完成对该用户的认证后,认证通过的用户可以访问网络。
当选用本地认证方式进行MAC地址认证时,直接在设备上完成对用户的认证。需要在设备上配置本地用户名和密码:
· 若采用MAC地址用户名格式,则设备将检测到的用户MAC地址作为待认证用户的用户名和密码与配置的本地用户名和密码进行匹配。
· 若采用固定用户名,则设备将一个已经在本地指定的MAC地址认证用户使用的固定用户名和对应的密码作为待认证用户的用户名和密码与配置的本地用户名和密码进行匹配。
为了将受限的网络资源与未认证用户隔离,通常将受限的网络资源和用户划分到不同的VLAN。MAC地址认证支持远程AAA服务器/设备本地下发授权VLAN,即当用户通过MAC地址认证后,远程AAA服务器/设备本地将指定的受限网络资源所在的VLAN作为授权VLAN下发到用户认证的端口。该端口被加入到授权VLAN中后,用户便可以访问这些受限的网络资源。
设备根据用户接入的端口链路类型,按以下三种情况将端口加入下发的授权VLAN中。
· 若用户从Access类型的端口接入,则端口离开当前VLAN并加入下发的授权VLAN中。
· 若用户从Trunk类型的端口接入,则设备允许下发的授权VLAN通过该端口,并且修改该端口的缺省VLAN为下发的授权VLAN。
· 若用户从Hybrid类型的端口接入,则设备允许授权下发的VLAN以不携带Tag的方式通过该端口,并且修改该端口的缺省VLAN为下发的授权VLAN。需要注意的是,若该端口上使能了MAC VLAN功能,则设备将根据认证服务器下发的授权VLAN动态地创建基于用户MAC的VLAN,而端口的缺省VLAN并不改变。
只有开启了MAC VLAN功能的端口上才允许给不同的用户MAC授权不同的VLAN。其它情况下,授权给所有用户的VLAN必须相同,否则仅第一个通过认证的用户可以成功上线。
Guest VLAN功能允许用户在认证失败的情况下访问某一特定VLAN中的资源,比如获取客户端软件,升级客户端或执行其他一些用户升级程序。这个VLAN称之为Guest VLAN。
如果接入用户的端口上配置了Guest VLAN,则该端口上认证失败的用户会被加入Guest VLAN,且设备允许Guest VLAN以不携带Tag的方式通过该端口,即该用户被授权访问Guest VLAN里的资源。若Guest VLAN中的用户再次发起认证未成功,则该用户将仍然处于Guest VLAN内;若认证成功,则会根据AAA服务器/设备本地是否下发授权VLAN决定是否将用户加入到下发的授权VLAN中,在AAA服务器/设备本地未下发授权VLAN的情况下,用户回到加入Guest VLAN之前端口所在的VLAN。
Critical VLAN功能允许用户在所有认证服务器都不可达的情况下访问某一特定VLAN中的资源,这个VLAN称之为Critical VLAN。在端口上配置Critical VLAN后,若该端口上有用户认证时,所有认证服务器都不可达,则端口将允许Critical VLAN通过,用户将被授权访问Critical VLAN里的资源。已经加入Critical VLAN的端口上有用户发起认证时,如果所有认证服务器不可达,则端口仍然在Critical VLAN内;如果服务器可达且认证失败,且端口配置了Guest VLAN则,则该端口将会加入Guest VLAN;如果服务器可达且认证成功,则会根据认证服务器是否下发授权VLAN决定是否将用户加入到下发的授权VLAN中,在认证服务器未下发授权VLAN的情况下,用户回到加入Critical VLAN之前端口所在的VLAN。
由远程AAA服务器/设备本地下发给用户的ACL被称为授权ACL,它为用户访问网络提供了良好的过滤条件设置功能。当用户通过MAC地址认证后,如果远程AAA服务器/设备本地上为用户指定了授权ACL,则设备会根据下发的授权ACL对用户所在端口的数据流进行控制。为使下发的授权ACL生效,需要提前在设备上配置相应的ACL规则。而且在用户访问网络的过程中,可以通过改变远程AAA服务器/设备本地的授权ACL设置来改变用户的访问权限。
表1-1 MAC地址认证配置任务简介
开启MAC地址认证 |
||
配置MAC地址认证用户使用的认证域 |
||
配置MAC地址认证用户名格式 |
||
配置MAC地址认证定时器 |
||
配置端口上最多允许同时接入的MAC地址认证用户数 |
||
配置MAC地址认证延迟功能 |
||
配置MAC地址认证的Guest VLAN |
||
配置MAC地址认证的Critical VLAN |
||
配置MAC地址认证的重认证不可达动作 |
(1) 缺省情况下,对端口上接入的用户进行MAC地址认证时,使用系统缺省的认证域(由命令domain default enable指定)。若需要使用非缺省的认证域进行MAC地址认证,则需指定MAC地址认证用户使用的认证域(参见“1.6 指定MAC地址认证用户使用的认证域”),并配置该认证域。认证域的具体配置请参见“安全配置指导”中的“AAA”。
· 若采用本地认证方式,还需创建本地用户并设置其密码,且本地用户的服务类型应设置为lan-access。
· 若采用远程RADIUS认证方式,需要确保设备与RADIUS服务器之间的路由可达,并添加MAC地址认证用户帐号。
(2) 保证端口安全功能关闭。具体配置请参见“安全配置指导”中的“端口安全”。
端口上开启MAC地址认证之前,请保证端口未加入聚合组。
只有全局和端口的MAC地址认证均开启后,MAC地址认证配置才能在端口上生效。
表1-2 开启MAC地址认证
开启全局MAC地址认证 |
缺省情况下,全局的MAC地址认证处于关闭状态 |
|
开启端口MAC地址认证 |
缺省情况下,端口的MAC地址认证处于关闭状态 |
为了便于接入设备的管理员更为灵活地部署用户的接入策略,设备支持指定MAC地址认证用户使用的认证域,可以通过以下两种配置实现:
· 在系统视图下指定一个认证域,该认证域对所有开启了MAC地址认证的端口生效。
· 在二层以太网接口视图下指定该端口的认证域,不同的端口可以指定不同的认证域。
端口上接入的MAC地址认证用户将按照如下顺序选择认证域:端口上指定的认证域-->系统视图下指定的认证域-->系统缺省的认证域。关于认证域的相关介绍请参见“安全配置指导”中的“AAA”。
表1-3 指定MAC地址认证用户使用的认证域
指定MAC地址认证用户使用的认证域 |
缺省情况下,未指定MAC地址认证用户使用的认证域,使用系统缺省的认证域 |
|
interface interface-type interface-number |
表1-4 配置MAC地址认证用户名格式
配置MAC地址认证用户的用户名格式 |
MAC地址格式 |
缺省情况下,使用用户的MAC地址作为用户名与密码,其中字母为小写,且不带连字符“-” |
|
mac-authentication user-name-format fixed [ account name ] [ password { cipher | simple } password ] |
可配置的MAC地址认证定时器包括以下几种:
· 下线检测定时器(offline-detect):用来设置用户空闲超时的时间间隔。若设备在一个下线检测定时器间隔之内,没有收到某在线用户的报文,将切断该用户的连接,同时通知RADIUS服务器停止对其计费。
· 静默定时器(quiet):用来设置用户认证失败以后,设备停止对其提供认证服务的时间间隔。在静默期间,设备不对来自认证失败用户的报文进行认证处理,直接丢弃。静默期后,如果设备再次收到该用户的报文,则依然可以对其进行认证处理。
· 服务器超时定时器(server-timeout):用来设置设备同RADIUS服务器的连接超时时间。在用户的认证过程中,如果到服务器超时定时器超时时设备一直没有收到RADIUS服务器的应答,则设备将在相应的端口上禁止此用户访问网络。
表1-5 配置MAC地址认证定时器
配置MAC地址认证定时器 |
缺省情况下,下线检测定时器为300秒,静默定时器为60秒,服务器超时定时器取值为100秒 |
由于系统资源有限,如果当前端口下接入的用户过多,接入用户之间会发生资源的争用,因此适当地配置该值可以使端口上已经接入的用户获得可靠的性能保障。
表1-6 配置端口上最多允许同时接入的MAC地址认证用户数
配置端口上最多允许同时接入的MAC地址认证用户数 |
端口上最多允许同时接入的MAC地址认证用户数为4294967295 |
端口同时开启了MAC地址认证和802.1X认证的情况下,某些组网环境中希望设备对用户报文先进行802.1X认证。例如,有些客户端在发送802.1X认证请求报文之前,就已经向设备发送了其它报文,比如DHCP报文,因而触发了并不期望的MAC地址认证。这种情况下,就可以开启端口的MAC地址认证延时功能。
开启端口的MAC地址认证延时功能之后,端口就不会在收到用户报文时立即触发MAC地址认证,而是会等待一定的延迟时间,若在此期间该用户一直未进行802.1X认证或未成功通过802.1X认证,则延迟时间超时后端口会对之前收到的用户报文进行MAC地址认证。
需要注意的是,开启了MAC地址认证延迟功能的接口上不建议同时配置端口安全的模式为mac-else-userlogin-secure或mac-else-userlogin-secure-ext,否则MAC地址认证延迟功能不生效。端口安全模式的具体配置请参见“安全配置指导”中的“端口安全”。
表1-7 配置MAC地址认证延迟功能
开启MAC地址认证延迟功能,并指定延迟时间 |
缺省情况下,MAC地址认证延迟功能处于关闭状态 |
· MAC地址认证Guest VLAN功能的优先级高于端口安全中端口入侵检测的阻塞MAC功能,低于端口入侵检测的端口关闭功能,因此在开启了端口安全入侵检测的端口关闭功能时,MAC地址认证的Guest VLAN功能不生效。关于端口入侵检测功能的具体介绍请参见“安全配置指导”中的“端口安全”。
· MAC地址认证Guest VLAN功能的优先级高于MAC地址认证的静默MAC功能,即认证失败的用户可访问指定的Guest VLAN中的资源,且该用户的MAC地址不会被加入静默MAC。
· 如果某个VLAN被指定为Super VLAN,则该VLAN不能被指定为某个端口的MAC地址认证的Critical VLAN;同样,如果某个VLAN被指定为某个端口的MAC地址认证的Critical VLAN,则该VLAN不能被指定为Super VLAN。关于Super VLAN的详细内容请参见“二层技术-以太网交换配置指导”中的“Super VLAN”。
· 开启MAC地址认证特性。
· 端口的MAC VLAN功能已经使能。
· 已经创建需要配置为Guest VLAN的VLAN。
缺省情况下,没有配置MAC认证的Guest VLAN |
端口上生成的MAC地址认证Guest VLAN表项会覆盖已生成的阻塞MAC表项。开启了端口安全入侵检测的端口关闭功能时,MAC地址认证的Guest VLAN功能不生效。关于阻塞MAC表项和端口的入侵检测功能的具体介绍请参见“安全配置指导”中的“端口安全”。
· 开启MAC地址认证特性。
· 端口的MAC VLAN功能已经使能。
· 已经创建需要配置为Critical VLAN的VLAN。
缺省情况下,没有配置MAC认证的Critical VLAN |
表1-10 配置MAC地址认证的重认证不可达动作
mac-authentication re-authenticate server-unreachable keep-online |
缺省情况下,端口上的MAC地址在线用户重认证时,若认证服务器不可达,则会被强制下线 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后MAC地址认证的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除相关统计信息。
表1-11 MAC地址认证的显示和维护
显示MAC地址认证的相关信息 |
display mac-authentication [ interface interface-type interface-number ] |
显示MAC地址认证连接信息 |
|
清除MAC地址认证的统计信息 |
reset mac-authentication statistics [ interface interface-type interface-number ] |
清除Critical VLAN内MAC地址认证用户 |
|
清除Guest VLAN内MAC地址认证用户 |
如图1-2所示,某子网的用户主机与设备的端口GigabitEthernet1/0/1相连接。
· 设备的管理者希望在端口GigabitEthernet1/0/1上对用户接入进行MAC地址认证,以控制它们对Internet的访问。
· 要求设备每隔180秒就对用户是否下线进行检测;并且当用户认证失败时,需等待180秒后才能对用户再次发起认证。
· 所有用户都属于ISP域bbb,认证时使用本地认证的方式。
· 使用用户的MAC地址作用户名和密码,其中MAC地址带连字符、字母小写。
图1-2 启动MAC地址认证对接入用户进行本地认证
# 添加网络接入类本地接入用户。本例中添加Host A的本地用户,用户名和密码均为Host A的MAC地址00-e0-fc-12-34-56,服务类型为lan-access。
[Device] local-user 00-e0-fc-12-34-56 class network
[Device-luser-network-00-e0-fc-12-34-56] password simple 00-e0-fc-12-34-56
[Device-luser-network-00-e0-fc-12-34-56] service-type lan-access
[Device-luser-network-00-e0-fc-12-34-56] quit
# 配置ISP域,使用本地认证方法。
[Device-isp-bbb] authentication lan-access local
[Device-isp-bbb] quit
# 开启端口GigabitEthernet1/0/1的MAC地址认证。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] mac-authentication
[Device-GigabitEthernet1/0/1] quit
# 配置MAC地址认证用户所使用的ISP域。
[Device] mac-authentication domain bbb
# 配置MAC地址认证的定时器。
[Device] mac-authentication timer offline-detect 180
[Device] mac-authentication timer quiet 180
# 配置MAC地址认证用户名格式:使用带连字符的MAC地址作为用户名与密码,其中字母小写。
[Device] mac-authentication user-name-format mac-address with-hyphen lowercase
# 开启全局MAC地址认证。
#当用户接入端口GigabitEthernet1/0/1之后,可以通过执行display mac-authentication命令的显示信息看到Host A成功通过认证,处于上线状态,Host B没有通过认证,它的MAC地址被加入静默MAC列表。
如图1-3所示,用户主机Host通过端口GigabitEthernet1/0/1连接到设备上,设备通过RADIUS服务器对用户进行认证、授权和计费。
· 设备的管理者希望在端口GigabitEthernet1/0/1上对用户接入进行MAC地址认证,以控制其对Internet的访问。
· 要求设备每隔180秒就对用户是否下线进行检测;并且当用户认证失败时,需等待180秒后才能对用户再次发起认证。
· 所有用户都属于域bbb,认证时采用固定用户名格式,用户名为aaa,密码为123456。
图1-3 启动MAC地址认证对接入用户进行RADIUS认证
确保RADIUS服务器与设备路由可达,并成功添加了接入用户帐户:用户名为aaa,密码为123456。
# 配置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-isp-bbb] authentication default radius-scheme 2000
[Device-isp-bbb] authorization default radius-scheme 2000
[Device-isp-bbb] accounting default radius-scheme 2000
[Device-isp-bbb] quit
# 开启端口GigabitEthernet1/0/1的MAC地址认证。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] mac-authentication
[Device-GigabitEthernet1/0/1] quit
# 配置MAC地址认证用户所使用的ISP域。
[Device] mac-authentication domain bbb
# 配置MAC地址认证的定时器。
[Device] mac-authentication timer offline-detect 180
[Device] mac-authentication timer quiet 180
# 配置MAC地址认证使用固定用户名格式:用户名为aaa,密码为明文123456。
[Device] mac-authentication user-name-format fixed account aaa password simple 123456
# 开启全局MAC地址认证。
# 可使用display mac-authentication命令来显示MAC地址配置信息。
如图1-4所示,用户主机Host通过端口GigabitEthernet1/0/1连接到设备上,设备通过RADIUS服务器对用户进行认证、授权和计费,Internet网络中有一台FTP服务器,IP地址为10.0.0.1。现有如下组网需求:
· 在端口GigabitEthernet1/0/1上对用户接入进行MAC地址认证,以控制其对Internet的访问。认证时使用用户的源MAC地址做用户名和密码,其中MAC地址带连字符、字母小写。
· 当用户认证成功上线后,允许用户访问除FTP服务器之外的Internet资源。
图1-4 下发ACL典型配置组网图
· 确保RADIUS服务器与设备路由可达。
· 由于该例中使用了MAC地址认证的缺省用户名和密码,即使用用户的源MAC地址做用户名与密码,因此还要保证RADIUS服务器上正确添加了接入用户帐户:用户名为00-e0-fc-12-34-56,密码为00-e0-fc-12-34-56。
· 指定RADIUS服务器上的授权ACL为设备上配置的ACL 3000。
# 配置ACL 3000,拒绝目的IP地址为10.0.0.1的报文通过。
[Sysname] acl number 3000
[Sysname-acl-adv-3000] rule 0 deny ip destination 10.0.0.1 0
[Sysname-acl-adv-3000] quit
(2) 配置使用RADIUS服务器进行MAC地址认证
# 配置RADIUS方案。
[Sysname-radius-2000] primary authentication 10.1.1.1 1812
[Sysname-radius-2000] primary accounting 10.1.1.2 1813
[Sysname-radius-2000] key authentication simple abc
[Sysname-radius-2000] key accounting simple abc
[Sysname-radius-2000] user-name-format without-domain
[Sysname-radius-2000] quit
# 配置ISP域的AAA方法。
[Sysname-isp-2000] authentication default radius-scheme 2000
[Sysname-isp-2000] authorization default radius-scheme 2000
[Sysname-isp-2000] accounting default radius-scheme 2000
[Sysname-isp-2000] quit
# 开启全局MAC地址认证特性。
# 配置MAC地址认证用户所使用的ISP域。
[Sysname] mac-authentication domain 2000
# 配置MAC地址认证用户名格式:使用带连字符的MAC地址做用户名与密码,其中字母小写。
[Sysname] mac-authentication user-name-format mac-address with-hyphen lowercase
# 开启指定端口的MAC地址认证特性。
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] mac-authentication
[Sysname-GigabitEthernet1/0/1] quit
# 显示MAC地址配置信息。
<Sysname> display mac-authentication
Global MAC authentication parameters:
MAC authentication : Disabled
Username format : MAC address in lowercase(xx-xx-xx-xx-xx-xx)
Username : mac
Password : Not configured
Offline detect period : 180 s
Quiet period : 180 s
Server timeout : 100 s
Authentication domain : 2000
Max MAC-auth users : 1024 per slot
Online MAC-auth users : 2
Silent MAC users:
MAC address VLAN ID From port Port index
GigabitEthernet1/0/1 is link-up
MAC authentication : Enabled
Authentication domain : Not configured
Auth-delay timer : Disabled
Re-auth server-unreachable : Logoff
Guest VLAN : Not configured
Critical VLAN : Not configured
Max online users : 256
Authentication attempts : successful 1, failed 0
Current online users : 1
MAC address Auth state
00e0-fc12-3456 Authenticated
# 用户通过ping FTP服务器,可以验证认证服务器下发的ACL 3000是否生效。
Pinging 10.0.0.1 with 32 bytes of data:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!