2. NAC架构与组件

NAC(Network Admission Control,网络准入控制)不是单一设备或单一软件,而是一套由多个角色协同完成“身份确认—策略判定—执行控制—持续审计”的体系。理解NAC,首先要理解五个核心组件各自的职责边界,以及它们之间通过什么协议、什么数据、在什么时机交互。很多工程实施失败,并非设备功能不足,而是角色定位混乱:把策略服务器当认证服务器用,把交换机当策略决策点用,或者让客户端承担了它不该承担的强制职责。

五个核心角色的职责定位

客户端(Supplicant / Agent)是终端侧的身份代言人。它可以是操作系统自带的802.1X supplicant、厂商的NAC Agent,也可以是无客户端的Web Portal方式。客户端负责收集终端身份信息(用户名、证书、MAC、设备指纹、补丁状态等),发起认证请求,并在认证通过后接收策略服务器下发的安全指令,例如隔离、修复、放行。需要强调:客户端是“信息提供者”和“策略接收者”,它本身不做出准入决策,也不具备强制力。

策略执行点(PEP,Policy Enforcement Point)是真正“卡住流量”的设备,通常是接入交换机、无线控制器、VPN网关或防火墙。PEP的职责非常明确:在认证未通过前阻断业务流量,只放行认证协议流量;认证通过后,根据策略服务器返回的授权结果,把端口或会话放入对应的VLAN、ACL或安全组。PEP是策略的“执行者”,不是“决策者”。它必须支持802.1X、MAC认证、Web认证或RADIUS CoA(Change of Authorization)中的至少一种机制。

认证服务器(Authentication Server)通常由RADIUS服务器承担,如Cisco ISE、FreeRADIUS、H3C iMC等。它负责验证客户端提交的凭据是否合法,例如校验用户名密码、数字证书、MAC地址或令牌。认证服务器回答的是“你是谁、凭据对不对”,它通常不负责复杂的业务策略编排。在小型部署中,认证服务器和策略服务器可能合设;但在中大型NAC架构中,二者逻辑上应分开理解。

策略服务器(Policy Server)是NAC的“大脑”。它综合认证结果、终端指纹、用户角色、时间、位置、合规状态等多维条件,计算出该终端应获得什么级别的网络访问权限,并把授权结果下发给PEP。策略服务器还负责CoA动态授权、终端画像、合规修复引导和审计日志。它回答的是“你能访问什么、以什么条件访问”。

目录服务(Directory Service)是身份数据的权威源,典型代表是Active Directory、LDAP或企业HR系统。目录服务存储用户账号、用户组、组织架构和属性信息。认证服务器在验证凭据时,往往需要向目录服务查询用户是否存在、账号是否禁用、所属组是什么。目录服务不直接参与网络控制,但它决定了“身份”的可信基础。

组件之间的交互关系

一次典型的802.1X准入过程,可以按以下顺序理解:终端接入交换机端口,PEP检测到链路up但尚未认证,只允许EAPOL流量通过;客户端发起EAPOL-Start,PEP向认证服务器发送RADIUS Access-Request;认证服务器与目录服务交互,校验用户凭据和属性;认证通过后,认证服务器把用户身份和组信息返回给策略服务器;策略服务器结合终端合规状态计算授权结果,例如“研发组+已打补丁=生产VLAN,市场组+未装杀毒=隔离VLAN”;PEP收到授权结果后,把端口切换到对应VLAN或下发ACL。如果终端后续状态变化,策略服务器可通过RADIUS CoA主动通知PEP重新授权,无需终端重新认证。

