[摘 要] 本文提出企業(yè)為了提高用戶對(duì)電子商務(wù)網(wǎng)站訪問的速度,必須要和大的ISP互聯(lián),并指出了這樣做存在的問題,然后簡(jiǎn)單介紹了域名系統(tǒng)和策略域名技術(shù),可以依據(jù)此技術(shù)來解決存在問題,最后給出了一個(gè)具體的示例。
[關(guān)鍵詞] 網(wǎng)絡(luò)互聯(lián) 域名系統(tǒng) 策略域名 BIND
目前,我國大的互聯(lián)網(wǎng)服務(wù)提供商(ISP)有好幾家,每家ISP內(nèi)部互訪速度都是很快的,但是這些ISP間互訪的速度由于其互聯(lián)的帶寬的制約,往往都是比較慢的,導(dǎo)致企業(yè)在部署電子商務(wù)網(wǎng)站時(shí)往往都需要同時(shí)接入這些ISP,才能保證大部分用戶的高速訪問。并且用戶訪問企業(yè)的電子商務(wù)網(wǎng)站時(shí),必須根據(jù)自己接入的ISP,去選擇相應(yīng)的企業(yè)電子商務(wù)網(wǎng)站,為了減輕用戶的負(fù)擔(dān),企業(yè)往往要聲請(qǐng)多個(gè)域名,每個(gè)域名對(duì)應(yīng)其接入的ISP。因此,這種辦法潛伏了兩個(gè)問題:一是用戶必須弄清楚自己接入的ISP是誰;二是用戶要去選擇該企業(yè)同本ISP對(duì)應(yīng)的域名,導(dǎo)致企業(yè)域名不一致。是否有一種辦法,可以讓用戶不受這兩個(gè)問題的困繞,而能實(shí)現(xiàn)在企業(yè)在具有多個(gè)出口時(shí)高速訪問其部署的電子商務(wù)網(wǎng)站呢?
本文以xx企業(yè)電子商務(wù)網(wǎng)站部署為應(yīng)用背景,探討依據(jù)策略DNS解決以上問題的一種方法,假設(shè)該企業(yè)同時(shí)接入了CerNet和ChinaNet這兩個(gè)大的ISP,CerNet分配的IP為:210.27.80.0/24,ChinaNet分配的IP為:61.150.47.0/24,企業(yè)申請(qǐng)的域名為:xx.com,網(wǎng)站的域名為:www.xx.com,對(duì)應(yīng)CerNet的202.115.144.30和ChinaNet的61.139.87.3。
一、策略域名技術(shù)
域名系統(tǒng)(DNS:Domain Name System)的功能是實(shí)現(xiàn)主機(jī)域名和IP地址之間的相互轉(zhuǎn)換。用戶訪問某臺(tái)服務(wù)器提供的服務(wù)時(shí),在應(yīng)用程序中基本上都是輸入服務(wù)器的域名,然后再由DNS服務(wù)器將此域名稱解析為與之對(duì)應(yīng)的IP地址,應(yīng)用程序最后都是依靠IP地址來和服務(wù)器通訊的。傳統(tǒng)的DNS系統(tǒng)對(duì)任何主機(jī)請(qǐng)求的域名,最后解析出的IP地址都是一樣的,不能根據(jù)不同的用戶解析出不同的IP地址。
策略域名就是在這種情況下產(chǎn)生的,它可以根據(jù)不同IP的請(qǐng)求將同一個(gè)域名解析為不同的IP地址或則應(yīng)用不同的安全策略(比如對(duì)內(nèi)網(wǎng)用戶提供遞歸解析服務(wù)的同時(shí)忽略外網(wǎng)用戶的遞歸解析請(qǐng)求)。換句話說,對(duì)于CerNet ISP的接入用戶和ChinaNet ISP的接入用戶,企業(yè)的相同域名最后對(duì)應(yīng)的IP地址是不同的。這樣的話,用戶訪問企業(yè)電子商務(wù)網(wǎng)站時(shí)由企業(yè)的DNS服務(wù)器根據(jù)用戶接入的ISP而解析出對(duì)應(yīng)該ISP的地址,讓用戶能高速訪問到自己的網(wǎng)站,不再需要用戶去搞清楚自己接入的ISP,再去選擇企業(yè)對(duì)應(yīng)的域名。
二、策略域名實(shí)現(xiàn)
Unix或Linux下的DNS服務(wù)軟件始終都是以Berkeley的BIND(Berkeley Internet Name Domain)程序?yàn)橹髁?。BIND 8或者以前的版本無法實(shí)現(xiàn)策略域名解析,但從BIND 9開始才出現(xiàn)了View語句,可以實(shí)現(xiàn)策略域名解析,該語句實(shí)際上就是針對(duì)不同的用戶建立了一個(gè)域名和IP地址映射環(huán)境,根據(jù)不同的用戶請(qǐng)求去查詢不同的映射表,從而實(shí)現(xiàn)策略域名解析的。
下面為/etc/named.conf文件的主要內(nèi)容:
acl edu-nets { 210.27.0.0/16;202.117.0.0/16;… };#所有教育網(wǎng)的網(wǎng)段列表(其中教育網(wǎng)的網(wǎng)段列表可以從教育科研網(wǎng)www.edu.cn獲取)
options{ directory “/var/named” #數(shù)據(jù)文件存放路徑
pid-file “/var/named/named.pid”;
};
view “CerNet”{ #定義名為CerNet的view
match-clients {edu-nets;};#匹配所有教育網(wǎng)的用戶
zone “.” {type hint;file “named.ca”;};
zone“0.0.127.IN-ADDR.ARPA”{type master; file “127.0.0”;};
zone “xx.com” {type master;file “xx.com.cernet”}; #教育網(wǎng)的解析文件
zone “144.115.202.in-addr.arpa” {type master;file “202.115.144”;};#教育網(wǎng)的反向解析文件
};
view “ChinaNet “{ #定義名為ChinaNet的view
match-clients {any;};#除了教育網(wǎng)以外的所有網(wǎng)絡(luò)
zone “.” {type hint; file “named.ca”};
zone“0.0.127.IN-ADDR.ARPA”{type master;file “127.0.0”;};
zone “xx.com” {type master;file “xx.com.chiannet”;};#公網(wǎng)的解析文件
zone“87.139.87.in-addr.arpa”{ type master;file“61.139.87”;};#公網(wǎng)的反向解析文件
};
然后設(shè)置/etc/named下的xx.com.cernet和xx.com.chiannet:
在xx.com.cernet文件中加上一條記錄:
www.xx.com IN A 202.115.144.30
在xx.com.chiannet文件中加上一條記錄:
www.xx.com IN A 61.139.87.30
經(jīng)過這樣的配置之后,策略域名就可以正常工作了,教育網(wǎng)用戶訪問www.xx.com網(wǎng)站時(shí),解析出的IP地址就是CerNet這個(gè)ISP分配的地址202.115.144.30,其他用戶訪問www.xx.com網(wǎng)站時(shí),解析出的IP地址就是ChinaNet這個(gè)ISP分配的地址61.139.87.30,這樣就滿足了企業(yè)只需一個(gè)域名便可以實(shí)現(xiàn)不同ISP用戶高速訪問電子商務(wù)網(wǎng)站的需求。
三、小結(jié)
本文在RedHat Linux操作系統(tǒng)下,用BIND 9.3.1實(shí)現(xiàn)了域名的策略解析,解決了不同ISP用戶訪問企業(yè)電子商務(wù)網(wǎng)站速度慢這個(gè)一直困擾的問題。
參考文獻(xiàn):
[1](美)PaulAlbitz CricBetLiu:DNS與BIND(影印版).北京:清華大學(xué)出版社,2003
[2]李蔚澤:Red Hat Linux 9架站實(shí)務(wù).北京:機(jī)械工業(yè)出版社,2005
[3]周明德:UNIX/Linux核心.北京:清華大學(xué)出版社,2004