动态源地址路由在校园网管理中的应用
2010-09-12钟锃光
钟锃光
(厦门大学经济学院教学实验中心,福建厦门361005)
动态源地址路由在校园网管理中的应用
钟锃光
(厦门大学经济学院教学实验中心,福建厦门361005)
本文作者结合工作实践,介绍了Router OS提供的动态策略路由在配置校园网中的应用,并特别介绍了几种基于动态源地址路由的常见疑难问题解决方案。
Router OS;校园网配置;策略路由;源地址路由
一、典型的双网环境
目前高校的校园网络通常接入中国教育和科研计算机网(CERNET),但是基于网络速度、互联互通、城域网共享等因素,部分高校校园网络还接入了本地的电信运营商网络。
图 典型的校园网双网环境拓扑
这种双网环境带来了路由问题,经过路由器的数据包要发送到哪一个出口?这就需要用到策略路由。策略路由是一种基于路由表来决定如何对需要路由的数据包进行处理的机制,路由表决定了一个数据包的下一跳转发路由器。
1.目的地址路由
一种策略路由是根据路由的目的地址来进行的,称为目的地址路由,目的地址路由已经被广泛支持,所以通常双网环境的路由方案是根据CERNET的范围,按照目标地址设定路由表:
/ip route
add dst-address=222.202.96.0/24 gateway=1.1.1.1 scope=255 target-scope=10
comment=""disabled=no
add dst-address=0.0.0.0/0 gateway=2.2.2.2 scope=255 target-scope=10
comment=""disabled=no
该配置设定:如果目标是222.202.96.0/24,数据包转发给CERNET路由器1.1.1.1,否则一律转发给电信网路由器2.2.2.2。
2.源地址路由
另一种策略路由是根据数据包源地址来进行策略实施的,称为源地址路由。而支持源地址路由的软硬件较少,只有部分昂贵的专业路由器才提供该项支持。而Router OS作为一种廉价路由器,基于强大的Linux内核,给用户提供了一种实现源地址路由的方式,这大大方便了复杂环境下校园网的管理工作。
大多数高级路由器提供的源地址路由工作还只能按照源地址做简单匹配判断。然而Router OS提供了IPtables的mangle(标记)机制,可以在路由分配前根据数据包的各种性质加以标记,然后在路由分配时,根据路由表中对各种标记设置的下一跳路由进行转发,这种方法极为强大和灵活。
二、校园网常见疑难问题的解决方案
1.按源地址分配出口
校园网管理中的一个常见需求就是按照地址来源分配出口。例如本文网络拓扑中172.16.1.0/24为教师工作室,172.16.2.0/24为学生宿舍,要求教师工作室缺省路由改为2.2.2.2使用电信出口。
/ip firewallmangle
add chain=prerouting src-address=172.16.1.0/24 action=mark-routing
new-routing-mark=teacherStudio passthrough=yes comment=""disabled=no
在路由分配前给来自172.16.1.0/24的数据包加上标记teacherStudio
/ip route
add dst-address=0.0.0.0/0 prefsrc=0.0.0.0 gateway=2.2.2.2
check-gateway=ping distance=0 scope=255 targetscope=10
routing-mark=teacherStudio comment=""disabled=no
在路由分配时根据路由标记查询路由表,把标记为teacherStudio的数据包送往电信路由器2.2.2.2。
2.在图书馆资源访问控制中的应用
高校购买的学术数据库资源一般是按照用户IP授权的,这就要求管理员设定路由表,保证访问数据库资源的数据包通过CERNET路由器1.1.1.1。为了解决这个问题,笔者查询了各数据库资源的IP地址并编入了静态路由表。但是随着数据库资源的增多、数据库资源本身IP的变化等,导致静态路由表的方法难以管理、经常失效,已不能满足要求。经调查发现访问数据库资源前,用户都要访问图书馆首页,笔者根据这种用户行为模式设计了一种动态策略:
/ip firewall mangle
add chain=prerouting dst-address=3.3.3.0/24 action= add-src-to-address-list
address-list=lib address-list-timeout=1h comment="" disabled=no
把所有访问图书馆网段3.3.3.0/24的IP地址加入address list(地址表)lib中
/ip firewallmangle
add chain=prerouting src-address-list=lib action= mark-routing
new-routing-mark=lib passthrough=yes comment="" disabled=no
把所有源地址来自地址表lib中的数据库加上标记lib
/ip route
add dst-address=0.0.0.0/0 gateway=1.1.1.1 scope=255 target-scope=10
routing-mark=lib comment=""disabled=no设定策略路由把标记为lib的数据包送往CERNET路由器1.1.1.1。这样一旦用户访问图书馆首页,所有数据包在address-list-timeout指定的时间内都会自动被发送到CERNET路由,解决了数据库访问这个难题。
3.在P2P管制中的应用
根据调查,校园网中80%的带宽被20%的P2P用户所占用。Router OS提供多种途径解决P2P控制问题,可以使用防火墙过滤,也可以使用总体流量控制。
/ip firewall filter
add chain=forward P2P=all-P2P time=8h-19h,fri,thu, wed,tue,mon action=drop
comment="P2P"disabled=no
该命令设定在周一到周五,8点到19点间不转发P2P数据包。经过试验,笔者发现防火墙配合基于标记和动态策略路由的方法最有效:
/ip firewallmangle
Add chain=prerouting src-address=172.16.0.0/16 P2P=all-P2P
time=8h-19h,fri,thu,wed,tue,mon action=add-srcto-address-list
address-list=P2P address-list-timeout=2h comment=""disabled=no
add chain=prerouting src-address-list=P2P action= mark-routing
new-routing-mark=P2P passthrough=yes comment=""disabled=no
周一到周五的8点到19点,使用任何P2P工具的IP被发现后会被记录到address-list(地址池)P2P中,有效期2小时,来自地址池P2P的数据包被加上一个P2P路由标记。
/ip route
add dst-address=0.0.0.0/0 gateway=1.1.1.2 scope=255
target-scope=10
routing-mark=P2P comment=""disabled=no
在有效期内,所有来自P2P地址池的数据包将被转发到一个不存在的下一跳路由。这样对P2P使用者是一种警告。如果不使用这种完全阻断的方式,也可以把下一跳路由设置为一个较慢的路由器。同时Router OS也提供带宽限制的方式。
三、结语
对于多个网络出口校园网的管理者来说,经常碰到各种难题,本文基于Router OS的动态路由管理机制,给出几个常见问题的解决方案,希望能为高校网络管理部门和技术人员提供参考。☉
[1]http://www.m ikrotik.com/[DB/OL]
[2]黎连业,张维,向东明.路由器及其应用技术[M].北京:清华大学出版社,2004.
[3]张新刚.浅析防火墙技术及其在高校校园网中的应用[J]. (中国)教育信息化,2006(5).
[4]张彬,苗军民,王东方.高校校园网出口的管控策略设计[J]. (中国)教育信息化,2007(4).
[5]http://www.edu.cn/xin_xi_zi_xun_1625/20100226/ t20100226_451443.shtm l.[DB/OL].
(编辑:隗爽)
book=9,ebook=36
TP393.07
B
1673-8454(2010)13-0009-02