「NAC」- MAC 认证(MAC Authentication)

  CREATED BY JENKINSBOT

MAC认证,是种基于端口和 MAC 地址对用户的网络访问权限进行控制的认证方法,它不需要用户安装任何客户端软件。
接入设备在启动了MAC认证的接口上首次检测到用户的MAC地址后,即启动对该用户的认证操作。

原理简述

以用户的MAC地址作为身份凭据到认证服务器进行认证;

特性特征

在认证过程中,不需要用户手动输入用户名或者密码。

应用场景

MAC 认证的应用场景:
1)哑终端的接入认证(如IP电话、打印机):哑终端表示相对于其他终端而言功能较为有限、交互方式比较单一,这里泛指无法输入用户名和密码等认证信息的终端。
2)不需要或用户无法安装任何客户端软件。
3)或结合认证服务器实现「MAC 优先的 Portal 认证」:当用户首次认证通过后,一定时间内免认证再次接入。

组网方式(网络结构)

包含认证客户端、接入设备、认证服务器。

在无线网络中:

触发认证的方式

缺省时,交换机收到DHCP/ARP/DHCPv6/ND报文后均能触发对用户进行MAC认证。支持通过配置,使交换机收到任意的数据帧后触发MAC认证。

在缺省情况下,MAC认证的用户名和密码均为不带分隔符“-”的MAC地址。如“0005e0112233”。

认证的交互流程

PAP

1)接入设备首次检测到终端的MAC地址,进行MAC地址学习,触发MAC认证。
2)接入设备生成一个随机值(MD5挑战字),并对MAC认证用户的[MAC地址、密码、随机值]依次排列后经过MD5算法进行加密,然后将用户名、加密后的密码以及随机值封装在RADIUS认证请求报文中发送给RADIUS服务器,请求RADIUS服务器对该终端进行MAC认证。
3)RADIUS服务器使用收到的随机值对本地数据库中对应MAC认证用户的[MAC地址、密码、随机值]依次排列后进行加密(MD5算法)处理,如果与设备发来的密码相同,则向设备发送认证接受报文,表示终端MAC认证成功,允许该终端访问网络。

CHAP

该方式的 MAC 认证与 PAP 方式的MAC认证相比,不同之处在于是:对MAC认证用户的[CHAP ID、MAC地址、随机值]依次排列后进行MD5算法加密。

MAC 旁路认证(MAC Authentication Bypass)

802.1X认证、MAC认证和Portal认证各有各的特点,可采用混合认证的方式来满足不同的应用场景与认证需求。

当接入设备接口下同时存在PC和打印机/传真机等哑终端时,可以通过MAC旁路认证功能,使不具备802.1X认证能力的哑终端能够通过MAC认证方式接入网络。

MAC旁路认证比单纯的 MAC 认证多一个 802.1X 认证环节(需要等待 dot1x 认证失败,而后 NAC-DEV 才会发起 MAC 认证),故时间要比MAC认证时间长。

配置案例

创建/进入MAC接入模板视图
[Huawei] mac-access-profile name access-profile-name
设备通过MAC接入模板统一管理MAC用户接入相关的配置。缺省情况下,设备自带1个名称为mac_access_profile的MAC接入模板。

配置MAC认证用户的认证方式
[Huawei-mac-access-profile-ProfileName] mac-authen authentication-method { chap | pap }
缺省情况下,MAC认证用户认证方式为PAP认证。MAC认证时,接入设备和认证服务器之间通过RADIUS报文进行交互,有PAP和CHAP两种交互方式,CHAP方式较PAP方式安全性更高。

配置能够触发MAC认证的报文类型
[Huawei-mac-access-profile-ProfileName] authentication trigger-condition { dhcp | arp | dhcpv6 | nd | any-l2-packet } 
缺省情况下,DHCP/ARP/DHCPv6/ND报文均能够触发MAC认证。

配置MAC认证用户采用的用户名形式
[Huawei-mac-access-profile-ProfileName] mac-authen username { fixed username [ password cipher password ] | macaddress [ format { with-hyphen | without-hyphen } [ password cipher password ] ]}
fixed username参数指定MAC认证用户采用的用户名为固定用户名。若不设置密码则用户无需使用密码即可登录,不建议使用。
macaddress参数指定MAC认证用户采用的用户名为MAC地址。若不设置密码则用户密码即为用户的MAC地址。当采用本地认证时,必须配置密码。
with-hyphen:指定MAC地址带有分隔符。
without-hyphen:指定MAC地址不带有分隔符。