「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 地址不带有分隔符;