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