◆毛新光
基于Linux多鏈路下DNS性能的研究與優(yōu)化
◆毛新光
(閩江學(xué)院現(xiàn)代教育技術(shù)中心 福建 350108)
隨著互聯(lián)網(wǎng)應(yīng)用的快速發(fā)展,大多數(shù)校園網(wǎng)采用了多出口的冗余網(wǎng)絡(luò)來(lái)提高網(wǎng)絡(luò)的穩(wěn)定性。這些對(duì)于傳統(tǒng)的DNS架構(gòu),不能構(gòu)建一個(gè)高效的校園網(wǎng)DNS服務(wù)器成為多出口校園網(wǎng)高效運(yùn)行的瓶頸。針對(duì)實(shí)際運(yùn)行過(guò)程中的弊端,本文提出了基于Linux、bind9的策略和防火墻映射相結(jié)合的DNS解決方案,從而提高了網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)效率和速度。
策略DNS;多出口;bind9
校園網(wǎng)絡(luò)建設(shè)的主要內(nèi)容是網(wǎng)絡(luò)應(yīng)用和網(wǎng)絡(luò)資源的建設(shè)。建設(shè)校園網(wǎng)的主要目的是利用校內(nèi)的網(wǎng)絡(luò)資源建設(shè)自己豐富的網(wǎng)絡(luò)應(yīng)用[1]。在建設(shè)網(wǎng)絡(luò)時(shí),除了建立常規(guī)網(wǎng)站的WWW服務(wù)器、郵件服務(wù)器、OA協(xié)同辦公系統(tǒng)外,域名服務(wù)器(DNS)的建設(shè)是園區(qū)網(wǎng)絡(luò)能否高效和性能達(dá)到最優(yōu)的關(guān)鍵。傳統(tǒng)的DNS服務(wù)器,是根據(jù)客戶的請(qǐng)求,然后由DNS進(jìn)行解析,這種是靜態(tài)DNS的特點(diǎn)。本文就拿高校來(lái)說(shuō),通常出口有多條鏈路,如教科網(wǎng)、電信、移動(dòng)、聯(lián)通等。采用多出口的鏈路的冗余,提高了網(wǎng)絡(luò)的穩(wěn)定性和可靠性。通常采用雙向和多向的DNS搭建應(yīng)用于校園網(wǎng),使得上網(wǎng)的速度有很大的提高。但存在一個(gè)瑕疵,這樣搭建的服務(wù)器,只能解決校內(nèi)用戶對(duì)公網(wǎng)的訪問(wèn),公網(wǎng)用戶訪問(wèn)校內(nèi)資源仍然很慢的問(wèn)題。針對(duì)這些問(wèn)題,本人進(jìn)行了深入的研究,提出了基于策略的智能解析和防火墻上端口映射相結(jié)合的方式進(jìn)行解析的方案。下面進(jìn)行闡述基于Red Hat Linux 6.8平臺(tái)的校園網(wǎng)多鏈路出口下域名服務(wù)器建設(shè)中遇到的一些問(wèn)題及采取的優(yōu)化措施。
Linux下DNS服務(wù)是通過(guò)Bind 9軟件的安裝實(shí)現(xiàn)的。BIND 9序列安裝包安裝后,會(huì)在Linux服務(wù)器上產(chǎn)生幾個(gè)固定的文件,分為兩類:一類是在/etc目錄下的配置文件,如hosts、named.conf和resolv.conf[2];另一類是在/var/named目錄下的記錄文件,如named.ca,加上其他相關(guān)文件,共同設(shè)置DNS服務(wù)器[3]。
本文以閩江學(xué)院為例來(lái)闡述,對(duì)公網(wǎng)資源訪問(wèn)慢的解決辦法。閩江學(xué)院校園網(wǎng),網(wǎng)絡(luò)的鏈路采用了兩條出口:一條是200M的CERNET,另一條是400M的CHINANET的出口。采用這種雙鏈路校園網(wǎng)訪問(wèn)公網(wǎng)速度慢的問(wèn)題得到了解決,但公網(wǎng)訪問(wèn)校園網(wǎng)慢的問(wèn)題更加突出。由于出口用的是H3C的F5020防火墻設(shè)備,校園網(wǎng)的公共服務(wù)器資源放在DMZ區(qū)域,服務(wù)器使用的是教育網(wǎng)IP地址。防火墻上所有的校園網(wǎng)服務(wù)器的入、出流量都經(jīng)由教育網(wǎng),避免了從其他ISP流出時(shí)由于NAT地址轉(zhuǎn)換造成了公網(wǎng)用戶無(wú)法訪問(wèn)校園網(wǎng)服務(wù)器的問(wèn)題。但此方案使得多出口校園網(wǎng)的帶寬利用率不足,另一方面其他運(yùn)營(yíng)商(移動(dòng)、電信、聯(lián)通)上的公網(wǎng)用戶訪問(wèn)校內(nèi)服務(wù)器仍然很慢。盡管校園網(wǎng)擁有高速的CERNET、CHINANET鏈路,但公網(wǎng)用戶卻只能通過(guò)有著帶寬瓶頸的教育鏈路才能訪問(wèn)到校園網(wǎng)的資源,這無(wú)疑是對(duì)CHINANET等出口鏈路的嚴(yán)重浪費(fèi)。
針對(duì)以上雙鏈路出口校園網(wǎng)的應(yīng)用背景,使用bind9提供view指令[4],為來(lái)自不同的IP地址對(duì)同一域名看的查詢提供不同的解析結(jié)果,即對(duì)于校園網(wǎng)中對(duì)外開放的各種服務(wù)器,DNS服務(wù)器對(duì)公網(wǎng)用戶提供公網(wǎng)IP地址,對(duì)教育網(wǎng)用戶提供教育網(wǎng)的IP地址,結(jié)合路由器的靜態(tài)NAT,使公網(wǎng)用戶訪問(wèn)校園網(wǎng)服務(wù)器走公網(wǎng)路由,教育網(wǎng)用戶訪問(wèn)校園網(wǎng)服務(wù)器走教育網(wǎng)路由,實(shí)現(xiàn)了DNS的基于策略的智能解析,徹底解決了教育網(wǎng)和公網(wǎng)之間的瓶頸問(wèn)題。
針對(duì)校園網(wǎng)的出口主要的雙鏈路教科網(wǎng)和電信雙出口。使用bind9提供的view指令,來(lái)為要訪問(wèn)的IP地址,提供基于策略的智能選路功能。在named.conf文件中定義訪問(wèn)控制列表:acl “列表名”{地址;…}。在options或zone語(yǔ)句中定義只匹配“列表名”列表的主機(jī)執(zhí)行遞歸查詢[5]。
Named.conf的默認(rèn)監(jiān)聽端口為53,一般情況下不要修改監(jiān)聽端口。而named用來(lái)查詢其他名字服務(wù)器時(shí)使用隨機(jī)的高UDP端口。而現(xiàn)在的園區(qū)網(wǎng)大都借助防火墻充當(dāng)內(nèi)部網(wǎng)絡(luò)的保護(hù)。在防火墻配置中應(yīng)注意開發(fā)DNS服務(wù)器的向外查詢所使用的端口。在/etc/named.conf配置文件中修改配置語(yǔ)句query-source address * port 固定向外查詢端口[6]。’
配置好DNS服務(wù)器之后,啟動(dòng)named服務(wù),然后運(yùn)行Linux操作系統(tǒng)中的nslookup,測(cè)試本例配置的正確性;然后在解析的客戶端機(jī)器上,在DOS操作命令行下,查看是否能正確地進(jìn)行解析[4]。教育網(wǎng)用戶在命令提示行下利用命令nslookup測(cè)試結(jié)果為:
測(cè)試的結(jié)果表明基于策略的DNS運(yùn)行良好,這樣外網(wǎng)教育網(wǎng)用戶和非教育網(wǎng)用戶在訪問(wèn)學(xué)校網(wǎng)站時(shí)通過(guò)基于策略的DNS獲得不同的鏈路之內(nèi)的地址,從而實(shí)現(xiàn)了教育網(wǎng)和電信雙出口進(jìn)行訪問(wèn)。
域名系統(tǒng)(DNS)是一種用于TCP/IP應(yīng)用程序的分布式數(shù)據(jù)庫(kù),它提供了主機(jī)名和IP地址之間的轉(zhuǎn)換以及有關(guān)電子郵件的路由信息[7]。本文主要討論了利用基于策略的DNS和防火墻的NAT功能相結(jié)合的方式,解決校園網(wǎng)多出口訪問(wèn)資源慢問(wèn)題[8]。實(shí)踐證明,該解決方案不僅能夠很好地解決校內(nèi)用戶訪問(wèn)internet資源速度的快捷,而且公網(wǎng)的用戶在校園網(wǎng)多出口狀況下訪問(wèn)校內(nèi)資源的速度也有明顯的提升。
[1]周增國(guó),龐有軍.Linux平臺(tái)下校園網(wǎng)DNS服務(wù)的設(shè)計(jì)與實(shí)現(xiàn)[J].大連理工大學(xué),2008:76-79.
[2]程一飛.在Linux下配置DNS[J].安慶師范學(xué)院學(xué)報(bào),2002:89-91.
[3]宋國(guó)柱.DNS在Linux環(huán)境中的實(shí)現(xiàn)[J].山西農(nóng)業(yè)大學(xué)學(xué)報(bào),2005:180-182.
[4]張小林.基于VMware下Linux網(wǎng)絡(luò)服務(wù)平臺(tái)的構(gòu)建[J].安慶師范學(xué)院學(xué)報(bào),2007:27-31.
[5]杜秀娟.園區(qū)網(wǎng)智能DNS服務(wù)器的構(gòu)建[J].青海師范大學(xué)學(xué)報(bào),2007:41-44.
[6](美)鮑爾.Red Hat Linux 7技術(shù)大全[M].機(jī)械工業(yè)出版社,2000:193-211.
[7]羅曉廣,曾鐘健.Linux網(wǎng)絡(luò)應(yīng)用教程[M].電子工業(yè)出版社,2008.
[8]梁廣民.基于紅旗Linux的DNS的配置與實(shí)現(xiàn)[J].吉林工程師范學(xué)院,2004:8-12.