相关栏目
院系热点

使用BIND实现双出口的校园网DNS解析优化

发布时间:2013年04月23日 来源: 信息与传媒学院 字体大小:
作者:王金恒 [网络教研室]



[摘要]由于教育网(CERNET)和电信网(CHINANET)之间的带宽瓶颈等问题,很多高校都采用同时接入CERNET和 CHINANET的双出口方案,以提高校园网对公网的访问速度。正常情况下校园网服务器使用的是教育网的域名和IP地址,所有对校园网服务器的访问都要走CERNET链路,这无疑是对CHINANET出口链路的严重浪费,同时也对教育网链路的严峻考验。本文结合校园网实际应用介绍了在RHEL5下使用BIND实现双出口校园网DNS解析的优化,使其根据不同互联网公众用户走不同链路。
[关键词]校园网;DNS;双出口;优化

随着信息技术的发展,大多数高校都接入CERNET(中国教育与科研网),此时,我们校内的用户去访问教育网的网络服务时速度很快,但是去访问电信网的网络服务器的速度就比较慢,原因是教育网与电信网之间的带宽瓶颈。为了保证校内用户访问电信网服务的速度也比较快,通常高校会同时把校园网接入到电信网,实现校园双出口,在出口的路由器上做一个路由策略,让校内用户访问教育网的网络服务走教育网的链路,访问电信网的网络服务走电信网的链路,由此,解决了校园网出口的瓶颈。
在解决出口瓶颈的同时,为互联网的公众用户却带来了困扰,因为校园网的网络服务器在教育网做的解析,也就是互联网上的用户访问校内的网络服务时,都走的是教育网的链路,教育网的用户访问校园网的网络服务器很快,但是电信用户访问校园网的网络服务时,速度就很慢,因为电信用户也要从教育网才能访问进来。为了解决互联网的公众用户访问校园内的服务的瓶颈问题,我们在BIND上使用TSIG技术做策略DNS解析,让教育网的用户访问校园网的网络服务走教育网,让电信网的用户访问校园网服务走教育网。
本文结合我校校园网实际情况,探讨如何在BIND上使用TSIG技术实现双出口DNS优化解决方案。
1.校园网网络环境
有1台WEB服务器,双网卡,双链路,向外发布学校校园信息,WEB服务器的域名为:www.thxy.edu.cn。
教育网的WEB服务器地址为:219.0.0.1,掩码:255.255.255.0
电信网的WEB服务器地址为:58.0.0.1,掩码:255.255.255.0
2、需求分析
校园网WEB服务采用双链路发布,教育网用户访问www.thxy.edu.cn时,解析的IP地址是219.0.0.1,走教育网链路进入校园网;电信用户访问www.thxy.edu.cn时,解析的IP地址是58.0.0.1,走电信网链路进入校园网。
3、解决方案
通过使用TSIG技术,在接收域名解析请求时,域名服务器能够按照客户端的网段,为其响应不同的解析信息,从而达到优化目的,正因为BIND是目前最为流行的DNS服务器软件,有90%多DNS服务器都是用BIND实现,以下是在Red Hat Enterprise Linux 5下用BIND实现。
3.1安装DNS
需要的rpm包如下:bind-libs-9.3.3-7.el5、bind-utils-9.3.3-7.el5、bind-9.3.3-7.el5、bind-chroot-9.3.3-7.el5、caching-nameserver-9.3.3-7。
3.2配置TSIG
使用TSIG技术,产生密钥,一个为public key文件,另一个为private key文件,生成两对key,用于电信和网通网段的设置。
记得产生密钥的文件夹:/var/named/chroot/etc
[root@localhost etc]# dnssec-keygen -a hmac-md5 -b 128 -n HOST CERNET
KCERNET.+157+55737
[root@localhost etc]#
[root@localhost etc]# dnssec-keygen -a hmac-md5 -b 128 -n HOST TELECOM
Ktelecom.+157+30926
3.3 把private key加入到named.conf文件中,同时删除zone “.” IN、zone “localhost” IN及zone“0.0.127.in-addr.arpa” IN的配置。
[root@localhost etc]# cat named.conf
key "CERNET" {
algorithm hmac-md5;
secret "N9z3yq95X3YpncDpzCTe2Q==";
};
key "TELECOM" {
algorithm hmac-md5;
secret "4BPLB7d64fHgS/oKIIUzzQ==";
};
3.4在named.conf配置acl与view,让acl识别不同的客户端在view里面做不同的解析
acl CERNET {
58.154.0.0/15;
58.192.0.0/12;

此为教育网的所有网络地址
};
view "CERNET" {
match-clients { CERNET;};
zone "thxy.edu.cn" IN {
type master;
file "cernet.thxy.edu.cn";
};

};
view "TELECOM" {
match-clients { any;};
zone "thxy.edu.cn" IN {
type master;
file "telecom.thxy.edu.cn";
};

};
3.5 编辑区域数据据文件
[root@localhost named]# cat cernet.thxy.edu.cn

dns IN A 219.0.0.53
www IN A 219.0.0.1
[root@localhost named]# cat telecom.thxy.edu.cn

dns IN A 58.0.0.53
www IN A 58.0.0.1
3.6 启动DNS服务
[root@localhost etc]#service named start
3.7 测试
教育网用户测试
[root@ localhost ~]# host www.thxy.edu.cn
www.thxy.edu.cn has address 58.0.0.1
电信网用户测试
[root@ localhost ~]# host www.thxy.edu.cn
www.thxy.edu.cn has address 219.0.0.1
4、结束语
从解决方案可以看出,当互联网公众用户访问www.thxy.edu.cn时候,就会根据其在网络解析出不同网络的IP地址,然后根据其在的不同网络链路去访问校园内的网络服务,通过其策略的实现,解决了公网用户访问校园网内网络服务带宽的瓶颈问题,实现了双出口DNS解析优化。
参考文献
[1] 陈涛.张强.韩羽.[LINUX服务攻畋].北京:清华大学出版社, 2008/6/1
[2] 李静梅.吴鹏.[智能DNS系统的设计与实现].计算机工程与应用 2007 /43 /11 P.157-160