高明虎
摘要:隨著中國互聯(lián)網(wǎng)的發(fā)展,各網(wǎng)絡服務提供商之間互聯(lián)互通的瓶頸問題也隨之暴露出來,許多高校紛紛申請多個網(wǎng)絡服務提供商接入線路以達到訪問外網(wǎng)的理想速度。但對內(nèi)網(wǎng)的服務器特別是門戶網(wǎng)站服務器的訪問速度卻不能解決。該文提出了多出口校園網(wǎng)環(huán)境中各公網(wǎng)出口快速訪問校園網(wǎng)的解決方案,實現(xiàn)不同源網(wǎng)段的數(shù)據(jù)包由指定的接口進出。
關(guān)鍵詞:DDNS;BIND+VIEW;網(wǎng)絡互通
中圖分類號:TP271文獻標識碼:A文章編號:1009-3044(2012)20-4803-03
由于教育網(wǎng)與網(wǎng)通、電信在互聯(lián)互通上存在的眾所周知的問題,很多高校校園網(wǎng)用戶在訪問網(wǎng)通和電信時的速度非常慢。一般情況下,學校的核心設備做了路由設置,訪問教育網(wǎng)時走教育網(wǎng)鏈路,訪問網(wǎng)通時走網(wǎng)通鏈路,其他情況從電信出去。但對于大多數(shù)高校來說,由于給予的電信和網(wǎng)通IP地址有限,服務器的IP地址通常是教育網(wǎng)的IP地址,這樣以來,非教育網(wǎng)用戶需要通過教育網(wǎng)的主干線路進入教育網(wǎng)才能訪問到校園網(wǎng)的服務器,這樣就造成非教育網(wǎng)用戶訪問教育網(wǎng)服務器時很慢。
針對此類問題,可以通過智能動態(tài)域名解析技術(shù)來解決,該方法使用了基于Bind的View技術(shù),投入成本很小,效果明顯。
1多出口校園網(wǎng)應用現(xiàn)狀分析
云南民族大學為了保證教職工上網(wǎng)速度,于2011年在原來中國電信和教育完的基礎(chǔ)上,增加了的中國網(wǎng)通的帶寬,形成了多出口的復雜鏈路。
學校在出口路由上做了策略:當訪問的目標地址屬于教育網(wǎng)的地址范圍內(nèi)時,通過路由器的策略,從直連路由器的教育網(wǎng)出口通過NAT方式進行轉(zhuǎn)發(fā);當訪問的目標地址在網(wǎng)通的地址范圍內(nèi)時,通過路由器的策略,從直連路由器的網(wǎng)通出口通過NAT方式進行轉(zhuǎn)發(fā);由于電信資源豐富,在其他情況下通過電信出口訪問進行轉(zhuǎn)發(fā)。通過這樣的策略配置之后,可以保證校園網(wǎng)內(nèi)的用戶訪問不同的資源走不同的鏈路。但由于學校的門戶網(wǎng)站的IP地址是教育網(wǎng)地址,故在訪問學校門戶網(wǎng)站時,都是通過教育網(wǎng)進來,由于教育網(wǎng)和其他運營商之間的互通存在問題,將導致非教育網(wǎng)用戶訪問學校的門戶網(wǎng)站時非常慢。
2 VIEW功能原理
BIND軟件是大家常用的提供DNS服務器軟件,內(nèi)置在SOLARIS操作系統(tǒng)里面。從版本9開始,BIND支持view功能,我們可以通過ACL和VIEW,實現(xiàn)對學校門戶網(wǎng)站的智能解析:教育網(wǎng)用戶解析教育網(wǎng)地址,網(wǎng)通用戶解析到網(wǎng)通地址,其他用戶解析到電信地址,從而實現(xiàn)了DNS的智能解析功能。
BIND的配置語句很多,簡單介紹一下該文用到的語句:
2.1 include語句
在配置文件中插入include語句中指定的文件的內(nèi)容,語法如下:
include filename;
2.2 acl語句
acl即訪問控制列表,和路由器中ACL作用一樣,地址匹配列表,描述地址范圍:
acl acl-name {
address_match_list;};
其中的參數(shù)是一個列表范圍:如“202.203.144.0/24;”,其中參數(shù)末尾的分號不能省略。
BIND常用以下4個acl:
any所有主機;
none不匹配任何主機;
localhost匹配本地地址;
localnets匹配本地網(wǎng)絡。
2.3 view語句
View可以根據(jù)訪問用戶的源地址或目的地址來解析相應門戶網(wǎng)站的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配置應用
學校的門戶網(wǎng)站服務器域名為www.ynni.edu.cn,提供了3個IP地址:教育網(wǎng)IP 202.203.144.28,電信IP 222.221.252.162 ,網(wǎng)通IP地址119.62.24.92。
1)編輯named.conf,位于/etc目錄下:
部分內(nèi)容:
options {
pid-file "/var/run/named.pid";
directory "/etc/named/";#相關(guān)文件目錄
key "rndc-key" {
algorithm hmac-md5;
secret "4cVZVMTczpWrmoariIicPg==";
...};
#包含教育網(wǎng)、網(wǎng)通及電信的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,加入教育網(wǎng)、網(wǎng)通及中國電信的地址。3)分別編輯/etc/named/ynni.edu.cn.jyw.zone及反向解析地址文件,在文件中添加如下內(nèi)容:……
www IN A 202.203.144.28
28 IN PTR www.ynni.edu.cn
…….
4)分別編輯/etc/named/ ynni .edu.cn.wt.zone及反向解析地址文件,在文件中添加如下內(nèi)容:……
www IN A 119.62.24.92
92 IN PTR www.ynni.edu.cn
…….
5)分別編輯/etc/named/ynni .edu.cn.any.zone及反向解析地址文件,在文件中添加如下內(nèi)容:……
www IN A 222.221.252.162
162 IN PTR www.ynni.edu.cn
…….
4存在的問題
通過以上配置后,用戶會解析到自己運營商的地址,暫時解決了非教育網(wǎng)用戶訪問學校門戶網(wǎng)站服務器速度慢的問題,但有下列限制: (l)各個運營商的IP地址更新頻繁,因此要經(jīng)常更新那三個TXT文件。(2)解析的地址是根據(jù)自己的DNS服務器解析結(jié)果,如果不是自動獲得而是自己設置的DNS,則將出現(xiàn)訪問慢的問題; (3)不能實現(xiàn)自動切換鏈路,如果其中的一個鏈路斷掉,則所屬運營商的用戶不能訪問該服務器。
參考文獻:
[1]陸魁軍.網(wǎng)絡實戰(zhàn)指南[M].北京:清華大學出版社,2007:696-702.
[2] Robert Love. Linux內(nèi)核設計與實現(xiàn)[M].北京:機械工業(yè)出版社,2006(1).
[3]王振宇,施東煒.基于BIND域名解析服務管理的設計[J].計算機工程,2007,33( 15) : 134-137.