WINDOWS與LINUX下的DNS輪詢配置

 11月12日我參加了51CTO的技術沙龍"Exchange Server系統升級與遷移",兩位老師的分享都比較精彩,也讓我學到了一些EXCHANGE在升級和遷移方面的知識和經驗。記得當時有位朋友問到DNS輪詢的問題,因爲時間關係宋老師回答的比較簡略,在此我把這個問題展開一下,也算是一個補充吧。linux

 DNS輪詢就是指DNS服務器將域名解析請求按照A記錄的順序,逐一分配到不一樣的IP上,同時在必定程度上也實現了簡單的負載均衡。緩存

 咱們先看一下WINDOWS2003下如何設置DNS輪詢。好比:有兩臺WEB主機,A主機ip是 192.168.1.1,B主機ip是192.168.1.4 , 企業裏有單獨一臺DNS服務器,而後在該DNS服務器的正向區域裏(域名爲haiquan.net)分別創建兩個主機A記錄,第一個主機記錄的記錄IP是192.168.1.1, 第二個主機記錄的記錄IP是192.168.1.4,附圖:

安全

 而後在DNS主機QINGYG上點擊右鍵選擇屬性,在出現的對話框中勾選"啓用循環",如圖:

服務器

 注意:網絡掩碼排序能夠根據子網掩碼來判斷dns地址和客戶端是否在同一個網段或者離的比較近,而後優先返回較近的服務器的地址。網絡

設置完畢後,咱們看一下效果:

負載均衡

 注意:WINDOWS會緩存DNS結果,爲方便觀察輪詢狀況,咱們須要用"ipconfig  /flushdns"來清空DNS緩存。dom

 

下面咱們看一下LINUX下如何設置DNS輪詢,以RHEL 5爲例:
一、首先須要安裝BIND並搭建DNS服務器(具體DNS搭建過程請參考相關資料)
#yum  install  -y  bind*  caching-nameserver*

安裝DNS服務器通常須要安裝如下三個數據包:
ide

bind-utils-9.3.3-7.el5          查詢用測試

bind-chroot-9.3.3-7.el5         安全機制網站

caching-nameserver-9.3.3-7.el5  配置文件

二、修改區域數據配置文件(example.com.db),這裏主要看一下DNS輪詢配置

            IN  MX  10  mail.example.com.  
... ...   

mail           IN      A       192.168.1.9 
               IN      A       192.168.1.10  
               IN      A       192.168.1.11 

在以上配置中,mail.example.com對應了3個IP地址,此時具體選擇哪一條A記錄,是由rrset-order語句決定的。另外,在反向解析文件中,這3個IP也都要對應mail主機,以避免有些郵件服務器爲了反垃圾郵件進行反向查詢時出現問題。

這是在 /etc/named.conf 文件中 options 語句有關rrset-order配置的一個例子
rrset-order {
class IN type A name "mail.example.com" order random;
order cyclic;
};
這個設置會使處於IN類中的A記錄的響應以隨機順序返回,IN 類以"mail.example.com"爲後綴。其餘的記錄以循環記錄被返回。

rrset-order 支持三個參數:fixed, random, cyclic 。
  fixed     將多個A記錄按配置文件的順序固定給出
  random     隨機給出
  cyclic     循環給出

注:rrset-order語句並不被BIND9支持,BIND9目前只支持"random-cyclic"排序,服務器隨機選擇RRset集中的開始點,有順序返回在那個點開始的記錄。
 
三、測試看結果:

[root@linux252:/]#host  mail.example.com

 

mail.example.com  has address 192.168.1.9

 

mail.example.com  has address 192.168.1.10

 

mail.example.com  has address 192.168.1.11

 

總結一下:

  DNS輪詢的配置是比較方便的,若是網絡擴增,新增的Web服務器只要增長一個公網IP便可。 但相對來講,DNS輪詢也有其自身的一些缺點,這個工做當中也是咱們須要注意的。

 其一:若是某臺服務器宕機,DNS服務器是沒法知曉的,仍舊會將訪問分配到此服務器。修改DNS記錄所有生效通常要1-3小時,甚至更久;

 其二:若是幾臺Web服務器之間的硬件配置不一樣,致使可以承受的壓力也是不一樣的,可是DNS輪詢解析目前不能很好的按權重進行分配。

 其三:若是是須要身份驗證的網站,DNS解析沒法將驗證用戶的訪問持久分配到同一服務器。雖然有必定的本地DNS緩存,可是很難保證在用戶訪問期間,本地DNS不過時,而從新查詢服務器並指向了新的服務器,那麼原服務器保存的用戶信息是沒法被帶到新服務器的,並且可能被要求從新認證身份,並且來回切換時間長了各臺服務器都保存有用戶不一樣的信息,對服務器資源也是一種浪費。

相關文章
相關標籤/搜索