基于VIEW技术门户网站多链路接入实现方法
2012-04-29高明虎
高明虎
摘要:随着中国互联网的发展,各网络服务提供商之间互联互通的瓶颈问题也随之暴露出来,许多高校纷纷申请多个网络服务提供商接入线路以达到访问外网的理想速度。但对内网的服务器特别是门户网站服务器的访问速度却不能解决。该文提出了多出口校园网环境中各公网出口快速访问校园网的解决方案,实现不同源网段的数据包由指定的接口进出。
关键词:DDNS;BIND+VIEW;网络互通
中图分类号:TP271文献标识码:A文章编号:1009-3044(2012)20-4803-03
由于教育网与网通、电信在互联互通上存在的众所周知的问题,很多高校校园网用户在访问网通和电信时的速度非常慢。一般情况下,学校的核心设备做了路由设置,访问教育网时走教育网链路,访问网通时走网通链路,其他情况从电信出去。但对于大多数高校来说,由于给予的电信和网通IP地址有限,服务器的IP地址通常是教育网的IP地址,这样以来,非教育网用户需要通过教育网的主干线路进入教育网才能访问到校园网的服务器,这样就造成非教育网用户访问教育网服务器时很慢。
针对此类问题,可以通过智能动态域名解析技术来解决,该方法使用了基于Bind的View技术,投入成本很小,效果明显。
1多出口校园网应用现状分析
云南民族大学为了保证教职工上网速度,于2011年在原来中国电信和教育完的基础上,增加了的中国网通的带宽,形成了多出口的复杂链路。
学校在出口路由上做了策略:当访问的目标地址属于教育网的地址范围内时,通过路由器的策略,从直连路由器的教育网出口通过NAT方式进行转发;当访问的目标地址在网通的地址范围内时,通过路由器的策略,从直连路由器的网通出口通过NAT方式进行转发;由于电信资源丰富,在其他情况下通过电信出口访问进行转发。通过这样的策略配置之后,可以保证校园网内的用户访问不同的资源走不同的链路。但由于学校的门户网站的IP地址是教育网地址,故在访问学校门户网站时,都是通过教育网进来,由于教育网和其他运营商之间的互通存在问题,将导致非教育网用户访问学校的门户网站时非常慢。
2 VIEW功能原理
BIND软件是大家常用的提供DNS服务器软件,内置在SOLARIS操作系统里面。从版本9开始,BIND支持view功能,我们可以通过ACL和VIEW,实现对学校门户网站的智能解析:教育网用户解析教育网地址,网通用户解析到网通地址,其他用户解析到电信地址,从而实现了DNS的智能解析功能。
BIND的配置语句很多,简单介绍一下该文用到的语句:
2.1 include语句
在配置文件中插入include语句中指定的文件的内容,语法如下:
include filename;
2.2 acl语句
acl即访问控制列表,和路由器中ACL作用一样,地址匹配列表,描述地址范围:
acl acl-name {
address_match_list;};
其中的参数是一个列表范围:如“202.203.144.0/24;”,其中参数末尾的分号不能省略。
BIND常用以下4个acl:
any所有主机;
none不匹配任何主机;
localhost匹配本地地址;
localnets匹配本地网络。
2.3 view语句
View可以根据访问用户的源地址或目的地址来解析相应门户网站的IP地址:
view view_name [class] {
match- clients { address_match_list } ;
match- destinations { address_match_list } ;
match- recursive- only yes_or_no ;
[ view_option; ...]
[ zone- statistics yes_or_no ; ]
[ zone_statement; ...]};
只要客户端的IP地址匹配了address_match_list中的地址,那么view中的zone就要被解析。
3配置应用
学校的门户网站服务器域名为www.ynni.edu.cn,提供了3个IP地址:教育网IP 202.203.144.28,电信IP 222.221.252.162 ,网通IP地址119.62.24.92。
1)编辑named.conf,位于/etc目录下:
部分内容:
options {
pid-file "/var/run/named.pid";
directory "/etc/named/";#相关文件目录
key "rndc-key" {
algorithm hmac-md5;
secret "4cVZVMTczpWrmoariIicPg==";
...};
#包含教育网、网通及电信的IP地址
include "acl_edu.txt";
include "acl_CNCC.txt";
include "acl_CHINANET.txt";
# view和match- clients的配置
view "view_jyw" {
match- clients {ACL_EDU; };
recursion yes;
zone "." {
type master;
type hint;
file "root.hint"; };
zone "0.0.127.in- addr.arpa" {
type master;
file "localhost.rev";
notify no;;};
zone "localhost" {
type master;
file "local.zone";};
zone " ynni.edu.cn.jyw" {
type master;
file " ynni.edu.cn.jyw.zone";};
zone "144.203.202.in- addr.arpa" {
type master;
file "144.203.202.in- addr.arpa.zone";};};
view "view_CNCC" {
match- clients {ACL_CNCC; }
……
zone " ynni.edu.cn.wt.zone " {
type master;
file " ynni.edu.cn.wt.zone";};
zone "24.62.119.in- addr.arpa" {
type master;
file "24.62.119.in- addr.arpa.zone";};};
view "view_any" {
match- clients {ACL_CHINANET; }
……
zone " ynni.edu.cn.any" {
type master;
file " ynni.edu.cn.any.zone";};
zone "252.221.222.in- addr.arpa" {
type master;
file "252.221.222.in- addr.arpa.zone";};};
2)分别编辑acl_edu.txt、acl_cncc.txt及acl_chinanet.txt,加入教育网、网通及中国电信的地址。3)分别编辑/etc/named/ynni.edu.cn.jyw.zone及反向解析地址文件,在文件中添加如下内容:……
www IN A 202.203.144.28
28 IN PTR www.ynni.edu.cn
…….
4)分别编辑/etc/named/ ynni .edu.cn.wt.zone及反向解析地址文件,在文件中添加如下内容:……
www IN A 119.62.24.92
92 IN PTR www.ynni.edu.cn
…….
5)分别编辑/etc/named/ynni .edu.cn.any.zone及反向解析地址文件,在文件中添加如下内容:……
www IN A 222.221.252.162
162 IN PTR www.ynni.edu.cn
…….
4存在的问题
通过以上配置后,用户会解析到自己运营商的地址,暂时解决了非教育网用户访问学校门户网站服务器速度慢的问题,但有下列限制: (l)各个运营商的IP地址更新频繁,因此要经常更新那三个TXT文件。(2)解析的地址是根据自己的DNS服务器解析结果,如果不是自动获得而是自己设置的DNS,则将出现访问慢的问题; (3)不能实现自动切换链路,如果其中的一个链路断掉,则所属运营商的用户不能访问该服务器。
参考文献:
[1]陆魁军.网络实战指南[M].北京:清华大学出版社,2007:696-702.
[2] Robert Love. Linux内核设计与实现[M].北京:机械工业出版社,2006(1).
[3]王振宇,施东炜.基于BIND域名解析服务管理的设计[J].计算机工程,2007,33( 15) : 134-137.