答案是:完全可以,而且这是BRAS的标准做法。下面我将为您详细解释实现原理、具体步骤和参考案例。
一、 实现原理概述
整个流程可以概括为“
认证、授权、计费”三个步骤,其中“授权”环节是实现访问控制的关键:
- 认证(Authentication): 用户通过IPoE方式(通常是DHCP)获取IP地址,然后BRAS将用户信息(如IP、MAC、VLAN等)重定向到城市热点Portal进行身份认证(输入学工号/密码)。
- 授权(Authorization): 用户在城市热点认证成功后,城市热点服务器(作为RADIUS服务器)会向BRAS发送一个Access-Accept报文。这个报文中除了告知认证通过外,最关键的是会携带特定的RADIUS属性,例如
Class、Filter-Id、Vendor-Specific等,这些属性里就包含了“老师”或“学生”的标签信息。 - 策略执行(Policy Enforcement): BRAS收到RADIUS服务器下发的属性后,会将这些属性与本地预配置的QoS策略、ACL(访问控制列表)或用户组进行关联。之后,BRAS就会根据这些策略对用户的流量进行控制,例如允许/禁止访问某些资源、限制带宽等。
二、 具体实现方案与步骤
以下是实现此功能的详细步骤,以主流厂商(如华为、华三、锐捷)的BRAS为例,其核心思想相通。
方案一:通过RADIUS属性动态下发ACL(最常用)
这是最灵活和常见的实现方式。
- 在城市热点RADIUS服务器上配置:
- 创建两个不同的用户组,例如
Teachers和 Students。 - 为每个用户组配置RADIUS回复属性。当该组用户认证成功时,服务器会向BRAS下发预设的属性。
- 对于老师组,下发的属性可以设置为
Filter-Id = "acl-teacher"。 - 对于学生组,下发的属性可以设置为
Filter-Id = "acl-student"。 - 注:
Filter-Id是标准RADIUS属性,专门用于指定ACL名称。也可以使用厂商自定义属性(VSA),但 Filter-Id是通用性最好的。
- 在BRAS上配置:
- 创建ACL(访问控制列表): 定义老师和学生各自的访问规则。
# 创建老师ACL,允许访问所有资源(或根据实际需求限制)
acl name acl-teacher advanced
rule 5 permit ip # 允许访问所有IP资源
# 创建学生ACL,限制访问资源
acl name acl-student advanced
rule 5 permit ip destination 10.1.2.0 0.0.0.255 # 允许访问校内资源网段
rule 10 permit ip destination 210.31.1.10 0 # 允许访问图书馆系统
rule 15 deny ip # 禁止访问其他所有资源
- 在域(Domain)或AAA方案下启用动态授权: 确保BRAS能够识别并应用RADIUS服务器下发的
Filter-Id属性。通常这一步是默认开启的。 - (可选)在用户侧接口或域下绑定基础QoS: 可以先应用一个基础的带宽模板,更精细的带宽控制也可以通过RADIUS下发。
工作流程:- 学生张三认证成功。
- 城市热点RADIUS服务器向BRAS发送
Access-Accept,其中包含 Filter-Id = "acl-student"。 - BRAS收到后,立即在张三的会话上应用名为
acl-student的ACL。 - 此后,张三的所有流量都会经过
acl-student的检查,他只能访问规则中允许的内网资源,无法访问互联网或其他受限资源。
方案二:通过RADIUS属性动态分配用户组/用户Profile
一些BRAS设备支持将用户动态划分到不同的“用户组”或“Profile”,然后对这个组应用统一的策略。
- 在城市热点RADIUS服务器上配置:
- 下发给老师用户的属性可能是
HW-User-Group = "teacher"(华为VSA属性)或类似的自定义属性。
- 在BRAS上配置:
- 预先创建两个用户组
teacher和 student。 - 在每个用户组下绑定相应的ACL和QoS策略。
- 在AAA配置中,将RADIUS下发的
HW-User-Group属性与本地的用户组进行映射。
这种方案将策略配置集中在“用户组”下,管理起来更清晰,尤其当策略非常复杂时(包含带宽、并发会话数、ACL等)。
三、 参考案例(以校园网为例)
场景: 某大学校园网,要求老师可以无限制上网,学生只能访问校内资源和知网等学术网站,且学生的带宽为下行20Mbps/上行5Mbps。
配置要点:- 城市热点侧:
- 在老师用户的RADIUS回复属性中设置:
Filter-Id = "permit-all"。 - 在学生用户的RADIUS回复属性中设置:
Filter-Id = "limit-student",同时可以设置带宽属性,如 H3C-Output-Peak-Rate = 20480(下行20Mbps),H3C-Input-Peak-Rate = 5120(上行5Mbps)。
- BRAS侧:
- ACL配置:
acl name permit-all advanced
rule 5 permit ip
acl name limit-student advanced
rule 5 permit ip destination 10.0.0.0 0.255.255.255 # 允许访问整个校内地址段
rule 10 permit ip destination 123.123.123.123 0 # 允许访问知网IP
rule 15 deny ip # 禁止访问其他互联网
- QoS配置:
- 创建一个简单的QoS模板来限制并发会话数、连接数等(如果需要)。
- 验证:
- 老师认证后,可以打开百度、YouTube等外部网站。
- 学生认证后,可以打开学校教务系统、知网,但无法打开百度等外部网站,并且网速测试会被限制在20Mbps左右。
四、 实施建议与注意事项
- 明确需求: 首先必须明确“老师”和“学生”分别可以访问哪些资源(IP/域名),需要多大的带宽。
- BRAS与城市热点的对接调试: 这是最关键的一步。需要使用抓包工具(如Wireshark)在BRAS侧捕获RADIUS报文,确保城市热点下发的属性字段准确无误(特别是属性号和属性值)。常见的故障原因是属性值拼写错误或属性类型不匹配。
- BRAS厂商差异: 不同BRAS厂商对RADIUS属性的支持略有不同。请仔细查阅您所用BRAS的配置指南中关于“RADIUS属性介绍”和“授权策略”部分。华为、华三等厂商的文档非常详尽。
- 测试与验证: 先在少量测试用户上实施,使用
display access-user命令查看在线用户的详细信息,确认其应用的ACL和QoS策略是否正确,然后再大规模推广。
总结来说,您的需求是完全可行的标准操作。 核心在于配置城市热点服务器在认证回应报文中携带正确的用户身份标签(通过RADIUS属性),并在BRAS上预先配置好与这些标签对应的网络访问策略(ACL)和资源限制策略(QoS)。
暂无评论