WINDOWS与LINUX下的DNS轮询配置
?11月12日我參加了51CTO的技術(shù)沙龍"Exchange Server系統(tǒng)升級與遷移",兩位老師的分享都比較精彩,也讓我學(xué)到了一些EXCHANGE在升級和遷移方面的知識和經(jīng)驗。記得當(dāng)時有位朋友問到DNS輪詢的問題,由于時間關(guān)系宋老師回答的比較簡略,在此我把這個問題展開一下,也算是一個補充吧。
?DNS輪詢就是指DNS服務(wù)器將域名解析請求按照A記錄的順序,逐一分配到不同的IP上,同時在一定程度上也實現(xiàn)了簡單的負載均衡。
?我們先看一下WINDOWS2003下如何設(shè)置DNS輪詢。比如:有兩臺WEB主機,A主機ip是 192.168.1.1,B主機ip是192.168.1.4 , 企業(yè)里有單獨一臺DNS服務(wù)器,然后在該DNS服務(wù)器的正向區(qū)域里(域名為haiquan.net)分別建立兩個主機A記錄,第一個主機記錄的記錄IP是192.168.1.1, 第二個主機記錄的記錄IP是192.168.1.4,附圖:
?然后在DNS主機QINGYG上點擊右鍵選擇屬性,在出現(xiàn)的對話框中勾選"啟用循環(huán)",如圖:
?注意:網(wǎng)絡(luò)掩碼排序可以根據(jù)子網(wǎng)掩碼來判斷dns地址和客戶端是否在同一個網(wǎng)段或者離的比較近,然后優(yōu)先返回較近的服務(wù)器的地址。
設(shè)置完畢后,我們看一下效果:
?注意:WINDOWS會緩存DNS結(jié)果,為方便觀察輪詢情況,我們需要用"ipconfig? /flushdns"來清空DNS緩存。
?
下面我們看一下LINUX下如何設(shè)置DNS輪詢,以RHEL 5為例:
1、首先需要安裝BIND并搭建DNS服務(wù)器(具體DNS搭建過程請參考相關(guān)資料)
#yum? install? -y? bind*? caching-nameserver*
安裝DNS服務(wù)器一般需要安裝以下三個數(shù)據(jù)包:
bind-utils-9.3.3-7.el5??????????查詢用
bind-chroot-9.3.3-7.el5?????????安全機制
caching-nameserver-9.3.3-7.el5? 配置文件
2、修改區(qū)域數(shù)據(jù)配置文件(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對應(yīng)了3個IP地址,此時具體選擇哪一條A記錄,是由rrset-order語句決定的。另外,在反向解析文件中,這3個IP也都要對應(yīng)mail主機,以免有些郵件服務(wù)器為了反垃圾郵件進行反向查詢時出現(xiàn)問題。
這是在 /etc/named.conf 文件中 options 語句有關(guān)rrset-order配置的一個例子:rrset-order { class IN type A name "mail.example.com" order random; order cyclic; }; 這個設(shè)置會使處于IN類中的A記錄的響應(yīng)以隨機順序返回,IN 類以"mail.example.com"為后綴。其他的記錄以循環(huán)記錄被返回。
rrset-order 支持三個參數(shù):fixed, random, cyclic 。
??fixed???? 將多個A記錄按配置文件的順序固定給出
??random???? 隨機給出
??cyclic???? 循環(huán)給出
注:rrset-order語句并不被BIND9支持,BIND9目前只支持"random-cyclic"排序,服務(wù)器隨機選擇RRset集中的開始點,有順序返回在那個點開始的記錄。 ? 3、測試看結(jié)果:
[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
?
總結(jié)一下:
? DNS輪詢的配置是比較方便的,如果網(wǎng)絡(luò)擴增,新增的Web服務(wù)器只要增加一個公網(wǎng)IP即可。 但相對來說,DNS輪詢也有其自身的一些缺點,這個工作當(dāng)中也是我們需要注意的。
?其一:如果某臺服務(wù)器宕機,DNS服務(wù)器是無法知曉的,仍舊會將訪問分配到此服務(wù)器。修改DNS記錄全部生效一般要1-3小時,甚至更久;
?其二:如果幾臺Web服務(wù)器之間的硬件配置不同,導(dǎo)致能夠承受的壓力也是不同的,但是DNS輪詢解析目前不能很好的按權(quán)重進行分配。
?其三:如果是需要身份驗證的網(wǎng)站,DNS解析無法將驗證用戶的訪問持久分配到同一服務(wù)器。雖然有一定的本地DNS緩存,但是很難保證在用戶訪問期間,本地DNS不過期,而重新查詢服務(wù)器并指向了新的服務(wù)器,那么原服務(wù)器保存的用戶信息是無法被帶到新服務(wù)器的,而且可能被要求重新認證身份,而且來回切換時間長了各臺服務(wù)器都保存有用戶不同的信息,對服務(wù)器資源也是一種浪費。
總結(jié)
以上是生活随笔為你收集整理的WINDOWS与LINUX下的DNS轮询配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 防止查看网页源代码
- 下一篇: 读书笔记12:观察者模式