如何配置基于用户认证的流量控制

内网用户分为Teacher、Student两组,来源IP地址都在192.168.1.0段内,无法按用户组分成不同IP地址段。需要给2组用户分配不同的带宽(例如:Teacher 40KBytes/s、Student 20KBytes)。
利用FortiOS V3.0MR6的新特性——基于用户认证的路由,将两组用户的流量分开,然后进行流量管理。如下图。

- 将FortiGate分成两个VDOM:auth(user authentication)& ts(traffic shaping),分别用于用户认证和流量控制;
- 两个VDOM之间以Inter-VDOM-link连接,可以节约物理端口以及不必要的外部连线,以下通过基于用户认证的路由方式,将Teacher组流量分配到teacherlink,Student组流量分配到studentlink;
- 在IAS Radius Server(Windows 2003 Active Directory Server)上建立2个用户:teacher和student,分别属于group1和group2用户组;
(点击放大)

配置Radius Client
(点击放大)

配置2条远程访问策略,分别对应teacher和student两组用户

Teacher策略:对应group1
(点击放大)

在teacher策略的高级属性中添加Fortinet的vendor-specific-attribute(VSA,radius属性号26),供应商代码:12356,符合RFC规则,供应商指派的属性:5,属性值:vlan226(此属性值自定义,跟FortiGate中的设置匹配)。

Student策略:对应group2,不定义Fortinet的VSA属性
注:FortiOS V3.0MR6的VSA属性表见下表:
#############################################################
# #
# Fortinet, Inc. #
# #
# RADIUS VSA Dictionary #
# #
# This RADIUS dictionary is to be used in conjunction #
# with FortiOS v3.00 MR6. #
# #
# Copyright 2007 #
# #
# Technical Support #
# http://www.fortinet.com/support #
# #
#############################################################
VENDOR Fortinet 12356
BEGIN-VENDOR Fortinet
ATTRIBUTE Fortinet-Group-Name 1 string
ATTRIBUTE Fortinet-Client-IP-Address 2 ipaddr
ATTRIBUTE Fortinet-Vdom-Name 3 string
ATTRIBUTE Fortinet-Client-IPv6-Address 4 octets
ATTRIBUTE Fortinet-Interface-Name 5 string
#
# Integer Translations
#
END-VENDOR Fortinet
参照上表内容,基于用户认证的路由选择需要使用的VSA属性为Fortinet-Interface-Name,因此使用属性编号为5。
- FortiGate 的VDOM: auth中关键配置如下:
config router static
edit 1
set device "studentlink0"
set gateway 2.2.2.2
next
end
//缺省路由指向studentlink
config firewall pulicy
edit 2
set srcintf "dmz"
set dstintf "studentlink0"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ANY"
set auth-path enable //启用auth-path
set groups "internet"
next
edit 4
set srcintf "dmz"
set dstintf "teacherlink0"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ANY"
next
//dmz->teacherlink的策略也允许
end
config router auth-path
edit "vlan226"
set device "teacherlink0"
set gateway 1.1.1.2
next
end
//当Radius认证返回VSA:Fortinet-Interface-Name=vlan226时,选择路径teacherlink;
由于用户teacher(group1)认证时返回该VSA,所以会自动选择teacherlink链路;用户student(group2)认证时不返回VSA,选择缺省路由studentlink链路。
- 在VDOM: ts中对teacherlink和studentlink设置不同的流量控制,实现设计目的。
config firewall pulicy
edit 1
set srcintf "teacherlink1"
set dstintf "wan1"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ANY"
set trafficshaping enable
set maxbandwidth 40
set nat enable
next
edit 2
set srcintf "studentlink1"
set dstintf "wan1"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ANY"
set trafficshaping enable
set maxbandwidth 20
set nat enable
next
end