NAC五组件交互关系与准入数据流 客户端 Supplicant 终端身份采集 EAPOL / Web 认证发起 接收隔离/修复/放行指令 策略执行点 PEP 交换机 / 无线控制器 / VPN 端口阻断与VLAN/ACL下发 RADIUS Client / CoA 接收 策略服务器 多维条件策略计算 终端画像 / 合规判定 CoA 动态授权下发 认证服务器 RADIUS 凭据校验 / 证书验证 EAP 方法协商 认证结果返回 目录服务 AD / LDAP / HR 用户账号与组属性 身份权威源 EAPOL-Start RADIUS Access-Request LDAP 查询 认证结果+用户组 授权结果 / CoA 关键交互说明: 1. 客户端与PEP之间使用EAPOL(二层)或HTTP/HTTPS(Web Portal)交互,PEP是认证流量的“中转站”。 2. PEP与认证服务器之间使用RADIUS协议,PEP作为RADIUS Client,认证服务器作为RADIUS Server。 3. 认证服务器向目录服务查询用户身份;策略服务器综合认证结果与终端状态计算授权,并通过CoA通知PEP执行。

角色边界与常见误区

在实际工程中,最容易混淆的是“认证服务器”和“策略服务器”。认证服务器只回答“凭据是否正确”,策略服务器回答“该给什么权限”。例如,某用户密码正确,认证服务器返回Access-Accept,但如果该终端未安装杀毒软件,策略服务器仍可将其放入隔离VLAN。反过来,如果认证服务器返回Access-Reject,策略服务器通常不会介入授权计算,PEP直接拒绝接入。

另一个常见误区是把PEP当成策略决策点。PEP只执行策略服务器下发的授权结果,它不判断用户属于哪个部门、终端是否合规。PEP的配置重点是:认证前放行哪些协议、认证后如何映射VLAN/ACL、是否支持CoA、端口安全与MAB如何配合。如果PEP不支持CoA,动态授权就只能依赖终端重新认证,实时性会明显下降。

目录服务的角色也常被低估。目录服务中的用户组结构直接影响策略服务器的策略匹配效率。例如,AD中“研发部”组有200人,策略服务器可以基于组DN直接匹配策略,而不需要为每个用户单独配置规则。因此,在NAC实施前,目录服务的账号规范、组命名和属性完整性,往往比设备调试更值得投入时间。

一个可参考的准入判定示例

假设某企业接入交换机端口配置为802.1X认证,认证服务器为RADIUS,策略服务器与认证服务器合设。终端为Windows笔记本,用户属于AD“研发部”组,终端已安装公司规定的EDR客户端。策略服务器中的策略表可简化为:

条件 授权结果 PEP执行动作
研发部 + EDR已安装 + 补丁合规 生产VLAN 100 端口切换VLAN 100,放行全部业务ACL
研发部 + EDR未安装 隔离VLAN 900 端口切换VLAN 900,仅放行补丁服务器和EDR服务器
访客 + Web认证通过 访客VLAN 200 端口切换VLAN 200,仅放行互联网,限制内网访问
认证失败或超时 拒绝接入 端口保持未授权状态,仅放行EAPOL

这个示例说明:策略服务器是“条件—结果”的映射引擎,PEP是“结果—动作”的执行器,认证服务器是“凭据—身份”的校验器,目录服务是“身份—属性”的数据源,客户端是“终端—网络”的接入代理。五者各司其职,缺一不可。

工程提示:在规划NAC时,建议先画一张组件交互图,明确每个组件由哪台设备或哪套系统承担,再确认它们之间的协议和端口。例如,PEP到认证服务器通常使用UDP 1812/1813,CoA使用UDP 3799;认证服务器到目录服务通常使用LDAP 389/636。协议端口不通,后续策略再完美也无法生效。

理解这五个角色的交互关系,是后续学习802.1X认证流程、MAB、Web Portal、CoA动态授权和终端合规检查的基础。只有先分清“谁决策、谁执行、谁验证、谁提供身份、谁发起请求”,才能在真实网络中定位问题:认证失败先查认证服务器和目录服务,授权不生效先查策略服务器和PEP的CoA支持,终端无法上线先查客户端和PEP的认证前放行策略。