基于LINUX的校园网计费系统的设计与实现(比较适合校园网络的计费)
基于LINUX的校园网计费系统的设计与实现(比较适合校园网络的计费) 基于LINUX的校园网计费系统的设计与实现1.概述
记费管理作为网络管理的五大功能之一,它能检测和控制网络操作的费用、代价,记录网络资源的使用情况,在cernet确定了有偿使用网络资源以及分担国际通信费用的原则后,国际通信费用由各个入网单位非但,只是的计费管理在网络管理中显得尤为重要。作为应县最大的网络管理功能、计费系统在整个网络管理中有着相当中重要的地位。
笔者在参与校园网建设的过程中,开发了杭电校园网络用户管理与计费系统HNUMS(以下简称HNUMS),采用Linux系统,使用C语言编程,基于包过滤方式,成功的实现了基于用户,面向各个网络出口(Cernet,Chinanet …….)和多种计费标准的流量计费管理软件。此计费系统具有以下特性:由用户自由选择网络出口,自定义防火墙规则,可容纳的客户机数量具有可扩充性,适用于各种规模的校园网络。
2.校园网的计费管理
校园网的计费管理本质上是以某种方式对校园网资源的使用情况加以度量,然后可预先规定的价格折算出相应的费用,度量的方法一般可基于时间或流量,我国绝大多数的校园网都采用基于流量计费的方法。
当前一种普遍流行的校园网流量计费方法是“基于IP的计费管理”,在校园网中采集客户机的IP数据流量,然后按单位价格折算出相应的费用,这种计费方法的特点是“以及为本”,对用户完全透明,数据的采集比较容易实现,但计费的对象是IP地址,容易出现盗用IP地址以逃避计费的现象,有些学校采用功能较强的交换机,将交换机的端口与IP绑定,尽管这种方法可以在一定程度上限制盗用IP(不能完全杜绝,在Linux下只需ifconfig就可达到修改MAC的目的,windows要修改注册表中的键值),但相应的交换设备价格较高,而且也限制了用户的灵活性,使得用户只能在绑定的计算机上网,由于这种计费方式是针对网卡机费的,因而导致部分学生或职工无偿使用“公家”的机器上网,这些弊病无疑会给校园网的计费带来很大的困难,是国家的或集体的利益受到损害。
另一种比较先进的校园网流量计费方法是“基于用户的计费管理”(例如清华大学的用户管理系统 http://usereg.tsinghua.edu.cn/),在校园网中通过用户认证等手段采集用户流量,这种方法的优点是“以人为本”,用户的流量与所使用的机器无关,无论是拨号上网,还是专线上网,无论是在计算中心,还是在学生寝室,计费方法都一样,谁上网谁花钱,公平合理,这种方法通过用户认证手段,有效地避免了IP盗用的现象,极大减轻了网络管理的负担,同时也有效的避免了国家利益的损失。
3.HNUMS的设计与实现
实现基于用户的计费管理,管挤在与用户流量信息的采集与保存,一般说来,在网络传输过程的底层所采集的“数据报”只包含了IP信息,所谓的用户名作为数据报的数据段无法分解出来,所以要取得“用户信息”,就必须在应用层采集信息,笔者研制的HNUMS就是一套将高层的用户认证与底层的IP数据流量结合起来,具有分布式处理功能的网络管理与计费软件。
3.1 用户认证
HNUMS采用实时认证方式,保证用户身份的合法性,为此设计了客户端用户认证程序,HNUMS服务器在用户提交身份信息后,验证用户的合法性,如果用户名密码以及IP,MAC等信息匹配,允许用户通过服务器,如果因为用户名口令错,预付款余额低于最低保证金等原因计费服务器为通过验证,则服务器拒绝服务。
为保证系统及用户数据的安全,客户端认证程序用密文与服务器通讯,密匙随机生成,所以对同一用户的同一口令,每次加密后产生的密匙与密文截然不同,从而极大的增加了破译难度。
3.2 用户访问控制
为实现用户的访问控制,代理服务器必须在完成代理功能之前截获用户的数据包,然后与定义好的访问规则比较,只允许匹配的包通过,而不必配的宝贝服务器丢掉。需要截获的用户信息包扩,用户的用户名,密码,当时上网的IP以及用户所要访问网站的IP地址,一方面禁止用户访问一些非法网站,另一方面,要判断用户所要访问的IP是否国内地址。用户的口令与密码可通过服务器的认证程序获取,该程序采用C语言编程,多路服用的socket模型,监听某一确定端口的用户请求;用户数据包的源IP,端口,协议,以及目标IP,端口协议,可用过Linux 2.4.x内核功能强大的Netfilter防火墙软件,其工作原理,如下。 A Packet Traversing the Netfilter System:
--->PRE------>[ROUTE]--->FWD---------->POST------>
Conntrack | Filter ^ NAT (Src)
Mangle | | Conntrack
NAT (Dst) | [ROUTE]
(QDisc) v |
IN Filter OUT Conntrack
| Conntrack ^ Mangle
| | NAT (Dst)
v | Filter
在PRE,FWD,POST,IN,OUT处设有五个“钩子”函数,HNUMS工作原理就是在PRE处截获用户数据包,作相应的转换,在FWD处匹配规则(每个用户一条规则,若无匹配,则丢弃该数据包),然后在POST作网络地址转换(NAT)后发送出去,作NAT的目的是为了解决IP地址不够用的问题。
4 HNUMS的特色
4.1 分布式多级转发服务,可容纳的客户机数量具有可扩充性
HNUMS的一个显著的特点是它的分布式代理转发功能,可适应各种不同容量的网络负载和多个网络出口的需求。采用“集中计费、分布代”的原则,由一台专用的服务器负责用户的认证及流量计费,其他服务器负责包转发服务及用户流量的采集。当一台代理服务器负载能力不足时,可采用多台代理服务器同时工作,不同的服务器对应于不同的网段,分散网络负载。实践证明,一台代理服务器的负载能力大约为同时在线300——500台计算机,可据此配置代理服务器的数量。由此可见、HNUMS可容纳的客户机数量具有可扩充性,这也是HNUMS与当前流行的基于代理的流量记费产品的本质区别。
3.2用户自主定义防火墙规则
HNUMS允许用户自动以防火墙规则,用户可以开启自己想要的服务,关闭不需要的服务,这样就可以防止大部分的网络攻击,尤其是DOS攻击最为有效,同时也可以避免产生不必要的国际流量,保护用户的利益不受损失。
3.3 支持网络地址转换功能(NAT)
随着Internet的不断发展与普及,IP地址的数量日显不足,使用内部地址是一个较好的解决办法。HNUMS采用双穴主机模式,即可支持内部的使用:内网卡接受校园网内部IP用户的请求,外网卡为Internet合法地址,将用户数据包作NAT,转换成外部地址。采用双穴主机模式,还可以在不改变基层局域网结构及IP地址的前提下将基层的局域网与校园网有效隔离,只需将HNUMS服务器的内网卡接在局域网上、外网卡接在校园网上,同时将其内网卡作为局域网的对外网关即可。局域网用户通过HNUMS代理服务器访问校园网乃至Internet,同时由HNUMS计费系统基于其流量计费。
5 小结
校园网的计费管理非常重要,其合理性、可靠性及安全性是用户非常关心的问题,校园网的计费管理不只是一个技术问题,也涉及到人员、组织、政策及经济等各方面的问题,值得深入研究与探索,笔者研制的分布式计费代理服务器HNUMS,正处于开发调试阶段 。由于篇幅所限和时间,本文略去了许多技术细节。
十 参考文献
【1】了解Check Point FW-1状态表 http://magazine.nsfocus.com/detail.asp?id=538
【2】A Stateful Inspection of FireWall-1 http://www.dataprotect.com/bh2000/
【3】Linux IPCHAINS-HOWTO http://www.linuxdoc.org
【4】防火墙新生代:Stateful-inspection http://www.liuxuan.com/safe/anquan/html/firewall/04.htm
【5】netfilter站点上的文档 http://netfilter.kernelnotes.org
【6】Cernet的研究与发展(第六卷) Cernet2001学术年会论文集
【7】Internet Firewalls:Frequently Asked Questions http://www.interhack.net/pubs/fwfaq
【8】Writing a Module for netfilter http://www.linux-mag.com/2000-06/gear_01.html
【9】ipchains的源代码分析 http://www.lisoleg.net/lisoleg/network/ipchains.zip
【10】内核防火墙netfilter入门 http://magazine.nsfocus.com/detail.asp?id=637
【11】Check Point Firewall-1 on Linux, Part Two
如有合作 意向请联系hzieewy@163.com qiujianben@163.com
杭州电子工业学院网络管理中心2002年一月