上一篇讲了 802.1X——它很安全,但有个硬伤:必须装客户端软件。打印机、摄像头、IP 电话这些东西装不了,访客的笔记本也不该让你装。所以实际环境里必须用别的方式兜底。

802.1X、MAC 认证与 Portal 认证三种准入方式的对比
▲ 三种准入方式的取舍,以及为什么实际项目都是组合使用

MAC 认证:给哑终端用的

原理很简单:把终端的 MAC 地址当作用户名和密码,去 RADIUS 服务器上比对。

三种触发方式,区别很大

方式怎么触发特点
MAC 旁路
mac-bypass
802.1X 认证失败或超时后,自动降级用 MAC 认证最常用。PC 走 802.1X,哑终端自动降级,一个端口搞定
MAC 优先
mac-priority
先试 MAC 认证,不行再走 802.1X哑终端多、PC 少的场景
纯 MAC 认证只做 MAC 认证适合纯粹的 IoT 接入端口(如摄像头专用口)
华为 · MAC 旁路(一个端口同时支持两类终端)
# PC 来 → 802.1X 认证
# 打印机来 → 802.1X 超时 → 自动降级为 MAC 认证

dot1x-access-profile name dot1x-prof
 dot1x authentication-method eap

mac-access-profile name mac-prof

authentication-profile name auth-prof
 dot1x-access-profile dot1x-prof
 mac-access-profile mac-prof
 authentication-scheme auth-1x
 radius-server rad1

interface GigabitEthernet0/0/1
 authentication-profile auth-prof

# ★ 服务器上要给每台哑终端建一个「用户名为 MAC 地址」的账号
#   用户名格式一般是  xxxx-xxxx-xxxx  (带连字符、小写)
#   不同厂商服务器格式要求不同,这是 MAC 认证最常见的坑

MAC 认证最大的坑是用户名格式。华为设备提交的 MAC 格式(带不带连字符、大小写、冒号还是短横)和服务器上建账号时的格式必须完全一致,否则永远认证失败。排错时先在服务器日志里看设备实际提交的字符串。

Portal 认证:给访客用的

Portal 认证的体验最好:终端连上网,随便打开一个网页,被重定向到一个登录页面,输入账号密码就通了。全程不需要装任何东西。

Portal 认证流程
① 终端拿到 IP(★ 认证前必须能拿 IP,这是和 802.1X 最大的区别)
② 终端访问任意网站(比如 http://example.com)
③ 设备拦截这个请求 → 返回 302 重定向到 Portal 页面
     http://portal.example.com/login?userip=10.1.1.10&...
④ 用户在 Portal 页面输入账号密码
⑤ Portal 服务器把凭据转给设备/RADIUS 验证
⑥ 验证通过 → 设备放行该终端的流量 + 记录在线表

★ 「认证前放行」是 Portal 的关键设计:
  必须放行 DHCP(拿地址)、DNS(解析域名)、到 Portal 服务器的 HTTP
  这些流量如果不放行,用户连登录页面都打不开

★ 也正因为要放行这些,Portal 的安全性弱于 802.1X
  —— 未认证终端已经能和这几个目标通信了

Portal 的两种部署形态

内置 Portal外置 Portal
页面放哪设备自己提供(简单页面)独立的 Portal 服务器
优点部署简单,不依赖额外服务器页面可定制、可对接短信/微信认证
缺点样式固定,功能有限多一台服务器,且要和设备联动
适用小型场景商场、酒店、企业访客

混合认证:一个端口覆盖所有终端

这才是实际项目的做法。把三种方式都挂上,让设备按终端能力自动选择:

华为 · 三种方式并存
authentication-profile name auth-prof
 dot1x-access-profile dot1x-prof      # ① 优先 802.1X(PC)
 mac-access-profile mac-prof          # ② 降级 MAC 认证(哑终端)
 portal-access-profile portal-prof    # ③ 最后 Portal(访客)
 authentication-scheme auth-1x
 radius-server rad1

# 认证顺序:802.1X → MAC → Portal
# ★ 顺序可以调,但一般把安全性最高的放最前

# 授权下发不同 VLAN,实现终端自动分流:
#   PC 认证成功   → VLAN 10(员工)
#   打印机认证成功 → VLAN 20(IoT)
#   访客 Portal   → VLAN 30(访客,带宽受限)
#   认证失败      → VLAN 99(隔离区)

排错

huawei
display access-user                    # ★ 所有在线用户(含认证方式)
display access-user username 0011-2233-4455
display mac-authentication connection  # MAC 认证在线用户
display portal user all                # Portal 在线用户
display portal server                  # Portal 服务器配置

display authentication-profile         # 认证模板绑定关系
display aaa online-fail-record all     # ★ 上线失败记录

reset access-user username xxx         # 强制下线重新认证

一句话总结:802.1X 给 PC,MAC 认证给哑终端,Portal 给访客。实际项目三者同时开、按能力自动降级,再配合授权下发不同 VLAN 实现终端自动分流。MAC 认证排错先查用户名格式。

📌 本篇整理自 2024–2025 的「数通」学习笔记(HCIE-Datacom 方向)

合并了原始笔记中「MAC 认证 / portal认证 / 混合认证」三页。
原笔记偏配置片段,本文补上了 MAC 用户名格式这个高频坑、Portal「认证前必须放行哪些流量」的完整清单,以及混合认证的推荐顺序。
配置命令按华为 VRP 新版认证模板语法整理。