飞连通过 802.1X 校验员工接入 Wi-Fi 和有线网络时的身份,并向网络设备下发相应权限。本文介绍认证涉及的协议、报文交互流程、授权规则的匹配方式及常用 RADIUS 属性,帮助你结合抓包结果理解认证过程。
基本概念
IEEE 802.1X 是基于端口的网络接入控制标准,工作在数据链路层。飞连通过该协议校验员工接入 Wi-Fi 或有线网络时的身份。
802.1X 通过受控端口和非受控端口区分业务流量与认证流量。二者是共用物理链路的逻辑端口:
- 非受控端口(Uncontrolled Port) 始终保持双向开放,仅允许 EAPOL(EAP over LAN)认证相关报文通行,全程不阻断认证交互流量,确保终端在未完成认证前,可与认证者完成身份协商全流程。
- 受控端口(Controlled Port) 初始默认处于 未授权状态 ,限制业务数据报文通行;仅当终端完成身份认证并校验通过后,才会切换为 授权状态 ,开放正常网络访问权限,同时可同步应用认证服务器下发的精细化管控策略。
认证通过后,网络设备可应用认证服务器下发的动态 VLAN、ACL 和会话时长等授权策略。
802.1X 提供两种端口控制模式,适配不同接入场景(具体默认控制模式由各网络厂商确认):
- 基于端口的控制模式 :端口下单个终端认证成功后,所有接入该物理端口的终端均可获得网络访问权限,适用于端口下仅单终端接入的高安全有线场景。
- 基于 MAC 的控制模式 :端口下每个终端需独立完成身份认证,终端之间权限互不影响,是无线局域网、端口下多终端接入场景的主流模式。
由 RFC 3748 标准定义,是 802.1X 的认证内核。它本身是一个通用认证框架,不绑定具体的认证算法,支持灵活扩展各类认证方法,适配不同安全等级的接入场景。核心报文类型包括:
- EAP-Request:认证方发起的身份 / 校验请求报文。
- EAP-Response:申请方回复的认证响应报文。
- EAP-Success:认证最终通过的通知报文。
- EAP-Failure:认证最终失败的通知报文。
由 IEEE 802.1X 标准定义,是 EAP 协议在局域网二层链路的专用封装协议,以太网类型号为0x888E,用于在终端与认证者之间传输认证相关报文。核心帧类型包括:
- EAPOL-Start:终端主动发起认证的触发报文。
- EAPOL-Packet:承载核心 EAP 认证报文的主体帧。
- EAPOL-Logoff:终端主动下线请求报文。
- EAPOL-Key:无线局域网场景下的密钥协商报文。
EAP over RADIUS 用于在网络设备与认证服务器之间传递 EAP 报文,相关封装规则见 RFC 3579。RADIUS 的认证与授权、计费分别由 RFC 2865 和 RFC 2866 定义。核心特性如下:
- 基于 UDP 传输,飞连默认 无线 802.1X 认证端口 1812、计费端口 1813 ;默认 有线 802.1X 认证端口 2812、计费端口 2813 ;
- 通过EAP-Message属性封装完整 EAP 报文,实现 EAP 在认证者与认证服务器之间的端到端透传(EAP over RADIUS);
- 原生支持认证、授权、计费三合一功能,用于完成网络准入的认证、授权和计费。
账号入网使用 EAP-PEAP:先通过服务器证书建立 TLS 加密隧道,再在隧道内完成用户身份认证。以下以员工 Wi-Fi 和有线网络的账号认证为例。
认证流程
以下以终端主动发起的 EAP-PEAP 认证为例,说明各组件之间的交互。网络设备通过 EAP 中继转发终端与 RADIUS 服务器之间的认证报文。参与认证的角色及职责如下表所示。
交互过程整体分为 4 个核心阶段:
第一阶段:启动认证并识别终端身份
终端发起认证后,网络设备查询终端身份,并将 EAP 报文转发给 RADIUS 服务器,为建立 PEAP 隧道准备身份信息。下表按顺序列出启动认证、传递身份信息及发起 TLS 协商的交互步骤。
第二阶段:建立 PEAP 外层 TLS 隧道
本阶段先建立 PEAP 外层 TLS 加密隧道,再在隧道内执行用户身份认证。终端通过校验服务器证书确认服务器身份。下表以 TLS 1.2 为例,说明版本与密码套件协商、证书校验、密钥交换和握手确认的过程;实际握手消息取决于协商的密码套件。
第三阶段:在 TLS 隧道内验证用户身份
TLS 隧道建立后,终端和 RADIUS 服务器通过 EAP-MSCHAPv2 执行内层身份认证,使用挑战与响应进行校验,不直接传输用户密码。下表说明身份查询、挑战响应、结果校验与上报的交互顺序。
第四阶段:下发权限并上报计费信息
认证成功后,RADIUS 服务器向网络设备下发权限,网络设备放行终端并上报计费信息。下表说明授权和计费会话启动的过程。认证失败时,认证方返回 EAP-Failure,网络设备拒绝本次认证接入。
授权匹配与权限下发
飞连根据 RADIUS 请求报文和 EAP 认证过程匹配授权规则。请求需要满足规则中设置的所有条件,才会下发对应的权限组。
权限类型
- 员工 Wi-Fi:根据 RADIUS 报文中的目的端口 1812 来区分
- 员工有线网络:根据 RADIUS 报文中的目的端口 2812 来区分
认证方式
飞连账号认证采用 EAP-PEAP,对应账号入网的授权规则。
生效对象
- 员工授权(部门,角色):根据 EAP 报文交互的 Identity 字段的用户信息在 IAM 模块中查看用户所属权限
- 设备授权(设备,分组):根据 Calling-Station-Id 终端的 MAC 地址进行匹配设备 ID 信息。 移动终端无法获取 MAC 地址,或客户端启用随机 MAC 地址,导致无法通过 MAC 地址匹配设备 ID 并获取权限,需要通过 RADIUS 计费上报 IP(Framed-IP-Address)进行权限匹配和更新。
高级配置
- RADIUS 服务器:接收 RADIUS 认证请求报文的 RADIUS 服务器
- 网络设备:根据 RADIUS 认证请求报文的源 IP 匹配的网络设备
- SSID:根据 RADIUS 认证请求报文中的 Called-Station-Id 字段(NAS 设备的标识,通常为设备 MAC 地址 + SSID(无线场景))获取的 SSID
- RADIUS 属性:根据配置的 RADIUS 属性值进行准入匹配,用户属性符合配置条件时,才会下发对应的权限组。若配置了多个属性值,则需同时满足所有条件方可生效。
权限组策略
认证成功后,飞连通过 Access-Accept 报文向网络设备下发权限:
- 基于网络:Tunnel-Pvt-Group-ID 一般对应网络设备上的 VLAN ID,填写方式为纯数字(如 123)。
- 基于角色:Filter-ID 一般对应网络设备上预设的角色或者用户组、ACL,Filter-ID 填写方式为英文与数字组合(如 Dev1),若填写方式为纯数字可对应 ACL ID。
- 基于自定义:下发自定义的 RADIUS AVP 属性值,针对特殊场景使用。
授权完成且下发的权限符合预期后,如果仍出现 DHCP 无法获取 IP 地址、网络访问不通、访问慢或丢包等问题,需要结合网络侧检查,并请网络厂商协助排查。
RADIUS 属性
RADIUS 通过属性值对(AVP)传递用户身份、权限策略、计费数据及安全校验信息。查看报文时,可根据属性名称和取值识别认证请求、授权结果及会话状态。
RFC 2865 定义的 RADIUS 属性采用 TLV(Type-Length-Value)结构,由类型、长度和值三个字段组成,单个属性最大为 255 字节。各字段含义如下表所示。
常用 RADIUS 属性包括标准属性和厂商自定义属性(VSA):
- 标准 IANA 属性:由 IETF 通过 RFC 规范统一定义、IANA 分配 Type 编号,所有主流网络设备、RADIUS 服务器均通用支持,是 RADIUS 协议的基础能力载体。
- 厂商自定义 VSA 属性(Vendor-Specific Attribute):对应 Type=26,是 RFC 2865 专门定义的扩展属性,用于解决标准属性无法覆盖的厂商个性化需求(如私有权限策略、定制化计费、设备专属功能),是企业级网络准入、无线接入场景最常用的扩展能力。
认证请求属性
认证请求中的属性用于标识用户、终端和网络设备。下表列出常用属性及其作用,并区分 PAP、CHAP 与 PEAP 场景,便于查看 Access-Request 时判断字段的用途。
EAP 认证属性
EAP over RADIUS 通过 EAP-Message 承载 EAP 报文,并通过 Message-Authenticator 校验报文完整性。下表说明这两个属性在 PEAP 认证中的作用。
授权控制属性
认证通过后,RADIUS 服务器通过 Access-Accept 向网络设备返回授权信息。下表列出业务类型、访问控制、VLAN 分配和计费更新间隔相关的属性,可用于核对下发结果是否符合配置。
计费属性
计费报文记录终端会话的开始、更新和结束。下表列出会话标识、终端 IP、流量、在线时长及下线原因等属性,可用于关联同一会话的报文并查看会话状态。