邓成俊,刘 颖
(重庆电力高等专科学校,重庆400053)
随着学校数字校园网络信息化的不断发展,各高校校园网大多采用分别接入到教育网(CERNET)、中国电信(CHINANET)、中国联通(CHINAUNICOM)等多出口的链接方式来满足学校师生的需求。由于中国网络发展的特殊性,中国电信(CHINANET)、中国联通(CHINAUNICOM)按南北分家,互联网的骨干网也被一分为二了,北有网通、南有电信。为了有效利用各高校多出口网络带宽资源,提高网络访问速度,增强学校网络服务的可用性,通过智能DNS来解决校园网多出口访问速度慢问题,值得我们研究和探讨。
DNS的全称为(Domain Name System),又称为域名系统。域名系统是Internet使用的命名系统,实际上,人们将主机的名字叫做域名,其原因是Internet使用的命名系统定义了很多的域。主机要按照它所属的域来命名,因此叫做域名。域名系统是一个树形结构,主要分为COM(企业)、NET(网络运行服务机构)、GOV(政府机构)、EDU(教育网)等其他(见图1)。域名服务器的工作模式为C/S模式,它主要有两种服务方式:主域名服务器方式和转发服务器方式。将域名映射为IP地址的过程就称为“域名系统解析过程”。在Internet上域名与IP地址之间,普通DNS域名系统是一对一的关系,而智能DNS域名系统是多对一的关系。
图1 域名系统的树状结构
普通的DNS域名系统只负责为访问用户解析出该域名对应的网络IP地址,而不会去判断用户的源IP是从哪个ISP服务商访问该域名,这样就造成访问用户只能解析翻译到设置的IP地址上,而不能达到用户访问网络资源的最快捷访问方式。如:本校服务器利用普通DNS将域名:http://www.cqepc.com.cn解析到:中国联通的地址:124.162.57.228上。如果用户为中国电信用户,返回给用户的也是中国联通的地址。不管用户是教育网、中国电信,还是中国联通,返回的IP地址均为中国联通的IP地址。这就不能使用户能够更快捷的享受网络资源。
解析过程如图2所示。
图2 普通DNS域名系统解析过程
智能DNS域名系统是指把一个域名解析到多个IP地址上去,也就是将域名和多个ISP服务商IP进行对应连接起来。智能DNS会根据访问用户的源IP来进行判断,针对用户的源IP来进行智能化解析。当域名系统使用了智能DNS服务以后,智能DNS会主动判断用户源IP的ISP服务商,确定是教育网、中国电信还是中国联通的用户,然后通过优先选择的方式将域名系统所对应设置的IP地址返回教育网、中国电信、中国联通服务器的IP。如:本校服务器利用智能 DNS域名系统将域名:http://www.cqepc.com.cn同时解析到:教育网(222.198.177.8)、中国联通(124.162.57.228)、中国电信(222.177.247.130),从而使用户能够更快更方便选择自己的线路来访问到所需要的网络资源。
解析过程如图3所示。
图3 智能DNS域名解析过程
通过分析源IP技术,采用根据用户源IP地址智能解析最佳服务IP的方法,实现DNS智能解析,就能在多条接入线路的基础上,实现不同访问源、不同的服务器访问地址。以www.cqepc.com.cn为例,DNS解析结果如表1所示。
表1 分源解析示例
在校园网中假设一台反向代理服务器,这台服务器通过两块网卡同时接入到ChinaNet和CerNet。通过接入ChinaNet的网卡,反向代理服务器接收来自非教育网用户的访问请求并最终返回结果;通过接入CerNet的网卡,反向代理服务器高速访问校内教育网资源,并把结果返回给用户,同时把结果复制一份。
分源解析的技术实现有两种方法。一种是利用bind+iptables,其原理是在DNS服务器上运行多个bind,使用不同的配置文件且监听不同端口,利用iptables源地址的不同,用户的DNS解析请求转发到不同的端口,从而返回不同的解析结果;另一种是利用bind 9的view(视图)和acl(访问控制列表)功能。出于减少故障点、提高效率等方面考虑,实际应用中我们选择了只使用bind一个软件的第二种方法。如www.cqepc.com.cn在cqepc.cernet记录文件中,有记录指向222.198.177.8(CerNet教育网网段),在cqepc.chinanet记录文件中有记录指向222.177.247.130(ChinaNet电信网段),通过acl判断客户端源IP是否属于CerNet网段,如果是,用户访问www.cqepc.com.cn解析结果为222.198.177.8,否则解析结果为61.186.246.40,从而实现了DNS分源解析。配置文件示例如表2所示。
表2 DNS配置文件示例
3.2.1 软硬件环境
硬件:反向代理服务器硬件上的唯一要求是配备双网卡,另外根据访问量的大小关注内存、CPU和磁盘,显然访问量越大对这些硬件要求越高,本文对这部分不做定量分析。
操作系统:Redhat Enterprise Linux 4.0
软件:Squid-2.6.STABLES12
3.2.2 squid的编译安装
3.2.3 squid的配置
基本配置
在/etc/hosts中:加入内部的DNS解析,比如:
服务配置,所有的squid配置都集中在配置文件squid.conf中,略。
本文介绍的基于DNS分源解析及反向代理的解决方案,能够很好地解决校外非教育网访问学校资源慢的问题,且现有应用不受任何影响,具有配置灵活、可扩展性强等特点,同时利用了代理服务器的缓存功能,在一定程度上还进一步提升了访问应用的速度。具有较高的实践应用价值。
[1]吕 国,钟晓春,张梁,等.多出口校园网智能DNS服务器的配置[J].河北建筑工程学院学报,2008,(3).
[2]韩 钰,侯晶晶.策略路由与动态DNS技术在校园网中的应用与研究[J].中国教育信息化,2006,(13):30-32.
[3]赵 颖,杨红.动态DNS在校园网上的应用[J].西北民族大学学报:自然科学版,2005,(2):61.
[4]P aul Albitz.DNS与 B IND[M].北京:清华大学出版社,2003.
[5]马 听炜.Linux服务器配置手册[M].北京:科学出版社,2005.
[6]潘 中强,孙亚南.基于BIND 9架构的智能DNS实现[J].平顶山学院学报,2008,(5):81-83.