引言: 筆者所在單位——西安鐵路局園區(qū)互聯(lián)網(wǎng)建設(shè)完成后,DNS查詢將不可避免的成為影響用戶上網(wǎng)質(zhì)量的因素之一。為解決問題,可在網(wǎng)站群建設(shè)中增加DNS緩存服務(wù)器基礎(chǔ)設(shè)施來消除DNS查詢延時問題。本地化DNS緩存服務(wù)器可以擺脫ISP提供的有限D(zhuǎn)NS地址,可以將多臺公共DNS服務(wù)器作為上端查詢服務(wù)器,保證整個上網(wǎng)過程的平穩(wěn)與無故障。
隨著企業(yè)私有數(shù)據(jù)中心建設(shè)的逐步深入和細(xì)化,以及跨網(wǎng)應(yīng)用軟件的逐步普及,將會有越來越多的部門級用戶通過集中接入出口網(wǎng)關(guān)訪問互聯(lián)網(wǎng)絡(luò)信息資源。用戶在互聯(lián)網(wǎng)環(huán)境下進行各種資源和網(wǎng)站的訪問以及數(shù)據(jù)交互,域名是重要的組成部分之一。
對于域名的服務(wù)一般由各地的ISP服務(wù)商提供2-4個DNS域名服務(wù)器,供本地的上網(wǎng)者使用。這就形成了這樣一個局面:上網(wǎng)的人很多,而實際服務(wù)的DNS服務(wù)器很少,一次域服務(wù)查詢請求需要耗費幾十至幾百毫秒,特別困難時間DNS查詢將會達到上千毫秒的耗時,同時也會消耗一定的網(wǎng)絡(luò)帶寬。一方面:ISP的DNS服務(wù)器數(shù)量有限,大量的用戶請求必然帶來DNS查詢排隊等待的時效性問題。另一方面:DNS服務(wù)器本身只是提供一種單純的服務(wù),這個服務(wù)對于各個ISP服務(wù)商來說基本沒有盈利的能力。雖然在網(wǎng)絡(luò)訪問中ISP提供的DNS服務(wù)器出現(xiàn)問題將導(dǎo)致用戶無法進行正常的網(wǎng)絡(luò)訪問,但處于成本考慮ISP也不會向用戶提供更多的DNS服務(wù)器。通過DNS速度測試可以看到,往往DNS查詢就會讓用戶體驗大打折扣。西安鐵路局園區(qū)互聯(lián)網(wǎng)建設(shè)完成后,DNS查詢將不可避免成為影響用戶上網(wǎng)質(zhì)量的因素之一。
為解決以上問題,可以在網(wǎng)站群建設(shè)中增加DNS緩存服務(wù)器基礎(chǔ)設(shè)施來消除DNS查詢延時問 題。DNS服務(wù)本地化。也就是說,當(dāng)用戶訪問一個域名時,他最先訪問的是自己機器上的DNS服務(wù)器,由本地DNS緩存服務(wù)器提供該域名的解析,這樣就將原來的缺少DNS服務(wù)器的局面完全改變。使用本地化DNS服務(wù)器后,最高可以提高20%的上網(wǎng)速度,可以獲得更快的網(wǎng)絡(luò)瀏覽速度。越是網(wǎng)絡(luò)帶寬不足或者質(zhì)量差,就越能體現(xiàn)本地化DNS服務(wù)器的作用。更為關(guān)鍵的是,本地化DNS緩存服務(wù)器可以擺脫ISP提供的有限D(zhuǎn)NS地址,可以將多臺公共DNS服務(wù)器作為上端查詢服務(wù)器,保證整個上網(wǎng)過程的平穩(wěn)與無故障。同時也可以減少用戶通過出口網(wǎng)關(guān)進行DNS查詢產(chǎn)生的數(shù)據(jù)流量,這些特點對于用戶來說是有實際意義的。
另 外,Dnsmasq作 為Linux系統(tǒng)上緩存DNS服務(wù)器安裝方便,操作簡單,非常適合作為本地DNS緩存服務(wù)器使用。
1.使用命令apt-get install dnsmasq(Debian/Ubuntu系列)或者yum install dnsmasq(RedHat系列)安裝dnsmasq軟件。
2.使 用vi /etc/dnsmasq.conf命令對該文件進行修改,修改內(nèi)容如下:
其中cache-size行表示DNS緩存區(qū)大小,以M為單位,建議根據(jù)機器內(nèi)存盡量設(shè)置的大一些,這樣有利于緩存足夠多的DNS并快速返回給下端DNS查詢用戶。
3.使用命令vi /etc/resolv.dnsmasq.conf編輯該文件,resolv.dnsmasq.conf中設(shè)置的是真正的上游DNS服務(wù)器,dnsmasq會首先尋找本地的hosts文件再去尋找緩存下來的域名,最后去上游DNS服務(wù)器尋找。
4.啟用防火墻規(guī)則(假定DNS監(jiān)聽IP地址192.168.0.71配置在eth0設(shè)備,用戶需要根據(jù)自己的實際進行修改):
通過以上配置,即可將客戶端主機DNS設(shè)置為該緩存DNS服務(wù)器地址,以獲取更高效快速的DNS查詢服務(wù),生產(chǎn)系統(tǒng)中可以配置兩臺這樣的緩存DNS服務(wù)器,以避免DNS單點故障。
使用GOOGLE提供的DNS基準(zhǔn)測試工具(DNS Benchmark)進行分析(如圖 1),圖中192.168.0.71為本地DNS緩存服務(wù)器,211.137.130.3為運營商ISP提供的默認(rèn)DNS服務(wù)器,其他為公共DNS權(quán)威服務(wù)器,測試中可以看到本地緩存DNS服務(wù)器各項指標(biāo)最好,同時,在Tabular Data選項框數(shù)據(jù)列表中我們也可以看到本地DNS的各項可靠性指標(biāo)均在100%,優(yōu)于ISP提供的默認(rèn)DNS服務(wù)器,同時由于本地DNS緩存服務(wù)器配置了多臺公共DNS服務(wù)器進行域名向上遞歸查詢,這樣即使ISP提供的DNS不可用,只要網(wǎng)絡(luò)通暢可達,也不會造成網(wǎng)絡(luò)的不可用。
圖1 DNS基準(zhǔn)測試分析